@qubaomingg/stock-mcp

by qubaomingg

428 downloads
Not rated
GitHub

About

This is an MCP server that provides stock market data from the Alpha Vantage API. It allows Claude and other MCP clients to access real-time and historical stock data.

Details

Author
qubaomingg
Downloads
428
Categories
Finance

- Get intraday stock data with customizable intervals
- Get daily stock data
- Generate stock alerts based on price movements
- Access stock data as resources
- Choose between compact and full output sizes

Install Node.js 16+, clone the repository, run npm install, create a .env file with ALPHA_VANTAGE_API_KEY, then build with npm run build and run with npm start. Configure it in Claude for Desktop by editing claude_desktop_config.json with the path to dist/index.js and the API key.

\# 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

Prerequisites

- Node.js 16 or higher
- An Alpha Vantage API key (get one for free at \Alpha Vantage\)

Installation

1. Clone this repository
2. Install dependencies:
\\\
npm install
\
\\
3. Create a \.env\ file 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 build
\
\\

Run the server:
\\\
npm start
\
\\

For development with auto-reloading:
\\\
npm run dev
\
\\

Test the API client:
\\\
npm test
\
\\

Using with Claude for Desktop

To use this MCP server with Claude for Desktop:

1. Open Claude for Desktop
2. Go to Settings > Developer > Edit Config
3. Add the following to your \claude\_desktop\_config.json\:

\\\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.

4. 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: 5min
- \outputsize\ (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

ISC

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.