Skip to main content

Portfolio Analytics MCP

PyPI CI Python 3.12 License: MIT

Ask Claude about your investments in plain language. This is an MCP server that gives Claude (or any MCP client) read-only tools for market data and portfolio analysis: prices, FX, ETF costs and exposure, and risk for a whole portfolio of stocks and ETFs, measured in your own currency.

It is built for European investors as much as US ones: it understands ISINs, UCITS ETFs listed on several exchanges, and prices quoted in pence.

What you can ask

"I hold 30k EUR of IE00B4L5Y983, 10 ASML.AS and 25 AAPL. How volatile is this portfolio, and which position contributes most to the risk?"

"Compare the costs of the iShares Core MSCI World and the Vanguard FTSE All-World. Which is cheaper and bigger?"

"How much of my ETF portfolio is in US tech stocks? Do my ETFs overlap?"

"What has VWCE returned since 2021 in euros, compared with the S&P 500?"

Claude picks the right tools, fetches the data and explains the result.

What's inside

Area What it gives you Data source
Portfolio Risk and return of a mixed portfolio in one currency: volatility, drawdown, beta, risk per position Yahoo Finance + justETF
ETFs Costs (TER), fund size, country/sector/stock exposure, listings, similar funds, portfolio look-through justETF
Markets Price history, quotes, FX rates, performance statistics, correlations, dividends Yahoo Finance

20 tools in total, all read-only. No API key or account needed. See the user guide for the full list.

Quickstart

You need uv. It downloads Python 3.12, the server and its dependencies on first run, and checks for a new release each time the server starts.

1. Connect it to Claude

Claude Code:

claude mcp add finance -- uvx portfolio-analytics-mcp@latest

Claude Desktop: add this to claude_desktop_config.json, then restart the app. If it can't find uvx, use the full path that which uvx prints.

{
  "mcpServers": {
    "finance": {
      "command": "uvx",
      "args": ["portfolio-analytics-mcp@latest"]
    }
  }
}

To stay on one version instead, use portfolio-analytics-mcp==0.2.0.

The server runs on your machine. Only symbols and ISINs go out, to Yahoo Finance and justETF; your quantities and amounts never leave it.

2. Ask a question, for example "What is the TER of IE00B4L5Y983?"

To work on the code instead, see Contributing.

Want to run it as a shared remote server instead? See Remote deployment.

Important to know

  • Not financial advice. The tools report data and statistics; past performance does not predict future results. Data can be delayed, incomplete or wrong, and is provided as is, without warranty.
  • Not affiliated with Yahoo, justETF or any fund provider. Names and trademarks belong to their owners.
  • Personal use only. Yahoo Finance (through the unofficial yfinance library) and justETF are third-party sites. This server makes polite, on-demand requests (rate-limited and cached) and is not meant for bulk downloads or redistributing their data. Check their terms before using it.
  • Quotes can be delayed by up to ~20 minutes, and Yahoo's coverage of European ETF holdings is patchy (the justETF tools fill that gap).

Learn more

  • User guide: every tool, example workflows, configuration, remote deployment and limitations.
  • Agent skill: tells an agent when and how to use the tools, and how to present results.
  • Contributing: development setup, tests and project layout.

License

MIT

Metadata

Release files for portfolio-analytics-mcp 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for portfolio-analytics-mcp 0.2.0
File Size Uploaded Provenance Actions
portfolio_analytics_mcp-0.2.0.tar.gz 127.4 kB Without provenance Details for portfolio_analytics_mcp-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for portfolio-analytics-mcp 0.2.0
File Interpreter ABI Platform Actions
portfolio_analytics_mcp-0.2.0-py3-none-any.whl Python 3 none any Details for portfolio_analytics_mcp-0.2.0-py3-none-any.whl

Total release size: 188.5 kB

Release files / portfolio_analytics_mcp-0.2.0.tar.gz

Download URL portfolio_analytics_mcp-0.2.0.tar.gz
Size 127.4 kB
Tags Source
SHA-256 checksum
How to use checksums
584edd6e1d773238c1b763738be08bbbb262d56ee1e69d4ce6d07951bf7fb3ab
BLAKE2b-256 checksum
How to use checksums
1c93a49ba03a336b04ed69c67fe1a94dce2704a6dd713307322b9b02babdf3f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / portfolio_analytics_mcp-0.2.0-py3-none-any.whl

Download URL portfolio_analytics_mcp-0.2.0-py3-none-any.whl
Size 61.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f922f80f6193fe1b2c7d49237ec938c5df155f886dbc98aab07e6dd044ce9da3
BLAKE2b-256 checksum
How to use checksums
6978b629cecdcc0dc470a8398ca40d9ffb4293c41a934711e4a9c4a2486652e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for portfolio-analytics-mcp 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page