How do I give Claude access to fund and ETF data by ISIN?
Add the FundFacts MCP server to claude.ai, Claude Desktop or Cowork as a custom connector and ask about any ISIN: TER, holdings, exposures, returns, overlap and portfolio look-through, shown as interactive cards.Published September 12, 2026 · Updated October 13, 2026 · by FundFacts APIShort answer
Add the FundFacts MCP server as a connector: in claude.ai (Customize → Connectors → Add custom connector; Team and Enterprise: an Owner adds it under Organization settings → Connectors) or Claude Desktop, enter a name and the remote MCP server URL https://fundfactsapi.com/api/mcp, leave the advanced OAuth client fields empty and sign in with your FundFacts account when the consent screen opens. Claude then has get_fund, search_funds, compare_funds, analyze_portfolio, fund_overlap, get_scpi and search_scpi tools, answers questions about any ISIN with the current published figures and their as-of date, and shows the results as interactive cards.
The FundFacts MCP server puts fund data inside Claude. Connect it once as a custom connector (about a minute, on every FundFacts plan including Free) and Claude can look up, compare and look through funds, with fund, comparison, look-through, overlap and SCPI cards next to the answer. The MCP server guide has the full tool reference and troubleshooting.
claude.ai and Claude Desktop
Both accept remote MCP servers over Streamable HTTP as custom connectors. In Customize → Connectors → Add custom connector (Team and Enterprise: an Owner adds it under Organization settings → Connectors; the Free plan allows one custom connector), enter:
| Setting | Value |
|---|---|
| Name | FundFacts |
| Remote MCP server URL | https://fundfactsapi.com/api/mcp |
| OAuth client ID / secret (Advanced) | leave empty (the client registers itself) |
Click Connect and sign in with your FundFacts account when the consent screen opens. The connector signs in with your FundFacts account (OAuth 2.1, PKCE): a consent screen opens in the browser, the connection then counts against the same plan and quota as an API key, and it appears in the dashboard, where you can disconnect it at any time. In ChatGPT and in Claude on the web and desktop, tool results also render as cards (fund, comparison, portfolio look-through, overlap, SCPI) next to the answer. No API key goes into the URL; for code and CLIs the Authorization header stays the recommended form.
Claude Desktop's configuration file (claude_desktop_config.json) only starts local stdio servers (command and args), so a remote server goes through the Connectors screen above, or through the mcp-remote bridge if you prefer a config file with an API key in a header:
json{"mcpServers": {"fundfacts": {"command": "npx","args": ["-y", "mcp-remote", "https://fundfactsapi.com/api/mcp", "--header", "Authorization: Bearer ffk_..."]}}}
What Claude can do with it
The MCP server exposes seven tools, each counted like the REST endpoint it wraps: get_fund (ISIN → the full factsheet payload), search_funds (name → ISINs, free), compare_funds (side-by-side table for several ISINs), analyze_portfolio (weighted look-through of a list of positions, Starter and above), fund_overlap (shared holdings between funds, Starter and above), get_scpi (French SCPI data by name or ISIN) and search_scpi (SCPI name → matches, free), plus a tour prompt that explains the service on the example fund IE00B4L5Y983, which is not counted. Every tool only reads data. Authentication is either your FundFacts account (OAuth 2.1 with PKCE, the sign-in the claude.ai, Claude Desktop and ChatGPT connectors run) or the same bearer API key as the REST API, sent as an Authorization header by editors, CLIs and frameworks. The MCP server guide has the full tool reference, setup for every client and troubleshooting.
Typical prompts: "What does IE00B4L5Y983 hold and how risky is it?", "Compare the fees and 5-year returns of IE00B4L5Y983 and IE00B3RBWM25", "I hold 60% of A and 40% of B; what is my real US exposure?", "Do these three ETFs overlap?". Claude calls the right tool, and because every payload carries dataAsOf it can say how old the figures are.
Claude Code and the API (for building, not chatting)
If you want Claude to *write software* against the API rather than answer questions, see Claude Code: the companion kit includes a Claude Code skill, and claude mcp add registers the same server for the coding agent.
Paid plans include an AI companion kit generated from the live field reference: an AGENTS.md with every endpoint, field, rule and a reference client; a Cursor rule; a Claude Code skill; the OpenAPI spec and TypeScript types, with your key baked in or read from an environment variable. Download it from the dashboard; the public edition without a key is at /llms-full.txt.
Verify it yourself
The demo endpoint returns the live payload for a fund that is already in the store, without a key. Everything on this page can be checked against it.bashcurl -s https://fundfactsapi.com/api/v1/demo/funds/IE00B4L5Y983 | jq '{name, asOf: .data.dataAsOf, ter: .data.headlineMetrics.ter, risk: .data.riskRating, top: .data.topHoldings[:3]}'