The official MCP server for EODHD makes it easy for AI agents and large language models (LLMs) to connect with real-time and historical financial data using the Model Context Protocol (MCP). With this integration, popular AI platforms like ChatGPT and Claude, as well as any custom-trained LLMs, AI assistants, or autonomous agents can access EODHD’s rich financial datasets. The server exposes 75 read-only tools, 100+ documentation resources, and 3 prompt templates — giving developers and fintech teams a powerful way to bring stock market data, fundamentals, technical analysis, and macro indicators directly into their AI workflows.
Server Versions
EODHD provides two versions of the MCP server. Both share the same codebase, tools, and features — the only difference is the authorization method.
| Version | URL | Authorization | Best for | GitHub |
|---|---|---|---|---|
| v1 | https://mcp.eodhd.dev/v1/mcp | API key (passed as a URL parameter) | ChatGPT, custom agents, programmatic access | EODHD-MCP-Server |
| v2 | https://mcp.eodhd.dev/v2/mcp | OAuth 2.0 (built-in OAuth server) | Claude Desktop and other clients with native OAuth support | EODHD-MCP-Server-v2 |
v1 — API Key Authorization
To access the v1 server, provide your API key as a URL parameter. Sign up for free to get your API key. The free plan grants access to limited data — you can compare access levels on our pricing page. You can also use the “demo” key:
https://mcpv2.eodhd.dev/v1/mcp?apikey=YOUR_API_KEY
v2 — OAuth Authorization
The v2 server includes a built-in lightweight OAuth server. Clients that support OAuth (such as Claude Desktop) can connect without manually passing an API key — the OAuth flow handles authentication automatically. Simply use the v2 URL and follow the OAuth consent flow in your client:
https://mcpv2.eodhd.dev/v2/mcp
Both versions provide the same 75 tools and 100+ documentation resources. Choose v1 if your client expects an API key in the URL, or v2 if your client supports OAuth natively.
Key Features
Agent Documentation Resources
The MCP server includes 100+ pages of EODHD API documentation embedded directly as MCP resources. AI agents can look up endpoint details, available parameters, and subscription plan coverage without consuming any API calls. The documentation is parsed into structured JSON, so agents navigate it programmatically. This covers 72 endpoint reference pages, 7 subscription plan guides, and 28 general reference pages (authentication, data formats, exchange lists, rate limits, symbol conventions). The retrieve_description_by_id tool provides instant access to any documentation page.
Smart Ticker Resolution
The resolve_ticker tool converts company names, partial tickers, or ISINs into the correct SYMBOL.EXCHANGE format. For example, “Apple” resolves to AAPL.US, “Deutsche Bank” to DBK.XETRA. When a company trades on multiple exchanges, it returns the top 10 alternatives with exchange details. This is designed to be called first whenever a user mentions a company by name.
Prompt Templates
Three ready-to-use MCP prompt templates that chain multiple tools into complete workflows:
- analyze_stock(ticker) — Full single-stock analysis: fundamentals → historical prices → support/resistance → technicals → news. Outputs a summary with bull/bear case and key metrics.
- compare_stocks(ticker1, ticker2) — Side-by-side comparison: Market Cap, P/E, Revenue Growth, Profit Margin, 52W Return, Dividend Yield with a verdict.
- market_overview(exchange) — Daily market snapshot: top gainers/losers, upcoming economic events, earnings watch.
Reliability
- Input formatters — standardized input sanitization across all 75 tools. Accepts 30+ date formats (ISO, US, EU, named months, Unix timestamps) and normalizes automatically. Ticker and exchange sanitization prevents URL-breaking characters.
- Output formatters — structured MCP resource responses with proper MIME types. Binary data (logos, PDFs) base64-encoded. API errors converted to structured ToolError messages.
- 197 automated tests, CI on Python 3.10–3.13. Security toolchain: Ruff, MyPy, Bandit, Semgrep, pip-audit.
How to Add MCP Server to ChatGPT
ChatGPT uses API key authorization — use the v1 endpoint.
| Action | Explanation / What to check |
|---|---|
| 1. Open ChatGPT → go to Settings | In web or desktop app. Your ChatGPT plan (Plus, Pro, Business, Enterprise, etc.) must support connectors / MCP. Business, Enterprise accounts — available only for the owner. |
| 2. Enable Developer Mode under “Connectors” or advanced settings | This unlocks the ability to add a custom MCP connector. |
| 3. Go to Connectors (or “Sources”) tab and click Add connector / source | You should see an option to “Add MCP server” or similar. |
| 4. Enter MCP server URL — https://mcp.eodhd.dev/v1/mcp?apikey=YOUR_API_KEY and a label/name | Use the full URL path (ending in /v1/mcp) with your API key. Get the key from the EODHD dashboard. |
| 5. Save / enable the connector | After adding, the connector becomes available (for your user or workspace). |
| 6. In a new Chat, click “Add sources” (or “+ / Sources”) and select your newly added MCP connector | This attaches the MCP to that chat session. |
Use a tool through the MCP. For example, ask ChatGPT:
“Use the get_historical_stock_prices tool via EODHD to fetch AAPL historical data for 2024″
ChatGPT will call the MCP server under the hood, execute the tool, and return results.
Using with Claude Desktop
Claude Desktop supports OAuth natively — use the v2 endpoint for the simplest setup. You can also use v1 with an API key if you prefer.
Option 1: v2 with OAuth (recommended)
Add the v2 server URL in Claude Desktop. The built-in OAuth server will handle authentication — you will be prompted to authorize through a consent flow, no API key needed.
https://mcp.eodhd.dev/v2/mcp
Option 2: v1 with API key
A) Install via MCP bundle (.mcpb)
- Download the .mcpb from Releases (https://github.com/EodHistoricalData/EODHD-MCP-Server/releases).
- Claude Desktop → Settings → Extensions → Advanced → Install Extension.
- Select the .mcpb, approve, enter your API key, enable the extension.
B) Use source checkout (developer config)
- Clone the repo (https://github.com/EodHistoricalData/EODHD-MCP-Server) anywhere.
- Claude Desktop → Developer → Edit config, add:
{
"mcpServers": {
"eodhd-mcp": {
"command": "python3",
"args": [
"/home/user/EODHD-MCP-Server/server.py",
"--stdio"
],
"env": {
"EODHD_API_KEY": "YOUR_EODHD_API_KEY"
}
}
}
}
Install and Run Locally
Both server versions are open source and can be downloaded and run locally. Visit the GitHub repositories to get started — setup instructions are provided in each README. The servers support three transports: streamable-http (default), SSE (Server-Sent Events), and stdio (for Claude Desktop and Claude Code).
- v1 (API key): github.com/EodHistoricalData/EODHD-MCP-Server
- v2 (OAuth): github.com/EodHistoricalData/EODHD-MCP-Server-v2
Tools
Both v1 and v2 expose the same set of 75 tools.
EODHD main datasets:
| Tool | Description | Documentation |
|---|---|---|
| resolve_ticker | Resolve a company name, partial ticker, or ISIN to the correct SYMBOL.EXCHANGE format. Handles multi-exchange ambiguity. | API Documentation |
| retrieve_description_by_id | Access 100+ pages of embedded API documentation — endpoints, subscription plans, and general references. No API calls consumed. | GitHub |
| get_historical_stock_prices | Retrieve end-of-day historical stock prices for a given symbol and date range. | API Documentation |
| get_live_price_data | Get live quote data for stocks, ETFs, indices, and other instruments. | API Documentation |
| get_intraday_historical_data | Fetch historical intraday data (minute/hour resolution) for a symbol. | API Documentation |
| get_fundamentals_data | Retrieve fundamental company data (financial statements, ratios, etc.). | API Documentation |
| get_bulk_fundamentals | Fetch fundamental data for all stocks on an exchange in bulk — up to 500 tickers per call. Covers General, Highlights, Valuation, Technicals, Earnings, Financials. | API Documentation |
| get_us_tick_data | Access U.S. tick-by-tick trade and quote data. | API Documentation |
| get_historical_market_cap | Retrieve historical market capitalization values for a company. | API Documentation |
| get_historical_dividends | Retrieve historical dividend payment data for a company. | API Documentation |
| get_historical_splits | Retrieve historical stock split data for a company. | API Documentation |
| get_company_news | Get recent or historical news articles related to a company/ticker. | API Documentation |
| get_sentiment_data | Returns sentiment analysis data (positive/negative/neutral) on news or social content. | API Documentation |
| get_news_word_weights | Extract weighted keyword data from financial news. | API Documentation |
| get_exchanges_list | Retrieve a full list of supported stock exchanges. | API Documentation |
| get_exchange_tickers | Get all tickers listed on a specific exchange. | API Documentation |
| get_exchange_details | Fetch detailed metadata about a particular exchange. | API Documentation |
| get_macro_indicator | Access macroeconomic indicators (GDP, inflation, etc.). | API Documentation |
| get_economic_events | Get global economic events calendar with forecasts and actuals. | API Documentation |
| get_symbol_change_history | Retrieve history of symbol/ticker changes (e.g., renames, delistings). | API Documentation |
| get_stocks_from_search | Search stocks and instruments by name, ticker, or ISIN. | API Documentation |
| get_user_details | Retrieve account information and API usage details. | API Documentation |
| get_insider_transactions | Access insider transaction reports for U.S. public companies. | API Documentation |
| capture_realtime_ws | Connect to WebSocket to capture real-time data streams (US trades, US quotes, forex, crypto). | API Documentation |
| get_stock_screener_data | Use stock screener filters to retrieve matching instruments. | API Documentation |
| get_upcoming_earnings | List upcoming earnings reports with dates and expectations. | API Documentation |
| get_earnings_trends | Retrieve historical and forecasted earnings trends for a company. | API Documentation |
| get_upcoming_ipos | Get calendar of upcoming IPOs with details. | API Documentation |
| get_upcoming_splits | Access information on upcoming stock splits. | API Documentation |
| get_upcoming_dividends | Access upcoming ex-dividend dates with flexible filters by symbol or date. | API Documentation |
| get_us_live_extended_quotes | New “Live v2” endpoint — provides extended live quotes for U.S. instruments. | API Documentation |
| get_technical_indicators | Analytics tool — SMA, EMA, RSI, MACD, etc. | API Documentation |
| get_support_resistance_levels | Compute support and resistance levels using 5 pivot point methods: Classic, Fibonacci, Woodie, Camarilla, DeMark. Calculated server-side from historical data. | API Documentation |
| get_cboe_indices_list | Retrieve a list of available CBOE indices with latest values and metadata. | API Documentation |
| get_cboe_index_data | Get detailed CBOE index data, including index levels and full component breakdown. | API Documentation |
| get_stock_market_logos | Get company logo in PNG format (200×200, transparency). 40,000+ logos across 60+ exchanges. | API Documentation |
| get_stock_market_logos_svg | Get company logo in SVG vector format. Available for US and Toronto exchanges. | API Documentation |
| get_ust_bill_rates | US Treasury bill rates — daily rates for 4WK through 52WK tenors (bank discount rate + coupon-equivalent yield). | API Documentation |
| get_ust_yield_rates | US Treasury par yield curve — rates for maturities from 1 month to 30 years. | API Documentation |
| get_ust_real_yield_rates | US Treasury real yield rates (TIPS — Treasury Inflation-Protected Securities). | API Documentation |
| get_ust_long_term_rates | US Treasury long-term composite rates. | API Documentation |
Marketplace products (by EODHD):
| Tool | Description | Documentation |
|---|---|---|
| get_mp_us_options_contracts | Retrieve available U.S. options contracts for an underlying asset. | API Documentation |
| get_mp_us_options_eod | Access end-of-day data for U.S. options contracts. | API Documentation |
| get_mp_us_options_underlyings | Get list of underlying assets available in the U.S. options dataset. | API Documentation |
| get_mp_indices_list | Retrieve a list of supported indices in the marketplace dataset. | API Documentation |
| get_mp_index_components | Get components/constituents of a selected index. | API Documentation |
| get_mp_tick_data | Access marketplace tick-by-tick data. | API Documentation |
| get_mp_tradinghours_list_markets | List all available markets from the TradingHours API. | API Documentation |
| get_mp_tradinghours_lookup_markets | Search for markets by name or country. | API Documentation |
| get_mp_tradinghours_market_details | Get full market metadata — timezone, MIC codes, regular/pre/post-market sessions, holiday calendar. | API Documentation |
| get_mp_tradinghours_market_status | Get real-time open/closed status for a market. | API Documentation |
Marketplace products (third-party providers):
| Tool | Description | Documentation |
|---|---|---|
| get_mp_illio_performance_insights | Illio performance analytics dataset. | API Documentation |
| get_mp_illio_risk_insights | Risk factor analytics from Illio. | API Documentation |
| get_mp_illio_market_insights_performance | Market performance insights via Illio API. | API Documentation |
| get_mp_illio_market_insights_best_worst | Best/worst performing instruments analytics. | API Documentation |
| get_mp_illio_market_insights_volatility | Market volatility insights. | API Documentation |
| get_mp_illio_market_insights_risk_return | Risk–return analysis showing how instruments perform relative to market risk. | API Documentation |
| get_mp_illio_market_insights_largest_volatility | Identify instruments with the largest increases and decreases in volatility over time. | API Documentation |
| get_mp_illio_market_insights_beta_bands | Analyze instrument sensitivity to market movements using beta band distributions. | API Documentation |
| Tool | Description | Documentation |
|---|---|---|
| get_mp_praams_risk_scoring_by_ticker | Retrieve PRAAMS equity risk and return scoring for a company using its ticker symbol. | API Documentation |
| get_mp_praams_risk_scoring_by_isin | Retrieve PRAAMS equity risk and return scoring for a company using its ISIN. | API Documentation |
| get_mp_praams_bond_analyze_by_isin | Access detailed PRAAMS bond risk and return analysis for a specific bond identified by ISIN. | API Documentation |
| get_mp_praams_bank_income_statement_by_ticker | Retrieve bank income statement data using a ticker symbol, including core revenue and profitability metrics. | API Documentation |
| get_mp_praams_bank_income_statement_by_isin | Retrieve bank income statement data using an ISIN, including recurring and non-recurring income details. | API Documentation |
| get_mp_praams_bank_balance_sheet_by_ticker | Access detailed bank balance sheet data using a ticker symbol, including assets, liabilities, and equity. | API Documentation |
| get_mp_praams_bank_balance_sheet_by_isin | Access detailed bank balance sheet data using an ISIN, including assets, liabilities, and equity. | API Documentation |
| get_mp_praams_report_equity_by_ticker | Generate comprehensive multi-factor PDF investment report for an equity by ticker. Covers valuation, performance, profitability, growth, dividends, and 6 risk dimensions. 120,000+ global equities. | API Documentation |
| get_mp_praams_report_equity_by_isin | Generate comprehensive multi-factor PDF investment report for an equity by ISIN. | API Documentation |
| get_mp_praams_report_bond_by_isin | Generate comprehensive multi-factor PDF investment report for a bond by ISIN. | API Documentation |
| get_mp_praams_smart_investment_screener_equity | Smart investment screener for equities — filter and rank stocks using multi-factor risk/return criteria. | API Documentation |
| get_mp_praams_smart_investment_screener_bond | Smart investment screener for bonds — filter and rank bonds using multi-factor risk/return criteria. | API Documentation |
| Tool | Description | Documentation |
|---|---|---|
| get_mp_investverte_esg_list_companies | Retrieve a list of companies covered by the Investverte ESG dataset. | API Documentation |
| get_mp_investverte_esg_list_countries | Retrieve a list of countries covered by the Investverte ESG dataset. | API Documentation |
| get_mp_investverte_esg_list_sectors | Retrieve a list of sectors available in the Investverte ESG dataset. | API Documentation |
| get_mp_investverte_esg_view_company | Access ESG ratings and scores for a specific company across environmental, social, and governance dimensions. | API Documentation |
| get_mp_investverte_esg_view_country | Access aggregated ESG ratings and scores for a specific country. | API Documentation |
| get_mp_investverte_esg_view_sector | View ESG data aggregated by sector and industry over time. | API Documentation |
More endpoints and datasets to be added soon. Feel free to contact our support if you are expecting something specific.