Alpha Vantage Stock Analysis MCP Server
This server provides access to real-time and historical stock market data from Alpha Vantage API through an MCP interface.
Capabilities:
Get intraday stock data with customizable intervals (1min, 5min, 15min, 30min, 60min)
Get daily stock data with options for compact or full output sizes
Generate stock alerts based on customizable price movement thresholds
Access stock data as resources using URI templates (e.g., stock://AAPL/daily)
Integrate with Claude for Desktop and other MCP clients
Supports loading Alpha Vantage API credentials from .env files to securely configure the MCP server with API keys.
Runs as a Node.js application, with specific version requirements (Node.js 16 or higher) for proper functionality.
Uses npm for package management, dependency installation, and running build/development scripts.
Built with TypeScript, requiring compilation to JavaScript before running the server.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Alpha Vantage Stock Analysis MCP Serverget the latest stock data for AAPL with 15-minute intervals"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Alpha Vantage Stock MCP Server
This is a Model Context Protocol (MCP) server that provides stock market data from Alpha Vantage API. It allows Claude and other MCP clients to access real-time and historical stock data.
Features
Get intraday stock data with customizable intervals
Get daily stock data
Generate stock alerts based on price movements
Access stock data as resources
Related MCP server: Stocks MCP Server
Prerequisites
Node.js 16 or higher
An Alpha Vantage API key (get one for free at Alpha Vantage)
Installation
Clone this repository
Install dependencies:
npm installCreate a
.envfile in the root directory and add your Alpha Vantage API key:ALPHA_VANTAGE_API_KEY=your_api_key_here
Building and Running
Build the TypeScript code:
npm run buildRun the server:
npm startFor development with auto-reloading:
npm run devTest the API client:
npm testUsing with Claude for Desktop
To use this MCP server with Claude for Desktop:
Open Claude for Desktop
Go to Settings > Developer > Edit Config
Add the following to your
claude_desktop_config.json:
{
"mcpServers": {
"alpha-vantage": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"],
"env": {
"ALPHA_VANTAGE_API_KEY": "YOUR_API_KEY"
}
}
}
}Replace /absolute/path/to/dist/index.js with the absolute path to the built index.js file.
Restart Claude for Desktop
Available Tools
get-stock-data
Gets intraday stock data for a specific symbol.
Parameters:
symbol(required): Stock symbol (e.g., IBM, AAPL)interval(optional): Time interval between data points (1min, 5min, 15min, 30min, 60min). Default: 5minoutputsize(optional): Amount of data to return (compact: latest 100 data points, full: up to 20 years of data). Default: compact
get-daily-stock-data
Gets daily stock data for a specific symbol.
Parameters:
symbol(required): Stock symbol (e.g., IBM, AAPL)outputsize(optional): Amount of data to return (compact: latest 100 data points, full: up to 20 years of data). Default: compact
get-stock-alerts
Analyzes stock data to generate alerts based on price movements.
Parameters:
symbol(required): Stock symbol (e.g., IBM, AAPL)threshold(optional): Percentage threshold for price movement alerts. Default: 5
Available Resources
stock-data
Access stock data directly as a resource.
URI Template: stock://{symbol}/{interval}
Parameters:
symbol: Stock symbol (e.g., IBM, AAPL)interval: Time interval (daily, 1min, 5min, 15min, 30min, 60min). Default: daily
Example usage in Claude:
"Can you analyze this stock data: stock://AAPL/daily"
"What do you think about this data: stock://MSFT/5min"
License
MIT
Available Tools
3 toolsget-daily-stock-dataD
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol (e.g., IBM, AAPL) | |
| outputsize | No | Amount of data to return (compact: latest 100 data points, full: up to 20 years of data) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-stock-alertsD
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol (e.g., IBM, AAPL) | |
| threshold | No | Percentage threshold for price movement alerts (default: 5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-stock-dataD
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock symbol (e.g., IBM, AAPL) | |
| interval | No | Time interval between data points (default: 5min) | |
| outputsize | No | Amount of data to return (compact: latest 100 data points, full: up to 20 years of data) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v1.0.0- First observed
get-daily-stock-data - First observed
get-stock-alerts - First observed
get-stock-data
TDQS
Scored across 3 tools
The tools are highly ambiguous and overlapping. 'get-daily-stock-data' and 'get-stock-data' appear to serve nearly identical purposes, with no description to clarify differences. 'get-stock-alerts' might be distinct but lacks context, making it unclear how it differs from the data retrieval tools. This setup will likely cause frequent agent misselection.
The naming follows a consistent pattern with kebab-case and a 'get-' verb prefix across all tools, which is predictable and readable. However, the lack of descriptions prevents full evaluation of semantic consistency, but structurally, the naming is uniform.
With only 3 tools, this server feels under-scoped for a stock analysis domain, which typically requires more operations like historical data, indicators, or portfolio management. The count is too low to provide comprehensive coverage, limiting agent capabilities.
The tool set is severely incomplete for stock analysis. It lacks essential operations such as intraday data, technical indicators, company fundamentals, or search functions. With only basic data retrieval and alerts, agents will face dead ends and cannot perform meaningful analysis.
Maintenance
Related MCP Connectors
Alpha Vantage MCP — Stock market data, fundamentals, and earnings
- mcpOAuthcom.twelvedata
Twelve Data MCP: real-time & historical market data (stocks, crypto, forex, etc).
Market Data App MCP — wraps the Market Data App API (marketdata.app)
Global stock research, ML forecasts, valuation signals, screeners & portfolio tracking in Claude
Related MCP Servers
- -licenseNot gradedqualityDmaintenanceProvides real-time and historical stock market data through the Alpha Vantage API. Enables users to get current stock prices and retrieve historical stock data for any major stock symbol via natural language queries.-
- FlicenseNot gradedqualityDmaintenanceProvides real-time access to financial market data including stock quotes, company information, cryptocurrency exchange rates, historical options chains, and time series data through the Alpha Vantage API.-
- AlicenseCqualityDmaintenanceProvides access to real-time and historical stock market data through the Alpha Vantage API, enabling financial analysis and market data queries through natural language.10038 PyPI74Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables access to stock and financial data from Alpha Vantage, including stocks, forex, cryptocurrencies, commodities, and technical indicators, through natural language queries.1MIT