Kevin Meneses
← Back to articles

8 Best MCP Servers for Financial Data in 2026 (Tested)

Mcp ServerEODHDFinanceStock DataClaudeAI Agents
8 Best MCP Servers for Financial Data in 2026 (Tested): EODHD, FMP, Alpha Vantage, Yahoo Finance, Massive, Financial Datasets, Alpaca, SEC EDGAR

The best MCP server for financial data in 2026 is EODHD: one hosted endpoint gives Claude, ChatGPT or Cursor global prices, fundamentals, earnings, macro, news and a screener, starting at $19.99/month. If you only need US filings, the free SEC EDGAR MCP is enough. If you need to place trades, Alpaca is the only one here that can.

That's the short answer.

The longer one matters more, because most "best MCP servers" lists you'll find are written from the README. Nobody connects anything. Nobody checks whether two servers return the same price for the same stock on the same day.

So I did.

If you're:

  • building an AI agent that answers market questions,
  • giving Claude access to real numbers instead of its training data,
  • or picking a data layer before you write a single line of code,

this is the comparison you want before you pay for anything.

How I tested these financial MCP servers

Every server got the same five questions on November 9, 2026:

  1. Price: What did AAPL close at on November 6, 2026?
  2. Global coverage: Give me 5 years of daily prices for Vodafone on the London Stock Exchange.
  3. Fundamentals: What is Apple's trailing P/E and revenue?
  4. Events: Who reports earnings between November 9 and 13?
  5. Setup: How do you connect it, and how does it authenticate?

Here's the honest part about how each one was tested, because it changes how much you should trust each row:

  • Called through MCP: EODHD (its hosted v1 endpoint, first with the public demo key, then with a paid key) and Financial Modeling Prep (its connector inside Claude).
  • Called through the library the MCP wraps: Yahoo Finance (yfinance 1.8.0) and SEC EDGAR (the official XBRL API).
  • Docs only: Alpha Vantage, Massive, Financial Datasets and Alpaca. Alpha Vantage's hosted MCP answered my scripted client with a 403, and the other three need paid or account keys. For those I only report what their official pages say, and I mark it.

The raw JSON from every call is saved next to this article. Every number below comes from it. If you're choosing a plain REST API rather than an MCP server, I compared those in Best Stock Market Data API for Vibe Coding in 2026.

The results at a glance

#MCP serverAAPL close (Nov 6)Global stocksFundamentalsEarnings calendarAuthCheapest paid plan
1EODHD342.37 βœ…βœ… 1,262 rowsβœ… P/E 38.13βœ… all 5 days (filter by symbol)API key or OAuth 2.1$19.99/mo
2Financial Modeling Prep342.37 βœ…βœ… VOD.L returnedβœ… P/E 38.91⚠️ capped at 4,000 rows, 2 days missingAPI keysee pricing page
3Alpha Vantagedocs onlyβœ… per docsβœ… per docsβœ… per docsAPI key$49.99/mo
4Yahoo Finance (open source)342.37 βœ…βœ… 1,261 rowsβœ… P/E 39.03βœ… 21 rowsnonefree (unofficial)
5Massive (ex-Polygon)docs onlyUS-focusedpaid add-onper docsAPI key$199/mo (Stocks Advanced)
6Financial Datasetsdocs only27,530 tickersβœ… per docsnot listedAPI key$20 one-time credits
7Alpacadocs onlyUS stocks, crypto, options❌❌key + secretfree paper account
8SEC EDGAR❌ no pricesUS filers onlyβœ… revenue from 10-K❌none (user agent)free

Three things jumped out:

  • Prices agree. EODHD, FMP and Yahoo all returned exactly 342.37 for AAPL on November 6.
  • Fundamentals don't. The trailing P/E for the same company on the same day was 38.13 (EODHD), 38.91 (FMP) and 39.03 (Yahoo). Each provider uses a different price timestamp and EPS definition. Your agent will quote whichever one you connect, so pick one and stay consistent.
  • Output size matters more than tool count. An unfiltered earnings calendar for one week returned 1,047,665 characters on EODHD and 611,957 on FMP. Either one overflows an LLM's context window. Filtering by symbol on EODHD brought it down to 932.

