Alpha Vantage MCP Server with DeepSeek Harness
Alpha Vantage maps its market-data endpoints onto MCP tools and publishes both a hosted endpoint and a local server. For DSH the local server is the documented route, because the hosted endpoint authenticates through a sign-in page — and the data tier, not the connection, is what limits you.
Last checked 2026-10-13 · English-only guide · checked against the sources listed at the end
uvx marketdata-mcp-server <API_KEY>. The hosted endpoint authorises your key through a sign-in page, which DSH's MCP client cannot complete, and the query-string API-key variant is marked deprecated by Alpha Vantage. Some endpoints also return placeholder data unless your plan allows them.Scope: DeepSeek Harness only. The row below is a Cordis patch for DSH's MCP client. Claude Desktop, Cursor, Windsurf and other clients use their own config format, so follow that service's own setup page for those — these steps do not apply there.
At a glance
- Server
- Alpha Vantage MCP Server (mcp.alphavantage.co)
- Hosted endpoint
https://mcp.alphavantage.co/mcp— sign-in page authorises the API key- Deprecated form
https://mcp.alphavantage.co/mcp?apikey=YOUR_API_KEY— marked deprecated by Alpha Vantage- Local server
uvx marketdata-mcp-server YOUR_API_KEY- Authentication
- Alpha Vantage API key; free keys are available
- Tool surface
- The API's functions exposed as MCP tools, grouped into core stock APIs, options, fundamentals, forex, cryptocurrencies, commodities, economic indicators, technical indicators, news sentiment and congressional trading
- Clients listed
- Claude, ChatGPT, Claude Code, Codex, VS Code, Continue, Cursor, Gemini CLI and agentic platforms
- DSH fit
- stdio — DSH starts and stops the child with the plugin lifecycle
- Last checked
- 2026-10-13
Step 1 — Get an API key
Claim a key on Alpha Vantage's site. The same key backs the REST API and the MCP server, so the MCP layer does not change your entitlements — what your plan allows is what the tools return.
Step 2 — Add the DSH row for the local server
# cordis.patch.yml — passed with: dsh web --patch ./cordis.patch.yml
- insert:
- id: mcp-alphavantage
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: alphavantage
transport: stdio
command: uvx
args: ['marketdata-mcp-server', 'YOUR_ALPHA_VANTAGE_API_KEY']
env: {}
cwd: !!js process.cwd()
Two practical notes. First, uvx ships with uv; if it is not on the PATH that DSH
itself sees, the child never starts. Second, the key sits in args because that is how Alpha Vantage
documents the local server — so keep the patch file private (chmod 600), out of version control,
and rotate the key if it leaks. DSH strips ambient credential-looking variables before launching a child process,
so exporting the key in your shell is not a substitute.
Step 3 — Stay inside your data tier
Ask for one series at a time and keep the first call read-only:
“Use the alphavantage tools to fetch the latest quote for IBM. Read-only; do not fetch options chains.”
Alpha Vantage's MCP page states that real-time options data requires a premium subscription with the 600 or 1200 requests-per-minute plans, and that free or 75-requests-per-minute keys receive placeholder or demo data from that endpoint — symbols like XXYYZZ and dates like 2099-99-99. The same page recommends the historical options endpoint instead, which it says works with all API key tiers. If a response looks like demo data, you have hit a premium-gated endpoint rather than a broken connection.
Troubleshooting
uvx: command not foundor the child dies immediately- Install
uv, confirmuvx --versionworks in the same environment, and remember that DSH launches the command without shell interpolation — aliases and shell functions will not resolve. - Responses contain obvious placeholder values
- You hit a premium-gated endpoint such as real-time options. Switch to a tier-appropriate function like
TIME_SERIES_DAILY,GLOBAL_QUOTEor the historical options endpoint. - Rate-limit messages
- Alpha Vantage enforces per-key request limits. A burst of parallel tool calls can trip them, so fetch one series per prompt and let the agent summarise after the data arrives.
- Why not just use the hosted URL
- It authenticates through a sign-in page that needs a browser. The query-string API-key form still works but Alpha Vantage labels it deprecated, so treat it as a stopgap and migrate to stdio or a browser-capable client.
- You found a different Alpha Vantage MCP server
- Third-party wrappers exist, for example berlinbra/alpha-vantage-mcp. Alpha Vantage publishes its own server, so prefer that one and re-check tool names before copying prompts from an older wrapper's README.
Limits. The MCP server is a transport in front of the same API, so it inherits your rate limits and data tier. We did not run a live market-data call: the endpoint groups, tier behaviour and client list on this page come from Alpha Vantage's MCP page, read 2026-10-13. Nothing here is investment advice, and the server exposes data retrieval only — there is no order routing.
FAQ
Should I use the hosted Alpha Vantage MCP endpoint or the local server in DSH?
The local server, because it speaks standard input and output, which DSH can launch and supervise directly. The hosted endpoint authorises your key through a sign-in page that needs a browser and that DSH's MCP client cannot complete; the API-key-in-URL variant still exists but is marked deprecated.
Does a free Alpha Vantage API key give real-time data?
Not on every endpoint. Alpha Vantage's MCP page states that real-time options require a premium plan and that free or 75-requests-per-minute keys receive placeholder data there, while the historical options endpoint works with all key tiers.
How many MCP tools does the server expose?
Effectively the API surface: the MCP page groups the tools into core stock APIs, options, fundamentals, forex, cryptocurrencies, commodities, economic indicators, technical indicators, news sentiment and congressional trading, and says each tool maps to a corresponding API endpoint.
Can an agent place trades through this server?
No. Alpha Vantage exposes market data, not order routing, so there is no trade tool in the surface. Treat anything that reads like a trade instruction as model text rather than a brokerage action.
Sources
Every claim above was checked against these pages on 2026-10-13. Third-party material is labelled where it is used.
- Alpha Vantage — MCP Server — Connection options, deprecation notice, client list, tool reference, premium-tier behaviour read 2026-10-13
- Alpha Vantage — homepage — Data coverage, free key, MCP support statement read 2026-10-13
- DeepSeek Harness docs — “Connect a third-party memory MCP server” — stdio configuration, credential scrubbing, child lifecycle read 2026-10-13
Related MCP guides
New to MCP in DSH? Start with the DSH MCP setup walkthrough, which covers transports, the patch file and tool naming for every server below.
Superhuman MCP
Superhuman Mail runs a remote MCP server at https://mcp.mail.superhuman.com/mcp. This guide covers what that server requires, why DSH cannot complete its interactive sign-in on its own, the stdio bridge Superhuman documents for desktop clients, and how to check the connection without letting an agent touch your inbox.
Stitch MCP Server
Google Stitch exposes an MCP server at https://stitch.googleapis.com/mcp. It is remote and header-authenticated, which makes it one of the simpler servers for DSH to call directly. This guide covers the API-key path, the Cordis row, the timeout that decides whether a slow generation looks like a broken connection, and the npm package you do not need.
Krea AI MCP
Krea hosts an MCP server at https://api.krea.ai/mcp for image and video generation. DSH cannot run Krea's interactive consent screen, so the practical path is the API-token header — and that choice also decides which balance pays for the work.
Verification status
These guides document configuration; they are not reports of a live run. Endpoints, prerequisites, tool names and billing rules were read from the sources listed above on 2026-10-13. We did not sign in to any of the four services, did not run a paid generation, and did not send mail, so treat every config row as a documented recipe to test in your own environment. If a service changes an endpoint or its plan terms, that operator's own page wins.