fmpsdk-mcp
A Model Context Protocol server that exposes
the fmpsdk library — the full Financial
Modeling Prep API — to an MCP client such as Claude Desktop or Claude Code.
Published to PyPI as fmpsdk-mcp; it
lives in the fmpsdk repo under mcp/. It is a
separate package so pip install fmpsdk never pulls in fastmcp.
What it exposes
| Layer | Tools |
|---|---|
| Curated (use first) | get_quote, get_company_profile, get_income_statement, get_balance_sheet, get_cash_flow, get_key_metrics, get_financial_ratios, get_historical_prices, search_symbol, get_stock_news |
| Discovery (the other ~228 endpoints, at runtime) | list_fmp_endpoints, describe_fmp_endpoint, call_fmp_endpoint |
| Resource | fmpsdk://llms.txt — orientation for the underlying package |
Every tool is a read-only GET. Large list results from call_fmp_endpoint
are paged (50 rows) with page / total / more; the bulk group and the
whole-asset-class batch_*_quotes endpoints are refused — use the fmpsdk
library directly for dataset-scale work.
Install
Needs uv (for uvx) and an
FMP API key.
Claude Code:
claude mcp add fmpsdk -s user -e FMP_API_KEY=your-fmp-api-key -- uvx fmpsdk-mcp
Claude Desktop — add to claude_desktop_config.json:
{
"mcpServers": {
"fmpsdk": {
"command": "uvx",
"args": ["fmpsdk-mcp"],
"env": { "FMP_API_KEY": "your-fmp-api-key" }
}
}
}
uvx fetches and caches the package on first launch (a few seconds). Pin a
version with uvx fmpsdk-mcp@20260829.0.
To run an unreleased revision straight from a branch instead:
uvx --from git+https://github.com/daxm/fmpsdk@master#subdirectory=mcp fmpsdk-mcp
Develop
cd mcp
uv sync
uv run fastmcp dev fmpsdk_mcp/server.py # opens the MCP Inspector
FMP_API_KEY=... uv run fmpsdk-mcp # run the stdio server directly
uv run --extra test pytest # the test suite
Cut a release with mcp/deploy_a_release.sh after bumping __version__ in
fmpsdk_mcp/__init__.py — it runs the gate, then tags mcp-v<version> and
pushes, which triggers .github/workflows/publish-mcp.yml.
Related: openapi.json
The repo root ships an openapi.json describing this same API surface,
generated by python tools/gen_openapi.py. It is introspected from the
fmpsdk source — FMP publishes no OpenAPI/Swagger document, and this file
is not fetched from or endorsed by FMP.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fmpsdk_mcp-20260829.1.tar.gz.
File metadata
- Download URL: fmpsdk_mcp-20260829.1.tar.gz
- Upload date:
- Size: 19.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
499fd9441440827cfbdc5046bd26016f557c72e0e85ec9b583da8e8b3f01de1d
|
|
| MD5 |
e86e9038a7bfb08ebe801f6f46f73c2e
|
|
| BLAKE2b-256 |
e84af9f712879b59f70b7d848d66f0584f88305550aba0bd7cd94080542bc29b
|
Provenance
The following attestation bundles were made for fmpsdk_mcp-20260829.1.tar.gz:
Publisher:
publish-mcp.yml on daxm/fmpsdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fmpsdk_mcp-20260829.1.tar.gz -
Subject digest:
499fd9441440827cfbdc5046bd26016f557c72e0e85ec9b583da8e8b3f01de1d - Sigstore transparency entry: 2639202111
- Sigstore integration time:
-
Permalink:
daxm/fmpsdk@ab76797466f00f6981dc2a0278fbf2f45da8aee7 -
Branch / Tag:
refs/tags/mcp-v20260829.1 - Owner: https://github.com/daxm
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-mcp.yml@ab76797466f00f6981dc2a0278fbf2f45da8aee7 -
Trigger Event:
push
-
Statement type:
File details
Details for the file fmpsdk_mcp-20260829.1-py3-none-any.whl.
File metadata
- Download URL: fmpsdk_mcp-20260829.1-py3-none-any.whl
- Upload date:
- Size: 17.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f71b98266614ab91e737ea612d1c2468978bffb115393256340f9684350195e0
|
|
| MD5 |
30b7ccf56594c537533ec61a106bfdec
|
|
| BLAKE2b-256 |
e39f82371dfa427642900a24038b162fc5182d8eb8b1a309a18c4b8c1005cd8e
|
Provenance
The following attestation bundles were made for fmpsdk_mcp-20260829.1-py3-none-any.whl:
Publisher:
publish-mcp.yml on daxm/fmpsdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fmpsdk_mcp-20260829.1-py3-none-any.whl -
Subject digest:
f71b98266614ab91e737ea612d1c2468978bffb115393256340f9684350195e0 - Sigstore transparency entry: 2639202215
- Sigstore integration time:
-
Permalink:
daxm/fmpsdk@ab76797466f00f6981dc2a0278fbf2f45da8aee7 -
Branch / Tag:
refs/tags/mcp-v20260829.1 - Owner: https://github.com/daxm
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-mcp.yml@ab76797466f00f6981dc2a0278fbf2f45da8aee7 -
Trigger Event:
push
-
Statement type: