A production-grade MCP server for the Tiingo financial data API
Project description
tiingo-mcp
An MCP server that wraps the Tiingo financial data API. Covers stocks, forex, crypto, news, fundamentals, and corporate actions across 17 tools.
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
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
Links
Project details
Release history Release notifications | RSS feed
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 tiingo_mcp-1.1.0.tar.gz.
File metadata
- Download URL: tiingo_mcp-1.1.0.tar.gz
- Upload date:
- Size: 12.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
226bc1288f1e4f39ce0b8aeff5e9d440567c76bba482ce27d427b9b0399251c9
|
|
| MD5 |
ef95b41526a700aa09cb765af4f0afb0
|
|
| BLAKE2b-256 |
d63d325b148caff44884cc2cd3fd1e19bea4a097e40b372bc84798563f7d0b7e
|
File details
Details for the file tiingo_mcp-1.1.0-py3-none-any.whl.
File metadata
- Download URL: tiingo_mcp-1.1.0-py3-none-any.whl
- Upload date:
- Size: 15.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62df47e46d92d2092ba89bbeebe86c344cdb541c1cc088b8cc52e1a1a63f8d53
|
|
| MD5 |
d59dae6ffeabf7f40511fc2d4c311a7e
|
|
| BLAKE2b-256 |
d689890d0ed546db9a6bd18a75b513f67fd891df832b019f228aa3dc07fc4199
|