@qubaomingg/stock-mcp

by qubaomingg
Verified
# 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](https://www.alphavantage.co/support/#api-key)) ## 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