Expose Alpaca Market Data & Broker API as MCP tools.
To install Alpaca Market Data Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @cesarvarela/alpaca-mcp --client claude
npm install alpaca-mcp
git clone <repo-url>
cd alpaca-mcp
npm install
Create a .env
at project root with:
ALPACA_ENDPOINT=https://data.alpaca.markets
ALPACA_BROKER_ENDPOINT=https://broker-api.alpaca.markets
ALPACA_API_KEY=YOUR_ALPACA_API_KEY
ALPACA_SECRET_KEY=YOUR_ALPACA_SECRET_KEY
- start (dev):
npm start
(runsnpx tsx index.ts
) - build:
npm run build
(compiles todist/
) - run compiled:
node dist/index.js
Once running, the MCP server listens on stdin/stdout. Use any MCP client or the CLI:
npm link # optional
alpaca-mcp # starts server globally
- get-assets
{ assetClass?: "us_equity" | "crypto" }
- get-stock-bars
{ symbols: string[]; start: string; end: string; timeframe: string }
- get-market-days
{ start: string; end: string }
- get-news
{ start: string; end: string; symbols: string[] }
Each returns JSON in content[0].text
or an error.
To integrate via mcp.config.json
, add the following under the mcpServers
key:
{
"mcpServers": {
"alpaca-mcp": {
"command": "npx",
"args": [
"-y",
"alpaca-mcp"
],
"env": {
"ALPACA_ENDPOINT": "https://data.alpaca.markets",
"ALPACA_BROKER_ENDPOINT": "https://broker-api.alpaca.markets",
"ALPACA_API_KEY": "<YOUR_API_KEY>",
"ALPACA_SECRET_KEY": "<YOUR_SECRET_KEY>"
}
}
}
}
## Publishing
```bash
npm publish
ISC