Now the details.

1. EODHD MCP: best overall financial data MCP server

EODHD runs a hosted MCP server with two endpoints: v1 takes your API key in the URL (Claude Code, ChatGPT, custom agents), and v2 uses OAuth 2.1 (Claude Desktop and claude.ai custom connectors). The docs page lists 72 read-only tools. When I connected to v1 and called tools/list, it returned 100, including marketplace datasets like ESG scores, bond analytics and trading hours.

That breadth is the reason it's #1. In a single connection you get:

  • end-of-day, intraday and live prices for 150,000+ tickers worldwide,
  • fundamentals, earnings calendars, insider and congressional trades,
  • macro indicators, Treasury yields, news with sentiment, and a stock screener.

Here's the exact client I used to call it. No SDK, just the MCP protocol over HTTP:

import json, urllib.request

URL = "https://mcp.eodhd.com/v1/mcp?apikey=demo"  # demo covers AAPL.US; use your own key for the rest

def post(payload, session=None):
    headers = {"Content-Type": "application/json",
               "Accept": "application/json, text/event-stream"}
    if session:
        headers["Mcp-Session-Id"] = session
    req = urllib.request.Request(URL, data=json.dumps(payload).encode(), headers=headers)
    with urllib.request.urlopen(req) as r:
        body = r.read().decode()
        sid = r.headers.get("Mcp-Session-Id") or session
    if "data:" in body[:200]:  # streamable HTTP can answer as server-sent events
        body = [l[5:] for l in body.splitlines() if l.startswith("data:")][-1]
    return json.loads(body), sid

init, sid = post({"jsonrpc": "2.0", "id": 0, "method": "initialize", "params": {
    "protocolVersion": "2025-06-18", "capabilities": {},
    "clientInfo": {"name": "test", "version": "1"}}})
post({"jsonrpc": "2.0", "method": "notifications/initialized"}, sid)

res, _ = post({"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {
    "name": "get_historical_stock_prices",
    "arguments": {"ticker": "AAPL.US", "start_date": "2026-11-06", "end_date": "2026-11-06"}}}, sid)
print(res["result"]["content"][0]["text"])

Output:

[{"date": "2026-11-06", "open": 338.73, "high": 345.79, "low": 338.3, "close": 342.37, "adjusted_close": 342.37, "volume": 44703806}]

Price calls took under a second, and fundamentals under two. Apple's fundamentals came back with a trailing P/E of 38.13 and TTM revenue of $478,833,999,872. I checked that revenue against Apple's own 10-K on SEC EDGAR: $478,834,000,000. Same number, rounded.

With a paid key, Vodafone (VOD.LSE) returned 1,262 daily rows from November 8, 2021 to November 6, 2026, with a close of 110.96 on the first day and 116.5 on the last, the same as FMP and Yahoo. It also returns an adjusted_close next to the raw close (78.14 for that first day), so total-return math doesn't need a second call.

The earnings calendar is where you have to be careful. Asked for November 9 to 13 with no filter, it returned all five days: 5,361 reports and 1,047,665 characters in 4.9 seconds. That's complete, and far too big for a model to read. Passing symbols fixes it:

get_upcoming_earnings(start_date="2026-11-09", end_date="2026-11-13",
                      symbols="CSCO.US,AMAT.US,DIS.US,JD.US,SPOT.US,NU.US,CTVA.US")

CTVA.US  2026-11-11  AfterMarket  est. 0.09
AMAT.US  2026-11-12  AfterMarket  est. 4.06
CSCO.US  2026-11-12  AfterMarket  est. 1.15
NU.US    2026-11-12  AfterMarket  est. 0.22

