Finance Toolkit MCP Server
Ask an AI assistant for Apple’s return on invested capital and you will usually get a number. Whether it is right depends on what the model remembers from its training data, which of the several definitions it picked and whether the arithmetic held up along the way. Ask twice and you may get two different answers.
The Finance Toolkit MCP server takes the calculation out of the model’s hands. It is an open-source Model Context Protocol (MCP) server that connects Claude, ChatGPT, GitHub Copilot, Cursor, Gemini and other assistants to the Finance Toolkit: current financial statements and market data, and 500+ documented methods that turn them into ratios, valuations, risk metrics, technical indicators and macroeconomic series. The assistant decides what to calculate and explains the result; the numbers themselves come from code you can read.
Why the Finance Toolkit MCP
There is a growing number of MCP servers for financial data, from the official Financial Modeling Prep and Yahoo Finance servers to dozens of community wrappers. Most of them expose raw API endpoints, such as a quote, an income statement or a list of prices, and leave the analysis to the language model. That is exactly where language models are least reliable.
| Raw data servers | Finance Toolkit MCP | |
|---|---|---|
| What the assistant receives | Prices and financial statements | Calculated ratios, models, risk metrics and indicators, plus the underlying data |
| Who does the arithmetic | The language model | The open-source Finance Toolkit |
| Same question, two chats | Often two different numbers | The same number |
| Definitions | Implicit, chosen by the model | Documented for every metric |
| Macroeconomic data | Rarely included | 60+ countries from the OECD, the Global Macro Database and FRED |
The Finance Toolkit behind the server has been downloaded over 600,000 times and every formula is in the documentation, so a number from a chat can be traced back to its calculation. I designed the 22 categorical tools so that small and large models alike use them reliably.
If you only need a quote or a headline number, a raw data server is fine. If you want to ask “which of these banks is the most solvent, and why” and get an answer you can defend, that is what I built this server for.
What You Can Ask
You never have to name a tool or an indicator: ask in plain English and the assistant picks the right one. A few examples of what that covers:
Company fundamentals
"Which is more profitable, Apple or Microsoft, and does that change when you look at return on capital?"
profitability, efficiency, liquidity, solvencyValuation and credit
"What growth is priced into Nvidia's share price based on a discounted cash flow?"
valuation, models (DCF, WACC, DuPont, Altman Z)Performance and risk
"Compare the Value at Risk and maximum drawdown of Berkshire Hathaway, Visa and Costco since 2020."
performance, risk, optionsTechnical analysis
"Is the semiconductor sector overbought? Check the RSI and moving averages of NVDA, AMD and ASML."
momentum, overlap, volatility, breadthMacro and rates
"How do real interest rates in the US and the Eurozone compare since the inflation peak?"
macroeconomics, rates, jobs, government, fixed incomeEconometrics
"Regress Apple's weekly returns on its suppliers and peers. Which coefficients are significant?"
econometricsThe example conversations below show what that looks like for four larger questions, from an investment case to the economic cycle.
Installation
Pick the remote server if you want to get going without installing anything, or the local server if you prefer to run the process yourself. Each section lists the same clients, so you can switch between the two at any time.
Remote Server
Point your client at the URL below. On first use it opens an OAuth page asking for your FMP API key; enter it once and the server takes it from there.
https://financetoolkit.jeroenbouma.com/mcp
Pick your client below for the exact steps; most clients accept the URL through their settings or with a single command.
Claude Desktop
- Open Claude Desktop and click on Customize.
- Go to the Connectors tab, click on the “+” button and select Add custom connector.
- Enter a name, e.g. Finance Toolkit, and paste the URL:
https://financetoolkit.jeroenbouma.com/mcp - Click “Add” to add the Finance Toolkit MCP server to your list of connectors.
- On first use Claude Desktop opens a browser window asking for your FMP API key. Enter it once and the server remembers it.
Claude.ai
- Open claude.ai and click on Customize in the left sidebar.
- Go to the Connectors tab, click on the “+” button and select Add custom connector.
- Enter a name, e.g. Finance Toolkit, and paste the URL:
https://financetoolkit.jeroenbouma.com/mcp - Click “Add” to add the Finance Toolkit MCP server to your list of connectors.
- On first use Claude.ai opens a browser window asking for your FMP API key. Enter it once and the server remembers it.
Claude Code
- Run the following command once in your terminal:
claude mcp add --transport http finance-toolkit https://financetoolkit.jeroenbouma.com/mcp - Restart Claude Code and the Finance Toolkit tools appear automatically. The first tool call opens the browser for the OAuth step where you enter your FMP API key.
ChatGPT
ChatGPT connects to custom MCP servers through Developer mode (available on paid ChatGPT plans):
- Open Settings → Apps & Connectors → Advanced settings and enable Developer mode.
- Back in Apps & Connectors, click Create and enter a name, e.g. Finance Toolkit, and the MCP server URL:
https://financetoolkit.jeroenbouma.com/mcp - Select OAuth as the authentication method and click Create. A browser window asks for your FMP API key; enter it once.
- In a new chat, open the + menu, enable the Finance Toolkit connector under Developer mode and start asking questions.
Codex CLI
- Run the following command once in your terminal:
codex mcp add finance-toolkit --url https://financetoolkit.jeroenbouma.com/mcp - Authenticate with
codex mcp login finance-toolkit, which opens the browser for the OAuth step where you enter your FMP API key. - Start
codexand the Finance Toolkit tools are available in every session.
VS Code and GitHub Copilot
- Open the Command Palette (
Cmd+Shift+P/Ctrl+Shift+P) and run MCP: Add Server. - Select HTTP as the server type.
- Enter the URL
https://financetoolkit.jeroenbouma.com/mcpand name it finance-toolkit. - VS Code writes the entry to
.vscode/mcp.json(or your user profile) automatically and the tools show up in Copilot’s Agent mode. - On first tool call VS Code opens an OAuth prompt for your FMP API key.
Cursor
- Open Cursor Settings (
Cmd+,/Ctrl+,) and navigate to Features → MCP Servers. - Click + Add new MCP server.
- Set the type to http and paste the URL:
https://financetoolkit.jeroenbouma.com/mcp - Name it finance-toolkit and click Save.
- On first tool call Cursor opens an OAuth prompt for your FMP API key.
Windsurf
- Open Windsurf Settings and navigate to MCP Servers.
- Click Add Server and select Remote / HTTP.
- Paste the URL
https://financetoolkit.jeroenbouma.com/mcpand name it finance-toolkit. - Click Save and reload the window.
- On first tool call Windsurf opens an OAuth prompt for your FMP API key.
Gemini CLI
- Run the following command once in your terminal:
gemini mcp add --transport http finance-toolkit https://financetoolkit.jeroenbouma.com/mcpAlternatively, add the entry to
~/.gemini/settings.jsonby hand:{ "mcpServers": { "finance-toolkit": { "httpUrl": "https://financetoolkit.jeroenbouma.com/mcp" } } } - Start
geminiand run/mcpto confirm the server is connected; the first tool call opens the OAuth prompt for your FMP API key.
Local Clients
The local server runs on your own machine through uvx and works with every client that supports the stdio transport. The setup wizard finds your client’s config file and writes the entry, including your API key, for you:
uvx --from "financetoolkit[mcp]" financetoolkit-mcp-setup
If you prefer to do it by hand, pick your client below and add the snippet to its config file, replacing FINANCIAL_MODELING_PREP_KEY with your FMP API key. The API keys and environment variables card at the end covers the .env file option and the optional FRED key.
Claude Desktop
Easiest installation is via the MCPB bundle, which handles configuration automatically. Download the Finance Toolkit MCPB bundle and double-click it to start installation.
Alternatively, edit claude_desktop_config.json and add the entry inside mcpServers:
- macOS:
~/Library/Application Support/Claude/ - Windows:
%APPDATA%\Claude\ - Linux:
~/.config/claude/
{
"mcpServers": {
"finance-toolkit": {
"command": "uvx",
"args": ["--from", "financetoolkit[mcp]", "financetoolkit-mcp"],
"env": { "FINANCIAL_MODELING_PREP_API_KEY": "FINANCIAL_MODELING_PREP_KEY" }
}
}
}
Claude.ai
Claude.ai runs in the browser and cannot start a process on your machine, so it only connects to servers over HTTP. Use the remote server instead, or run the local server with MCP_TRANSPORT=streamable-http behind a public URL of your own.
Claude Code
Run the following command once in your terminal:
claude mcp add --transport stdio finance-toolkit --env FINANCIAL_MODELING_PREP_API_KEY=FINANCIAL_MODELING_PREP_KEY -- uvx --from "financetoolkit[mcp]" financetoolkit-mcp
Or edit ~/.claude.json (create it if needed) and merge the entry inside mcpServers:
{
"mcpServers": {
"finance-toolkit": {
"command": "uvx",
"args": ["--from", "financetoolkit[mcp]", "financetoolkit-mcp"],
"env": { "FINANCIAL_MODELING_PREP_API_KEY": "FINANCIAL_MODELING_PREP_KEY" }
}
}
}
ChatGPT
ChatGPT only connects to MCP servers over HTTP and cannot start a local process. Use the remote server instead, or run the local server with MCP_TRANSPORT=streamable-http behind a public URL of your own.
Codex CLI
Run the following command once in your terminal:
codex mcp add finance-toolkit --env FINANCIAL_MODELING_PREP_API_KEY=FINANCIAL_MODELING_PREP_KEY -- uvx --from "financetoolkit[mcp]" financetoolkit-mcp
Or add the entry to ~/.codex/config.toml:
[mcp_servers.finance-toolkit]
command = "uvx"
args = ["--from", "financetoolkit[mcp]", "financetoolkit-mcp"]
env = { FINANCIAL_MODELING_PREP_API_KEY = "FINANCIAL_MODELING_PREP_KEY" }
VS Code and GitHub Copilot
Workspace: create or edit .vscode/mcp.json in your workspace root. VS Code uses servers as the top-level key (not mcpServers):
{
"servers": {
"finance-toolkit": {
"command": "uvx",
"args": ["--from", "financetoolkit[mcp]", "financetoolkit-mcp"],
"env": { "FINANCIAL_MODELING_PREP_API_KEY": "FINANCIAL_MODELING_PREP_KEY" }
}
}
}
Global (all workspaces): add the same block under "mcp" in your user settings.json:
- macOS:
~/Library/Application Support/Code/User/settings.json - Windows:
%APPDATA%\Code\User\settings.json - Linux:
~/.config/Code/User/settings.json
{
"mcp": {
"servers": {
"finance-toolkit": {
"command": "uvx",
"args": ["--from", "financetoolkit[mcp]", "financetoolkit-mcp"],
"env": { "FINANCIAL_MODELING_PREP_API_KEY": "FINANCIAL_MODELING_PREP_KEY" }
}
}
}
}
Cursor
Workspace: create or edit .cursor/mcp.json in your workspace root:
{
"mcpServers": {
"finance-toolkit": {
"command": "uvx",
"args": ["--from", "financetoolkit[mcp]", "financetoolkit-mcp"],
"env": { "FINANCIAL_MODELING_PREP_API_KEY": "FINANCIAL_MODELING_PREP_KEY" }
}
}
}
Global (all projects): create or edit ~/.cursor/mcp.json:
{
"mcpServers": {
"finance-toolkit": {
"command": "uvx",
"args": ["--from", "financetoolkit[mcp]", "financetoolkit-mcp"],
"env": { "FINANCIAL_MODELING_PREP_API_KEY": "FINANCIAL_MODELING_PREP_KEY" }
}
}
}
Windsurf
Edit ~/.codeium/windsurf/mcp_config.json (create it if needed):
{
"mcpServers": {
"finance-toolkit": {
"command": "uvx",
"args": ["--from", "financetoolkit[mcp]", "financetoolkit-mcp"],
"env": { "FINANCIAL_MODELING_PREP_API_KEY": "FINANCIAL_MODELING_PREP_KEY" }
}
}
}
Gemini CLI
Edit ~/.gemini/settings.json (create it if needed):
{
"mcpServers": {
"finance-toolkit": {
"command": "uvx",
"args": ["--from", "financetoolkit[mcp]", "financetoolkit-mcp"],
"env": { "FINANCIAL_MODELING_PREP_API_KEY": "FINANCIAL_MODELING_PREP_KEY" }
}
}
}
API keys and environment variables
In every snippet uvx is the command and the rest are args. The env block takes either FINANCIAL_MODELING_PREP_API_KEY with the key inline, or FINANCETOOLKIT_ENV_FILE with the path to a .env file that contains FINANCIAL_MODELING_PREP_API_KEY=FINANCIAL_MODELING_PREP_KEY; when both are present the inline key wins.
A second key, FRED_API_KEY, is optional and free. It is only needed for a handful of US-only indicators without an OECD or FMP equivalent (nonfarm payrolls, initial jobless claims, the 30-year mortgage rate, the TIPS real yield curve and breakeven inflation expectations). The setup wizard picks it up automatically from your environment or .env file; register for one here.
financetoolkit[mcp] also installs the econometrics extra, so statsmodels and linearmodels come along and the econometrics tool works out of the box.
Example Conversations
Four questions of the kind an analyst or portfolio manager would ask, each answered by Claude through the server. None of them is a single lookup: Claude decides which calculations it needs, chains them across tools and builds its conclusion on the results. Every number and chart below comes from a Finance Toolkit calculation, with data up to October 2, 2026.
The server returns the same calculated data to every model, and I designed its 22 tools to be simple enough for smaller models as well: GPT-5 mini, Claude Haiku and similar models pick the right tools and report the same numbers. A larger model mostly adds depth, such as the follow-up calculations and caveats you see here.
Build an investment case for ASML against Applied Materials, Lam Research and KLA: profitability, valuation, returns and risk. Is its premium justified?
What Claude calculated
profitabilityReturn on invested capital, 2020 to 2025profitabilityGross margin, 2020 to 2025valuationEV/EBITDA, 2020 to 2026valuationPrice-to-earnings, 2020 to 2026performanceAnnual returns since 2021, against the S&P 500riskMaximum drawdown since 2021
Claude's conclusion
ASML's premium has turned into a discount. It earned the highest return on invested capital of the four in 2025 (33.0%), yet trades at 27.6 times EBITDA, below KLA (30.7x) and Lam Research (34.8x). The market has rewarded the peers' cyclical recovery instead: a dollar in ASML at the start of 2021 grew to $3.93, against $8.42 for KLA and $7.70 for Lam. KLA stands out on quality and resilience, with the highest gross margin (60.9%) and the shallowest drawdown (−35%), but it has also re-rated the most since. ASML is the only one of the four whose valuation is lower today than in 2020.
Which of Europe's largest banks is the most solid, and does the market pay for it?
What Claude calculated
modelsEquity multiplier (total assets per unit of equity), 2021 to 2025solvencyDebt to equity and debt service coverageprofitabilityReturn on equity, 2023 to 2025valuationPrice to book, 2023 to 2025market_dataBalance sheets, converted to US dollars
Claude's conclusion
UniCredit is the most solid bank of the group and the most profitable: the thickest equity buffer (an equity multiplier of 12.6x), the highest debt service coverage and a return on equity of 17.3%. The market does pay for it: UniCredit's price to book went from 0.61 in 2023 to 1.64, the highest of the group. The cheapest banks are cheap for a reason: BNP Paribas trades at 0.68 times book with a 9.2% return on equity and among the most leverage, Société Générale earns 7.2%.
Where is the US economy in the cycle? Look at the yield curve, inflation, the policy rate, unemployment and growth.
What Claude calculated
ratesUS Treasury yield curve, daily since 2022macroeconomicsInflation rateratesCentral bank policy ratejobsUnemployment ratemacroeconomicsReal GDP growth
Claude's conclusion
Late in the cycle, but not in recession. The yield curve inverted from July 2022 to September 2024, at its deepest −1.08 percentage points in July 2023, the classic recession signal. The recession never came: real GDP grew 2.5% to 2.9% a year in 2022 to 2024, and unemployment rose only gradually, from 3.6% to 4.4%. With inflation back at 1.9% in 2025 and the policy rate at 4.3%, the real policy rate is still clearly positive, which leaves the Fed room to ease. The curve is upward sloping again, at +0.45 percentage points, but at a higher level: the 10-year yield is 5.28%, up from 4.10% a year ago.
My portfolio is heavy in Nvidia and Microsoft. Which of JPMorgan, ExxonMobil and Johnson & Johnson actually diversifies it?
What Claude calculated
performanceCorrelation matrix of weekly returns, October 2023 to October 2026performanceQuarterly returnsperformanceThree equal-weighted portfolios built from the quarterly returns
Claude's conclusion
ExxonMobil and Johnson & Johnson are the real diversifiers; JPMorgan mostly adds more market exposure. JPMorgan moves with Nvidia (a correlation of 0.34) and with the market (0.63). ExxonMobil and J&J are negatively correlated with both Nvidia and Microsoft and barely related to the S&P 500. The quarters that matter confirm it: in the first quarter of 2025, Nvidia fell 19.3% and Microsoft 10.7% while ExxonMobil rose 11.6% and J&J 15.6%, and in the first quarter of 2026 Microsoft lost 23.3% while ExxonMobil gained 41.9%. Claude then builds the portfolios: adding the two halves the volatility of quarterly returns (8.8% against 18.8%) and limits the worst quarter to −2.2% instead of −15.0%, for a lower but still strong return ($2.51 against $3.06 per dollar since late 2023).
FAQ
The questions that come up most often about the server, its data sources and how it compares to other financial MCP servers. Anything missing? Open an issue on GitHub.
Is the Finance Toolkit MCP server free?
Yes. The server and the Finance Toolkit it is built on are open source under the MIT license (see the repository) and the hosted server is free to use. The only thing you need is a Financial Modeling Prep API key; the free plan is enough to try the server, and the paid plans add full history, all exchanges and higher request limits.
Which AI assistants and clients does it work with?
Any client that speaks the Model Context Protocol. There are step-by-step cards for Claude Desktop, claude.ai, Claude Code, ChatGPT, Codex CLI, VS Code, Cursor, Windsurf and Gemini CLI under Remote Server and Local Clients; other clients work the same way with the URL or the uvx command from those cards.
How do I add the server to my client?
For the remote server, give your client the URL and enter your FMP API key on the OAuth page that opens the first time:
https://financetoolkit.jeroenbouma.com/mcp
Clients with a command line take it in one go, for example Claude Code:
claude mcp add --transport http finance-toolkit https://financetoolkit.jeroenbouma.com/mcp
For the local server, let the wizard write the config entry for you:
uvx --from "financetoolkit[mcp]" financetoolkit-mcp-setup
The exact steps and settings dialogs per client are in the Remote Server and Local Clients cards.
Do I need to install Python?
No. The remote server needs nothing installed. The local server runs through uv, which downloads the right Python and the package by itself, so even then you never install Python or run pip yourself.
Can I run the server locally?
Yes. Run the setup wizard and pick your client, it writes the config entry including your API key:
uvx --from "financetoolkit[mcp]" financetoolkit-mcp-setup
Or add the entry to your client’s MCP config by hand:
{
"mcpServers": {
"finance-toolkit": {
"command": "uvx",
"args": ["--from", "financetoolkit[mcp]", "financetoolkit-mcp"],
"env": { "FINANCIAL_MODELING_PREP_API_KEY": "FINANCIAL_MODELING_PREP_KEY" }
}
}
}
Config file locations per client are in the Local Clients cards, the .env file option and the optional FRED key in the API keys and environment variables card, and Claude Desktop users can skip all of this with the MCPB bundle.
Is my Financial Modeling Prep API key stored on the server?
No. During the OAuth login your key is sealed inside a signed token that your MCP client holds and sends with every request; the server reads it for the duration of that request and never writes it to disk or a database. The full flow is on the Under the Hood page.
What data does the server cover?
Company data comes from Financial Modeling Prep: historical prices, financial statements, profiles, ESG scores and estimates for stocks and ETFs on exchanges worldwide, subject to your FMP plan. Macroeconomic data comes from the OECD and, optionally, FRED. Which tools does the server expose? lists what is computed on top of that, and the Finance Toolkit documentation describes every metric and model in detail.
Which tools does the server expose?
The 500+ Finance Toolkit methods are grouped into 22 categorical tools, each taking an indicator parameter that selects the exact metric (e.g. valuation with indicator='get_price_to_earnings_ratio'), plus four search tools to navigate them. You never pick these by hand: the assistant chooses the tool and indicator from your plain-English question. Equity tools accept tickers (e.g. 'AAPL,MSFT'), macro tools accept countries (e.g. 'United States,Germany'), and all accept start_date, end_date and quarterly. Every tool returns data as standardized Markdown.
| Category | Tool | Description |
|---|---|---|
| Fundamentals | discovery |
Stock and ETF screener, gainers/losers, most active |
| Fundamentals | market_data |
Historical prices, financial statements, company profile, real-time quote |
| Fundamentals | environment |
ESG scores, carbon footprint, renewable energy usage |
| Fundamentals | performance |
Sharpe ratio, Sortino ratio, Alpha, Beta, CAPM, Fama-French, Carhart, market timing |
| Fundamentals | risk |
Value at Risk, CVaR, GARCH/EGARCH/GJR-GARCH, max drawdown, copulas, realized volatility |
| Fundamentals | options |
Black-Scholes pricing, binomial tree, Greeks, implied volatility, exotic options |
| Econometrics | econometrics |
Regression (OLS/WLS/GLS, logit, probit, quantile, Fama-MacBeth), panel data, causal inference (IV-2SLS, difference-in-differences, regression discontinuity, propensity score matching, synthetic control), unit root and cointegration tests, Granger causality, ARIMA/VAR/VECM forecasting and event studies |
| Ratios and Models | efficiency |
Asset/inventory turnover, days of sales outstanding, cash conversion cycle |
| Ratios and Models | liquidity |
Current ratio, quick ratio, cash ratio, working capital |
| Ratios and Models | profitability |
Gross/net/operating margin, ROE, ROA, ROIC, ROCE |
| Ratios and Models | solvency |
Debt-to-equity, interest coverage, net debt to EBITDA |
| Ratios and Models | valuation |
P/E, EPS, EV/EBITDA, P/B, P/S, dividend yield, free cash flow yield |
| Ratios and Models | models |
WACC, DuPont analysis, Altman Z-Score, Piotroski F-Score, intrinsic value, FCFF/FCFE, Tobin’s Q, five bankruptcy scores |
| Technical Indicators | momentum |
RSI, MACD, Stochastic oscillator, Williams %R, Aroon |
| Technical Indicators | overlap |
SMA, EMA, Bollinger Bands, Keltner Channels |
| Technical Indicators | volatility |
Average True Range, True Range, volatility series |
| Technical Indicators | breadth |
McClellan oscillator, OBV, Advance/Decline line, Chaikin |
| Macro and Fixed Income | macroeconomics |
GDP, CPI, inflation, trade balances, investment, consumption |
| Macro and Fixed Income | government |
Government debt, deficit, expenditure, revenue, tax rates |
| Macro and Fixed Income | jobs |
Unemployment, population, poverty, income inequality |
| Macro and Fixed Income | rates |
Central bank rates, government bond yields, EURIBOR, US Treasury par yield curve, TIPS real yields |
| Macro and Fixed Income | fixed_income |
Bond duration, present value, YTM, derivative pricing, par/forward rates, Z-spread, key rate duration |
| Search | search_categories |
Lists all categories and the number of tools each contains |
| Search | search_by_category |
Lists every metric available within a given category |
| Search | search_metrics |
Fuzzy keyword search across all metrics with typo tolerance |
| Search | search_instruments |
Look up ticker symbols by company name, ISIN, CIK, CUSIP or symbol |
Each tool wraps dozens of underlying Finance Toolkit functions; the Finance Toolkit documentation describes every metric, model and parameter that can be reached through them. To explore interactively, run uvx --from "financetoolkit[mcp]" financetoolkit-mcp-inspector.
How is this different from the Financial Modeling Prep or Yahoo Finance MCP servers?
Those servers return raw data and leave the calculations to the language model. The Finance Toolkit MCP computes 500+ metrics, ratios, models and indicators with the open-source Finance Toolkit code, so the numbers are consistent, documented and reproducible regardless of which model you use. Why the Finance Toolkit MCP goes into this in more depth.