stock analysis mcp
Allows Claude and other MCP clients to access real-time and historical stock market data from Alpha Vantage API, including intraday and daily stock data with customizable intervals.
Allows Claude and other MCP clients to access real-time and historical stock market data from Alpha Vantage API, including intraday and daily stock data with customizable intervals.
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.
npm install
.env
file in the root directory and add your Alpha Vantage API key:
ALPHA_VANTAGE_API_KEY=your_api_key_here
Build the TypeScript code:
npm run build
Run the server:
npm start
For development with auto-reloading:
npm run dev
Test the API client:
npm test
To use this MCP server with Claude for Desktop:
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.
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: 5min
- outputsize
(optional): Amount of data to return (compact: latest 100 data points, full: up to 20 years of data). Default: compact
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
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
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"
MIT
[
{
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"interval": {
"description": "Time interval between data points (default: 5min)",
"enum": [
"1min",
"5min",
"15min",
"30min",
"60min"
],
"type": "string"
},
"outputsize": {
"description": "Amount of data to return (compact: latest 100 data points, full: up to 20 years of data)",
"enum": [
"compact",
"full"
],
"type": "string"
},
"symbol": {
"description": "Stock symbol (e.g., IBM, AAPL)",
"type": "string"
}
},
"required": [
"symbol"
],
"type": "object"
},
"name": "get-stock-data"
},
{
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"symbol": {
"description": "Stock symbol (e.g., IBM, AAPL)",
"type": "string"
},
"threshold": {
"description": "Percentage threshold for price movement alerts (default: 5)",
"type": "number"
}
},
"required": [
"symbol"
],
"type": "object"
},
"name": "get-stock-alerts"
},
{
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"outputsize": {
"description": "Amount of data to return (compact: latest 100 data points, full: up to 20 years of data)",
"enum": [
"compact",
"full"
],
"type": "string"
},
"symbol": {
"description": "Stock symbol (e.g., IBM, AAPL)",
"type": "string"
}
},
"required": [
"symbol"
],
"type": "object"
},
"name": "get-daily-stock-data"
}
]