932 characters, 0.8 seconds. The tickers that didn't report that week simply aren't in the list.

The detail I liked most was the error messages. On the demo key, the Vodafone and earnings-calendar calls returned a 403, with a hint written for an agent to read: a 403 means the plan doesn't cover the data, a 401 means a bad key, a 402 means the daily quota is spent, and get_user_details tells you which plan you're on without using quota. An agent can recover from that on its own instead of retrying blindly.

Pros

  • Widest coverage in one server: global stocks, ETFs, funds, indices, crypto, forex, bonds and macro.
  • Hosted, so there's nothing to install. OAuth on v2 means no API key pasted into a config file.
  • Every tool is read-only, so the model can't place an order by accident.
  • sections filters on fundamentals keep payloads small enough for the context window.

Cons

  • The free plan is for testing (20 calls a day, 1 year of end-of-day data). Agents need a paid plan.
  • Pass symbols on calendar calls, or the full week comes back at once.

Best for: anyone who wants one data layer for an AI agent that covers more than US stocks.

Which plan you need: to reproduce the Vodafone and earnings-calendar questions you need a paid plan. EOD Historical All-World ($19.99/month) covers global prices; fundamentals need the Fundamentals Data Feed ($59.99) or All-In-One ($99.99). I covered the full Claude setup in How to Analyze Stocks with Claude + EODHD MCP Server.

πŸ‘‰ Try the EODHD APIs MCP server here. Use the code KEVIN10 at checkout for 10% off.

2. Financial Modeling Prep MCP: best for deep US fundamentals

Financial Modeling Prep groups its API into a few broad MCP tools (chart, statements, calendar, company, quote and more), each with an endpoint parameter. It's a smart design: Claude sees 27 tools instead of hundreds, but can still reach as-reported statements, revenue segments, DCF models, 13F filings and earnings-call transcripts.

In my test it returned the same 342.37 close for AAPL, plus a VWAP. Vodafone on the LSE worked as VOD.L, with the first close of the window at 110.96, which matches Yahoo exactly. Its P/E TTM of 38.91 came with about 60 other ratios in one call.

Then I asked for the earnings calendar with limit: 5.

It returned 4,000 rows and 611,957 characters. The limit was ignored, and because the response was capped at 4,000 rows, Monday and Tuesday (November 9 and 10) were missing entirely. Only one of the big names I was looking for, Cisco, made it into the result. The EODHD APIs unfiltered answer was even bigger, but it contained all five days, and its symbols filter shrank it to 932 characters. I didn't find an equivalent filter on FMP's calendar tool.

Pros

  • Very deep US fundamentals: as-reported statements, segments, ratios, DCF, transcripts.
  • Few, broad tools keep the tool list small.
  • Prices matched EODHD and Yahoo to the cent.

Cons

  • Calendar endpoints can return payloads far bigger than a context window, and silently drop days.
  • Its pricing and MCP docs pages blocked my automated fetch, so check limits yourself before you commit.

Best for: equity research agents focused on US company financials.

3. Alpha Vantage MCP: the best-known name

Alpha Vantage was one of the first data providers to ship an official hosted MCP server, and it ranks #1 in several other lists. It covers stocks, forex, crypto, commodities, economic indicators and technical indicators.

Docs only. Its hosted server returned a 403 to my scripted MCP client, so I couldn't run my questions through it. Everything below comes from Alpha Vantage's own pages.

The appeal is simplicity. It's a remote server, so there's nothing to install: you add the URL from their MCP page to Claude, Cursor or VS Code with your free key and start asking. Under the hood it's the same Alpha Vantage API many developers already know: time series, company overviews, earnings, FX, crypto, economic indicators and technical indicators.

The catch is the rate limit. The free key allows 25 requests per day. Premium removes the daily cap and sells requests per minute instead:

Requests per minutePrice
75$49.99/month
150$99.99/month
300$149.99/month
600$199.99/month
1,200$249.99/month

