← Back to directory
T

Twelve Data MCP Server

Official
Connect AI assistants to Twelve Data financial market data
Category
Other #131 of 230
Stars
★ 82 Popular
Transport
Streamable HTTP · stdio (local process)
Runtime
Python 3.10+ · Hosted (no local runtime)
Credentials
API key / credential required
Last commit
52FMRS · D

Officially maintained by Twelve Data, this server exposes its financial data API via either a hosted OAuth-based cloud connector or a local stdio setup using a personal API key, covering prices, technical indicators, fundamentals, news, and regulatory data; it requires a Twelve Data account and the repository carries no stated license.

Strongest · Setup experience 13/20 Weakest · Maintenance 7/20

Reliability
8/20
Security and permissions
13/20
Maintenance
7/20
Documentation
11/20
Setup experience
13/20
Why each score
Reliability 8/20
The README describes two paths (cloud OAuth and local stdio) and the local path names a concrete entry point (src/server.py) with a config example, so the flow reads as internally consistent on paper. However, no CI workflow, committed tests, or a cached manifest are available to verify the MCP init/tool-list handshake or confirm declared tools match real behavior, and there is no description of error handling or dependency controllability. Per the static calibration rule, reliability is capped at 12 without verifiable execution evidence; 8 reflects 'plausible happy path but no evidence for tests, edge cases, or error handling.'
Security and permissions 13/20
This is fundamentally a read-only financial data query service with no delete/pay/remote-execution style irreversible defaults, so the blast radius is inherently limited. The cloud option uses a browser-based OAuth login that binds the API key to the account, avoiding hardcoded secrets in client config; the local option stores the key in a .env file, a standard practice, and no example contains a real token. That said, the docs do not explain OAuth token storage, lifetime, or revocation, do not disclose how the cloud server handles or retains request/response data, and give no detail on least-privilege scoping or third-party data flow; the 'Partners' section's self-hosted OAuth credential process is also undocumented. This is scored as 'main risks visible but permission scope and data-flow disclosure incomplete,' hence 13.
Maintenance 7/20
License is listed as 'unknown,' a clear deduction with real compliance implications for adopters. 74 stars, 4 open issues, and non-archived status suggest some ongoing activity, but the source material provides no commit history, release cadence, dependency-update record, or security-response channel to verify governance quality. Score of 7 reflects 'some activity signals but missing license plus insufficient governance evidence.'
Documentation 11/20
The README is well organized, covering both cloud and local installation, the authentication flow, a categorized list of available data capabilities (prices, indicators, fundamentals, news, etc.), and symbol-format examples — friendly for newcomers. It lacks tool/parameter-level documentation (per-tool input/output schemas), rate-limit and cost disclosure, a troubleshooting section, and any statement on cloud-side data retention; some assumptions (e.g., local setup details for non-macOS platforms) are underspecified. Score 11: 'usable but with hidden assumptions and troubleshooting gaps.'
Setup experience 13/20
The cloud path requires only entering a URL and completing a browser login — very low friction. The local path specifies the Python version requirement, make install, .env configuration, and a Claude Desktop JSON config example, all fairly concrete. However, local setup requires manually editing JSON with an absolute path (error-prone), documentation is macOS-centric (mentions brew for Python) without clear Windows/Linux guidance or troubleshooting, and there is no repository-level CI or automated test verifying the install flow's reproducibility. Per the static calibration rule, setup is capped at 15 without executable evidence; 13 is given.

Static review · not runListed 2026-08-26

Read the FMRS scoring method →

Fit and risk

What it can accessUses the network

Best for

  • Individuals or teams with a Twelve Data account who want market data inside their AI assistant
  • Users who want a no-install setup via the hosted cloud connector
  • Developers who prefer to self-host with their own API key

Not for

  • Users without a Twelve Data account who don't want to sign up or authorize access
  • Fully offline scenarios with no third-party data dependency
  • General tasks unrelated to financial market data

Required permissions

  • Cloud option: browser-based OAuth login linking your account to the Twelve Data hosted service
  • Local option: reads TWELVE_DATA_API_KEY from a .env file and uses it to call the Twelve Data API
  • Makes outbound network requests to fetch market data (to mcp.twelvedata.com for the cloud option, or directly to the Twelve Data API locally)

