tiingo-mcp

An MCP server that wraps the Tiingo financial data API. Covers stocks, forex, crypto, news, fundamentals, and corporate actions across 17 tools, 4 resources, and 5 prompts.
Installation
uvx tiingo-mcp
# or
pip install tiingo-mcp
Requires Python 3.12+.
Configuration
export TIINGO_API_KEY="your-api-key-here"
Free API keys at api.tiingo.com. The free plan covers stocks, forex, crypto, news, and fundamentals. Dividends and splits endpoints need a Power or Business plan.
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"tiingo": {
"command": "uvx",
"args": ["tiingo-mcp"],
"env": {
"TIINGO_API_KEY": "your-api-key-here"
}
}
}
}
Claude Code
claude mcp add tiingo -- uvx tiingo-mcp
Other Clients
Anything that speaks stdio:
TIINGO_API_KEY=your-key tiingo-mcp
Tools
Stocks (EOD)
| Tool |
Description |
get_stock_metadata |
Ticker info — name, exchange, description, date range |
get_stock_prices |
Historical EOD OHLCV with adjusted prices |
Real-Time & Intraday (IEX)
| Tool |
Description |
get_realtime_price |
Current IEX top-of-book quote |
get_intraday_prices |
Intraday prices at 1min–1hour intervals |
Forex
| Tool |
Description |
get_forex_quote |
Current top-of-book rate |
get_forex_prices |
Historical forex prices |
Crypto
| Tool |
Description |
get_crypto_quote |
Current prices (2,100+ tickers) |
get_crypto_prices |
Historical crypto prices |
get_crypto_metadata |
Ticker metadata and supported exchanges |
News
| Tool |
Description |
get_news |
Search financial articles by ticker, tag, source, date |
Fundamentals
| Tool |
Description |
get_fundamentals_definitions |
Metric definitions |
get_financial_statements |
Income statements, balance sheets, cash flow |
get_daily_fundamentals |
Daily metrics — market cap, P/E, EV/EBITDA |
get_company_meta |
Sector, industry, location |
Corporate Actions
| Tool |
Description |
get_dividends |
Dividend and distribution history * |
get_dividend_yield |
Dividend yield history |
get_splits |
Stock split history * |
* Requires Power or Business plan
Resources
Static reference data exposed as browsable MCP resources. No API calls consumed.
| Resource |
Description |
tiingo://capabilities |
Server capabilities, asset classes, rate limits, plan restrictions |
tiingo://fundamentals/definitions |
Curated reference of 20 key fundamental metrics |
tiingo://guide/date-formats |
Date formats, resample frequencies, sort options |
tiingo://guide/{asset_class} |
Usage guide per asset class (stocks, forex, crypto, news, fundamentals, corporate-actions) |
Prompts
Reusable workflow templates that guide LLMs through multi-step financial analysis.
| Prompt |
Arguments |
Description |
analyze-stock |
ticker, include_news |
Comprehensive single-stock analysis |
compare-stocks |
ticker1, ticker2, period |
Side-by-side stock comparison |
crypto-market-overview |
tickers |
Crypto market snapshot with 7-day trends |
earnings-report-analysis |
ticker, earnings_date |
Earnings report with price reaction and news |
forex-pair-analysis |
pair, period |
Currency pair trend and volatility analysis |
Parameters
Dates are YYYY-MM-DD format.
| Parameter |
Used By |
Description |
start_date |
Most tools |
Start of date range |
end_date |
Most tools |
End of date range |
resample_freq |
Price tools |
daily, weekly, monthly, annually, 1min, 5min, 1hour, etc. |
tickers |
Crypto, news, meta |
Comma-separated list |
Rate Limits
| Plan |
Requests/Hour |
Requests/Day |
| Free |
50 |
1,000 |
| Power |
5,000 |
50,000 |
| Business |
Higher |
Higher |
The server retries transient errors (2x) and returns JSON error objects for rate limits (429), auth failures (401), plan restrictions (403), and bad tickers (404).
Development
git clone https://github.com/wshobson/tiingo-mcp.git
cd tiingo-mcp
uv sync
# Unit tests (no API key needed)
uv run pytest tests/test_client.py tests/test_server.py -v
# Integration tests (needs TIINGO_API_KEY)
uv run pytest tests/test_integration.py -v -s
# All tests
uv run pytest -v
# Lint & format
uv run ruff check src/ tests/
uv run ruff format src/ tests/
License
MIT
Links
No comments yet
Be the first to share your take.