Annual billing gives 2 months off, and they offer custom plans above 1,200 requests per minute.

Pros

  • Official, hosted MCP server from an established provider. Nothing to install.
  • Strong on technical indicators and macro series, computed server-side.
  • Familiar API: if you've used Alpha Vantage in Python, you already know what each tool returns.

Cons

  • 25 calls a day is about one agent conversation. You'll hit it fast.
  • The cheapest paid plan costs more than 2x the EODHD APIs entry plan.
  • I couldn't reach the server from a plain HTTP client, so test it from your own MCP client before you commit.

Best for: prototypes that lean on technical indicators, and developers already paying for Alpha Vantage.

4. Yahoo Finance MCP: best free option (with a catch)

The most popular open-source Yahoo Finance MCP server (368 GitHub stars, MIT license) wraps the yfinance Python library in 9 tools:

  • get_historical_stock_prices and get_stock_actions (dividends and splits)
  • get_stock_info, get_financial_statement and get_holder_info
  • get_yahoo_finance_news and get_recommendations
  • get_option_expiration_dates and get_option_chain

It runs locally. One command starts it, straight from GitHub:

uvx --from git+https://github.com/Alex2Yang97/yahoo-finance-mcp yahoo-finance-mcp

I ran my questions through yfinance 1.8.0, the library it calls under the hood. It passed everything:

AAPL close 2026-11-06: 342.37
VOD.L 5 years: 1,261 rows, 2021-11-08 (110.96) to 2026-11-06 (116.5)
AAPL trailing P/E: 39.03
Earnings Nov 9-13: 21 rows (QXO, NU, NBIS, CTVA...)

Every call took under a second. Free, no key, global coverage.

One small difference: EODHD returned 1,262 Vodafone rows and Yahoo 1,261. Yahoo's history is missing July 30, 2026.

So what's the catch? Yahoo doesn't offer a public API. yfinance reads Yahoo's website endpoints, and Yahoo's terms limit that to personal use. When Yahoo changes something on their side, the library breaks until a volunteer fixes it, and your agent goes blind in the meantime.

It also means rate limits you can't see. Yahoo throttles heavy traffic from a single IP, and an agent looping over 50 tickers is exactly that kind of traffic.

Pros

  • Free, no API key, and it worked on every question.
  • Good global coverage, options chains included.
  • Open source (MIT), so you can read exactly what each tool does.

Cons

  • Unofficial: personal use only, no SLA, and it breaks without warning.
  • Runs locally (uvx + Python), so it's not something you can hand to a non-technical user.
  • No screener, earnings-calendar or macro tools in this server.

Best for: personal projects and quick experiments. Don't build a product on it.

5. Massive MCP (formerly Polygon.io): best for US real-time and tick data

Massive is the new name of Polygon.io, and its MCP server (401 stars, MIT, marked "experimental") takes an unusual approach: instead of one tool per endpoint, it exposes three, search_endpoints, call_api and query_data. The model searches the API docs, then calls what it needs. There's also a hosted version at mcp.massive.com.

Docs only. That three-tool design is worth copying. A server with 100 tools sends 100 tool descriptions to the model before the first question. Massive sends three, and the model discovers the right endpoint on demand. It costs an extra call per question, but it keeps the context window free for the actual data.

Local setup takes Python 3.12+ and uv:

uv tool install "mcp_massive @ git+https://github.com/massive-com/mcp_massive@v0.10.0"
claude mcp add massive -e MASSIVE_API_KEY=your_api_key_here -- mcp_massive

If you still have an old Polygon key in your environment, POLYGON_API_KEY works as a deprecated alias.

Massive is built for US market data at high resolution: the pricing page highlights websockets and 20+ years of history. It lists Stocks Advanced at $199/month, with Financials & Ratios as a separate $29/month add-on (individual use only) and extra datasets such as NYSE order imbalances at $49/month.

