PortfolioFit

fit.portfolioPublished by portfolio.fitOfficial publisherv0.1.3Updated Oct 24, 2026

Check normalized portfolios against mandates and calculate allocation constraints.

VerifiedStreamable HTTPWeb executableFinanceData & Analytics

Overview

AI-generated overview

PortfolioFit is a remote MCP server that lets an assistant check normalized portfolios against mandates and compute allocation constraints and statistics.

What you can do
List owner-scoped portfolios, datasets and series profiles, and read analysis groups with filters and full retained inputs and results. Compare a clean mandate with normalized holdings to evaluate portfolio alignment. Calculate explicit portfolio constraints deterministically from normalized holdings. Upload normalized series rows in chunks, cancel pending uploads, and review series profiles into immutable revisions. Calculate historical return, volatility, drawdown and benchmark-relative statistics from a confirmed series profile.
When to use it
Use it when an assistant needs to check whether normalized holdings fit a mandate, run arithmetic constraint checks, or compute risk and performance statistics from a confirmed portfolio series profile.
Requirements
A remote streamable HTTP endpoint at portfolio.fit; no packages, environment variables or headers are declared. Inputs must be normalized data, not PDF, CSV, spreadsheet or factsheet files. Large uploads need chunking with total_chunks, upload_id and idempotency_key.
Before you install
Uploads write data and commit dataset versions, and cancelling an upload permanently removes its staging chunks; profile revisions are immutable. The server is described as owner-scoped and private, but no authentication is declared, so confirm how access is controlled before sending holdings.

Installation

In SourceWeft

  1. Open PortfolioFit in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/fit.portfolio%2Fportfoliofit/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "portfoliofit": {
      "type": "http",
      "url": "https://portfolio.fit/mcp"
    }
  }
}

Tools

10

list_analysis_portfolios

List analysis portfolios

List owner-scoped portfolios, analytics datasets, and profile readiness.

Takes no parameters.

list_portfolio_series

List portfolio series

Discover owner-scoped immutable series profiles and their exact dataset versions. This returns metadata and coverage only, never dataset rows.

Parameterscursorstatusespage_sizeportfolio_id

list_analyses

List analyses

Read private calculation groups and independent operations. Filter by kind, portfolio, dates, ready/running/attention status or legacy open/finished status.

Parameterskindpagestatusdate_todate_frompage_sizeportfolio_id

get_analysis

Get an analysis

Read retained normalized inputs, operations, results and owner-scoped dataset references. This is not an external agent transcript.

Parametersanalysis_idrequired

evaluate_portfolio_alignment

Evaluate portfolio alignment

Compare a clean mandate with normalized holdings. Do not send PDF, CSV, spreadsheet, or factsheet files; extract them before calling.

Parametersrulesmandateholdingsrequiredanalysis_namebase_currencyportfolio_nameidempotency_keyrequiredsource_warningscomposition_scope

calculate_portfolio_constraints

Calculate portfolio constraints

Calculate explicit portfolio constraints deterministically from normalized holdings. Use this for arithmetic checks, not for interpreting natural-language mandates.

Parametersholdingsrequiredconstraintsrequiredanalysis_namebase_currencyidempotency_keyrequiredsource_warningscomposition_scope

upload_portfolio_series_rows

Upload portfolio series rows

Upload normalized series_key/date/value/distribution rows and commit a dataset version. For up to 5,000 rows, omit chunk_index and total_chunks to complete in one call. For larger inputs, declare total_chunks on every call, send chunks in order, and reuse upload_id and idempotency_key. The final chunk automatically verifies and commits all data and returns immutable series profiles. Parse files locally before calling.

Parametersrowsrequiredsourceupload_iddataset_idchunk_indexcontent_hashdataset_nameportfolio_idtotal_chunksanalysis_nameidempotency_keyrequiredseries_profiles+1 more

cancel_portfolio_series_upload

Cancel portfolio series upload

Cancel a pending upload and permanently remove its staging chunks.

Parametersupload_idrequiredanalysis_name

review_portfolio_series_profile

Review portfolio series profile

Create an immutable profile revision using revise, or explicitly confirm a warning-free proposal with confirmation=true.

Parametersactionrequiredrevisionsprofile_idrequiredconfirmationanalysis_name

calculate_portfolio_statistics

Calculate portfolio statistics

Calculate historical return, volatility, drawdown, risk-adjusted and benchmark-relative statistics from a confirmed portfolio series profile. The metrics parameter describes all available calculations and their required inputs. Use daily, weekly or monthly complete periods; results include coverage, warnings and exact dataset/profile pins. Reuse an idempotency_key only for an identical calculation.

Parametersmetricsrequiredend_datestart_dateanalysis_namerisk_free_rateidempotency_keyrequiredtarget_frequencyrequiredseries_profile_idrequiredbenchmark_profile_idminimum_acceptable_return

Version history

1
  1. v0.1.3LatestSep 16, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.

Other Portfolio integrations