Twelve Data MCP: real-time & historical market data (stocks, crypto, forex, etc).
One address for any MCP client. You sign in at auth.twelvedata.com once, after adding it.
At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
| Access to | Read | Change |
|---|---|---|
| Twelvedata | Not stated: twelvedata | |
From the sign-in at auth.twelvedata.com, as the endpoint publishes it. You approve it there.
Odel could not list its tools without signing in.
Connect Claude, ChatGPT, and other AI assistants to the Twelve Data financial API — real-time and historical prices, 60+ technical indicators, fundamentals, earnings, dividends, ETFs, company news, market movers, and more.
You need a Twelve Data account. Sign up at twelvedata.com.
There are two ways to use it. Most people should use the cloud server (Option 1) — there is nothing to install.
Connect your AI assistant to our hosted server:
https://mcp.twelvedata.com/mcp
That's it. No installation, no API key to copy and paste. When you connect, a browser window opens and you log in with your Twelve Data account — your personal API key is linked automatically and stays tied to your account.
Claude (Desktop / Web) and ChatGPT support custom connectors / MCP servers:
https://mcp.twelvedata.com/mcp.The exact menu names differ between apps and versions, but the flow is always the same: add the URL, then log in via the browser popup.
The MCP host does not issue tokens. The connector URL is https://mcp.twelvedata.com/mcp. The client must follow that URL's protected-resource metadata to the authorization server named there. Do not point a connector at the host root (it answers 404), or at this host's /register or /.well-known/oauth-authorization-server.
Perplexity Pro, Max, and Enterprise users can add the hosted server as a custom remote connector. That is a per-account setup, not a listing in Perplexity's public curated directory.
Twelve Data and MCP Server URL to https://mcp.twelvedata.com/mcp.Each person signs in with their own Twelve Data account. If an Enterprise admin shares the connector, require individual authentication for each member. Do not paste a Twelve Data API key into the connector's API Key authentication field.
If the OAuth window is blocked, login fails, or tools stop after idle time, open the Twelve Data connector, disable it, enable it again, and sign in. Reconnect this way rather than switching the connector to API Key auth. Confirm the URL is exactly https://mcp.twelvedata.com/mcp with no trailing slash, and that the Twelve Data plan includes the requested data. See Perplexity's custom remote connector guide for the current settings screens.
Add the hosted MCP server to Codex without installing this repository or copying an API key:
codex mcp add twelvedata --url https://mcp.twelvedata.com/mcp
codex mcp list
The add command starts OAuth: complete the Twelve Data sign-in in your browser. If you need to authorize again later, run codex mcp login twelvedata. In Codex, use /mcp to check the connection, then ask: "Use Twelve Data to get the latest quote for AAPL." and "Use Twelve Data to show AAPL RSI." To disconnect, run codex mcp remove twelvedata.
The public plugin repository is https://github.com/MazeBraker/twelvedata-skills. It installs the skills and the same hosted MCP:
codex plugin marketplace add https://github.com/MazeBraker/twelvedata-skills
codex plugin add twelvedata@twelvedata-skills
Prefer to run the server on your own machine? You only need your Twelve Data API key — no OAuth setup. Get it at twelvedata.com → your dashboard → API Keys.
Requires Python 3.10+ (3.12 recommended; on macOS brew install python@3.12 or make python-install).
make install
Create a .env file in the project root with your key, readable only by you:
echo 'TWELVE_DATA_API_KEY=your_api_key_here' > .env
chmod 600 .env
The server reads the key from .env and every request uses it. No login step needed.
Claude Desktop — add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"twelvedata": {
"command": "/path/to/mcp/.venv/bin/python",
"args": ["/path/to/mcp/src/server.py"]
}
}
}
Use the .venv/bin/python path (not the system Python — macOS ships 3.9, and this server needs 3.10+). Restart Claude Desktop after editing the config.
Claude Code:
claude mcp add twelvedata -- /path/to/mcp/.venv/bin/python /path/to/mcp/src/server.py
make run # serves http://localhost:8000/mcp
claude mcp add --transport http twelvedata http://localhost:8000/mcp
docker build -t twelvedata-mcp .
docker run --rm --env-file .env -p 127.0.0.1:8000:8000 twelvedata-mcp
--env-file keeps the key out of your shell history. Connect to http://localhost:8000/mcp as in step 4. OAuth login is not supported in Docker.
make run and Docker serve /mcp with no authentication, on 0.0.0.0 by default.auth_status and oauth_configure. That includes a web page you open, through DNS rebinding, because the default bind checks neither the Host nor the Origin header.MCP_HOST=127.0.0.1 make run keeps the server local and turns on the MCP SDK's Host and Origin check.MCP_HOST=127.0.0.1, ngrok works only when started with --host-header=rewrite.Call auth_status from your client first. It shows whether an API key is configured, the stored token, the detected host and the redirect URI — usually enough to see what is missing.
Symbol formats: stocks AAPL, crypto BTC/USD, forex EUR/USD.
Running your own public instance or setting up a dedicated OAuth login? That's a partner arrangement — reach out to us at twelvedata.com and we'll provide the setup guide and OAuth credentials.