Pros

  • Three tools instead of hundreds keeps the model's context clean.
  • The deepest US real-time data on this list, with websockets.
  • Runs hosted, locally or in Docker.

Cons

  • Expensive for an agent that mostly needs daily prices and fundamentals.
  • Fundamentals are a separate add-on, not part of the stocks plan.
  • Experimental status means tool names and behaviour may still change.

Best for: US intraday and high-frequency analysis.

6. Financial Datasets MCP: built for AI agents from day one

Financial Datasets was designed for LLM agents rather than retrofitted. Its open-source server (2.3k stars, MIT) has 10 focused tools: income statements, balance sheets, cash flows, prices, news and crypto. There's also a hosted endpoint at mcp.financialdatasets.ai.

Docs only. The tools are named exactly like the questions an analyst asks: get_income_statements, get_balance_sheets, get_cash_flow_statements, get_current_stock_price, get_historical_stock_prices and get_company_news, plus four crypto tools. That naming makes it easy for a model to pick the right one.

The site lists 27,530 tickers including delisted companies, and 30+ years of history. The pricing is simple:

PlanPriceRequestsNotes
Credits$20 one-time1,0001 year of history
Personal$200/month100,00030+ years of core history
Professional$2,000/month2,000,000commercial license, redistribution

Overage is $10 per 1,000 requests on Personal, and premium datasets cost several requests per call.

Pros

  • Small, clean tool set that an LLM uses well.
  • Includes delisted companies, which matters for backtests without survivorship bias.
  • Pay-as-you-go credits let you test without a subscription.

Cons

  • No free plan, and the monthly tier jumps straight to $200, 10x the EODHD APIs entry plan.
  • The open-source server has no earnings calendar, macro or screener tools.

Best for: fundamentals-driven agents that need clean statements, not breadth.

7. Alpaca MCP: best for trading, not research

Alpaca's official MCP server (1.1k stars, MIT) is the only one on this list that writes. It can place and cancel orders for stocks, ETFs, options and crypto, manage positions and watchlists, and read market data.

Docs only. Setup is one command once you have keys from a free paper account:

claude mcp add alpaca -e ALPACA_API_KEY=your_key -e ALPACA_SECRET_KEY=your_secret -- uvx alpaca-mcp-server

It defaults to paper trading (ALPACA_PAPER_TRADE=true). The README warns plainly that the server "can place real trades" once you set that flag to false. Two more details from the docs: the latest 15 minutes of market data need the Algo Trader Plus plan, and short-selling locates aren't available in paper trading.

If you connect it, design for mistakes. Keep paper trading on while you test prompts, ask Claude to confirm every order before sending it, and cap position size in your instructions. A model that reads "sell half" as "sell all" is a bad day in a live account.

Pros

  • Real order execution from a chat window, with paper trading as the default.
  • Stocks, ETFs, options and crypto in one server.
  • Free to start.

Cons

  • US markets only, and no fundamentals or calendars.
  • An LLM with order permissions is a risk you have to design around (confirmations, position limits).

Best for: pairing with a research server like EODHD: one MCP to think, one to execute.

8. SEC EDGAR MCP: best free source for filings

The SEC EDGAR MCP server (387 stars, AGPL-3.0) gives your agent 10-K, 10-Q and 8-K filings, XBRL financial statements and Form 3/4/5 insider trades, straight from the SEC.

Its tools are grouped by job:

  • Company: CIK lookup, company info and company facts.
  • Filings: 10-K, 10-Q and 8-K retrieval, with section extraction.
  • Financials: balance sheet, income statement and cash flow, parsed from XBRL.
  • Insider trading: Forms 3, 4 and 5.

The quickest way to run it is Docker. The SEC asks for a user agent with your name and email:

docker run -i --rm -e "SEC_EDGAR_USER_AGENT=Your Name (your@email.com)" stefanoamorelli/sec-edgar-mcp:latest