Risks and side effects

  • The cloud server is hosted by Twelve Data, requiring account authorization to a third-party service
  • In local mode, the API key is stored in plaintext in the .env file and must be kept secure
  • Data access and rate limits are bound by your Twelve Data subscription plan
  • The repository does not specify an open-source license, leaving usage and redistribution terms unclear

Setup

Before you start

Runtime:Python 3.10+ · Hosted (no local runtime)

TWELVE_DATA_API_KEY requiredsecret Your Twelve Data API key, obtained from the API Keys section of your dashboard at twelvedata.com.

Option 1 (recommended, cloud server): in Claude's or ChatGPT's connector/integration settings, add the URL https://mcp.twelvedata.com/mcp; a browser window opens to log in with your Twelve Data account and your personal API key is linked automatically. Option 2 (local): get your API key from the Twelve Data dashboard; install Python 3.10+ (3.12 recommended) and run make install; create a .env file in the project root with TWELVE_DATA_API_KEY=your_api_key_here; add an mcpServers entry to Claude Desktop's claude_desktop_config.json pointing command at the project's .venv/bin/python and args at src/server.py (use the venv Python, not the system one, since macOS ships Python 3.9); restart Claude Desktop after saving.

claude_desktop_config.json
{
  "mcpServers": {
    "twelvedata": {
      "command": "/path/to/twelve-data-mcp/.venv/bin/python",
      "args": [
        "/path/to/twelve-data-mcp/src/server.py"
      ]
    }
  }
}

Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "twelvedata": {
      "command": "/path/to/twelve-data-mcp/.venv/bin/python",
      "args": [
        "/path/to/twelve-data-mcp/src/server.py"
      ]
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add twelvedata -- /path/to/twelve-data-mcp/.venv/bin/python /path/to/twelve-data-mcp/src/server.py

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

After connecting in Claude Desktop, ask "What's the RSI for AAPL?" — a valid indicator value confirms the server is connected.

Troubleshooting

  1. If the local server fails to start, confirm the config points to the project's .venv/bin/python rather than the system Python (e.g., macOS's bundled Python 3.9 is too old)
  2. Verify Python 3.10+ is installed (3.12 recommended)
  3. Check that the .env file exists and contains a valid TWELVE_DATA_API_KEY
  4. Restart Claude Desktop after editing claude_desktop_config.json for changes to take effect
  5. For the cloud connector, if the login popup doesn't appear or authorization fails, check browser popup blockers and network connectivity

Things to try

Once connected, you can ask your AI assistant things like:

  • What's the RSI for AAPL?
  • Show me TSLA's latest earnings.
  • Get the real-time price of BTC/USD.
  • Show me historical exchange rates for EUR/USD.

Use cases

Look up real-time or historical prices for stocks, ETFs, forex, and crypto
Compute technical indicators like RSI, MACD, SMA, and Bollinger Bands
Retrieve earnings, dividends, splits, financial statements, and key stats
Check ETF and mutual fund performance, holdings, and risk metrics
Get company news, market movers, analyst ratings, and price targets
Query SEC/EDGAR filings, insider transactions, and institutional holdings

Supported clients

Claude Desktop
ChatGPT

Listed from the project's documentation, not tested by this site.

Overview

The Twelve Data MCP Server lets Claude, ChatGPT, and other AI assistants access the Twelve Data financial API through the Model Context Protocol, covering real-time and historical prices, 60+ technical indicators, fundamentals, earnings, dividends, ETFs, company news, and market movers. A Twelve Data account is required. Twelve Data offers a hosted cloud server (browser-based OAuth login, no installation or manual API key handling) and a local option (Python 3.10+, API key configured via a .env file, run over stdio for Claude Desktop).

Similar servers

BioMCP 75 · B

One binary. One grammar. Evidence from the biomedical sources you already trust.

★ 654 · Tools 11 Compare with this →

Source revision d139a77ea0f7 Data synced 2026-10-12 Read the FMRS scoring method