{"domain":"portfolio.fit","name":"PortfolioFit","url":"https://inite.ai/en/atlas/portfolio.fit","site":"https://portfolio.fit","summary":"Runs deterministic portfolio limit checks and historical return and risk calculations from holdings or dated price series, returning traceable analysis records.","forWhom":"Investment teams and advisers checking portfolios against mandate limits from within an AI agent.","useCases":["check holdings against a single-holding weight limit","calculate cumulative return and drawdown from a dated series","flag missing holdings before a whole-portfolio mandate verdict"],"categories":["finance"],"pricing":{"model":null,"freeTier":null,"startsAt":null,"page":"https://portfolio.fit/pricing","readOn":"2026-10-21"},"priceMoves":[],"interfaces":{"readOn":"2026-10-21","apiDocs":null,"openapi":null,"mcp":[{"name":"fit.portfolio/portfoliofit","tie":"namespace","remotes":["https://portfolio.fit/mcp"],"packages":[],"probe":{"state":"open","checkedOn":"2026-10-21","toolCount":10,"tools":["list_analysis_portfolios","list_portfolio_series","list_analyses","get_analysis","evaluate_portfolio_alignment","calculate_portfolio_constraints","upload_portfolio_series_rows","cancel_portfolio_series_upload","review_portfolio_series_profile","calculate_portfolio_statistics"],"serverName":"PortfolioFit"}}],"mcpServerCard":null,"status":null},"mcpMeasured":{"server":"https://portfolio.fit/mcp","checkedSince":"2026-10-21","dailyChecks":4,"uptimePercent":null,"medianMs":596,"signIn":"none","tools":10,"contextTokens":5418,"definitionsGrade":"B","definitionsScore":85,"typedResults":10,"failingChecks":{"params_described":9},"warnings":{"open_writes":["upload_portfolio_series_rows","cancel_portfolio_series_upload"]},"coverage":{"share":null,"cases":[{"useCase":"check holdings against a single-holding weight limit","verdict":"unsure","firstTool":null,"checks":["The analysis record flags each holding that exceeds the single-holding weight limit.","The check covers the holdings submitted.","Holdings within the limit are marked as passing."]},{"useCase":"calculate cumulative return and drawdown from a dated series","verdict":"unsure","firstTool":null,"checks":["The record reports cumulative return and drawdown for the dated series.","The figures are computed from the dates and prices given.","Both cumulative return and drawdown appear in the record."]},{"useCase":"flag missing holdings before a whole-portfolio mandate verdict","verdict":"unsure","firstTool":null,"checks":["The record lists the holdings found missing before the verdict.","The mandate verdict is withheld while holdings are missing.","The flagged holdings are the ones absent from the input."]}]},"adoption":{"npmWeekly":null,"pypiWeekly":null,"githubStars":null},"score":null,"advice":{"verdict":"unproven","why":["whether its tools do the product's job has not been judged yet","checked on 4 of the 7 days it takes to judge reliability"],"how":["upload_portfolio_series_rows, cancel_portfolio_series_upload change data without a sign-in: anyone with the URL can call them","parameters are untyped or undescribed in 9 of 10 tools: check arguments before calling"]},"method":"https://inite.ai/en/atlas/mcp/report"},"connect":{"order":["mcp"],"mcp":[{"name":"fit.portfolio/portfoliofit","url":"https://portfolio.fit/mcp","answers":"open","checkedOn":"2026-10-21","weakTie":false,"registry":"https://registry.modelcontextprotocol.io/v0/servers?search=fit.portfolio%2Fportfoliofit","config":{"mcpServers":{"portfolio":{"url":"https://portfolio.fit/mcp"}}},"install":{"transport":"http","claudeCode":"claude mcp add --transport http portfolio https://portfolio.fit/mcp","cursor":"cursor://anysphere.cursor-deeplink/mcp/install?name=portfolio&config=eyJ1cmwiOiJodHRwczovL3BvcnRmb2xpby5maXQvbWNwIn0%3D","vscode":"vscode:mcp/install?%7B%22name%22%3A%22portfolio%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fportfolio.fit%2Fmcp%22%7D","connector":{"url":"https://portfolio.fit/mcp","note":"Add it as a custom connector in the client’s settings; the client opens the sign-in itself when the server asks for one."}}}],"openapi":null,"apiDocs":null,"llmsTxt":null,"status":null,"readOn":"2026-10-21"},"trust":{"readOn":"2026-10-21","certifications":[],"training":null},"used":0,"alive":100,"traits":null,"verifiedPlans":null,"fromVendor":null}