I called the SEC's XBRL API it relies on. Apple's FY2026 10-K (filed November 3, 2026) reports revenue of $478,834,000,000, which is the cross-check I used for EODHD above. It answered in half a second, for free.

Pros

  • Primary-source numbers, free, no API key (just a user agent with your name and email).
  • Exact values from the filing, not a provider's estimate.

Cons

  • No prices at all, and US filers only.
  • AGPL license: check it before you ship it inside a commercial product (the author offers commercial licensing).
  • It's a community project, not affiliated with the SEC.

Best for: fact-checking fundamentals and reading filings. It pairs well with EODHD: one for prices and coverage, one for the primary source.

Where each one breaks

No MCP server makes an agent correct on its own. Here's what I'd still validate by hand:

  • Ratios differ by provider. A P/E between 38.13 and 39.03 for the same stock on the same day is normal. If your agent compares companies, take every ratio from one source.
  • Payload size is the hidden failure. A server can be "right" and still break your agent by returning more text than the model can read. Test the calls your agent will make most, with real date ranges.
  • Free tiers are for testing, not for agents. An agent might make 5 to 20 tool calls per question. The EODHD APIs free plan (20 calls/day) or Alpha Vantage's 25 run out in a single conversation.
  • Unofficial sources fail silently. Yahoo worked perfectly today. That says nothing about next month.
  • The data is only half the system. An agent still needs rules it can be audited against. I showed one way to do that in How to Build an AI Stock Picker in Python You Can Actually Audit, and why most strategies look better before you test them in I Tested 7 Popular Trading Strategies in Python.

Which financial MCP server should you choose?

  • You want one server that covers almost everything, globally: EODHD.
  • You only analyse US companies and want maximum depth on financials: FMP or Financial Datasets.
  • You need tick data and real-time US quotes: Massive.
  • You're experimenting for free: Yahoo Finance MCP, then move to a paid source before you ship.
  • You want primary-source filings: SEC EDGAR MCP, alongside any of the above.
  • You want the agent to trade: Alpaca, paired with a research server.

FAQ

What is a financial MCP server? It's a server that implements the Model Context Protocol so an AI assistant like Claude, ChatGPT or Cursor can call financial data APIs as tools: prices, fundamentals, news, filings. The model decides which tool to call and reads the result.

Is there a free MCP server for stock market data? Yes. The open-source Yahoo Finance MCP and the SEC EDGAR MCP are free. EODHD has a free plan (20 calls/day, 1 year of end-of-day data) and Alpha Vantage gives 25 requests/day. All of them run out quickly once an agent starts making several calls per question.

Which MCP server works with Claude Desktop? All eight do. The EODHD APIs v2 endpoint and the hosted Alpha Vantage, Massive and Financial Datasets servers connect as remote connectors. Yahoo Finance, Alpaca and SEC EDGAR run locally through uvx or Docker.

Can an MCP server place trades? Only the ones built for it. Alpaca's MCP can place orders (paper trading by default). The EODHD APIs MCP tools are all read-only, so a research agent can't trade by accident.

Do MCP servers return the same numbers? Prices do: EODHD, FMP and Yahoo all returned 342.37 for AAPL on November 6, 2026. Calculated fundamentals like P/E differ by up to about 2.4% between providers, because each one uses a different price and earnings definition.

The bottom line

The model is no longer the bottleneck. Claude can reason about a balance sheet just fine.

What it doesn't have is the data.

The MCP server you connect decides what your agent knows, how much context it wastes, and whether it still works next month. For most people building with financial data in 2026, that's EODHD: global coverage, one hosted endpoint, read-only by design, and a price that doesn't need a budget meeting.

πŸ‘‰ Get started with EODHD here. Use the code KEVIN10 at checkout for 10% off.

This article compares data tools. It isn't financial advice.

If you're a software or API company looking to explain your product through high-quality educational content (not marketing fluff), feel free to connect with me on LinkedIn.

8 Best MCP Servers for Financial Data in 2026 (Tested)