MCP Trading Server
Exposes Alpaca paper trading tools (get positions and account) via SSE transport, designed for Claude Desktop and n8n.
README
MCP Trading Server
A Model Context Protocol (MCP) server that exposes Alpaca paper trading tools via SSE transport. Designed to serve Claude Desktop (over LAN) and n8n (localhost).
Features
- SSE Transport: Server-Sent Events for real-time communication
- Two Core Tools:
get_positions— Retrieve all open positions from Alpacaget_account— Get account summary and buying power
- Multi-client Support: Claude Desktop (LAN) + n8n (localhost)
- PM2 Integration: Production deployment on Mac Mini
Quick Start
Setup
-
Clone and install:
npm install -
Configure environment:
cp .env.example .env # Edit .env with your Alpaca API credentials -
Run locally:
npm run devOr start with PM2:
npm run pm2:start
Environment Variables
APCA_API_KEY_ID— Your Alpaca API keyAPCA_API_SECRET_KEY— Your Alpaca secret keyPORT— Server port (default: 3100)NODE_ENV— Environment (production/development)
Architecture
src/
├── server.js # Express + MCP SSE transport
├── tools/
│ └── alpaca.js # Tool definitions and handlers
└── alpaca/
└── client.js # Reusable Alpaca API client
Server Details
- Port: 3100
- Transport: Server-Sent Events (SSE)
- Base URL: https://paper-api.alpaca.markets/v2
- Auth: APCA-API-KEY-ID and APCA-API-SECRET-KEY headers
Tools
get_positions
Fetches all open positions from your Alpaca paper account.
Returns:
{
"positions": [
{
"symbol": "ETHUSD",
"qty": 1.5,
"avg_fill_price": 2800.00,
"current_price": 2850.00,
"side": "long",
"unrealized_pl": 75.00,
"unrealized_plpc": 0.0267
}
]
}
get_account
Fetches account summary including buying power and cash balance.
Returns:
{
"account": {
"id": "...",
"account_number": "...",
"buying_power": 25000.00,
"cash": 10000.00,
"portfolio_value": 35000.00,
"multiplier": 1,
"equity": 35000.00,
"last_equity": 35000.00
}
}
Development
Watch mode with auto-restart:
npm run dev
View PM2 logs:
npm run pm2:logs
Restart service:
npm run pm2:restart
Production Deployment
On Mac Mini, use PM2 ecosystem file:
npm run pm2:start
The process will:
- Auto-restart on crashes
- Start on system boot (if configured)
- Rotate logs daily
- Maintain error and output logs
Connecting Clients
Claude Desktop
Configure in claude_desktop_config.json:
{
"mcpServers": {
"trading": {
"command": "node",
"args": ["/path/to/mcp-trading-server/src/server.js"],
"env": {
"APCA_API_KEY_ID": "...",
"APCA_API_SECRET_KEY": "..."
}
}
}
}
n8n
Create HTTP Request node pointing to http://localhost:3100
Troubleshooting
Connection refused: Ensure server is running on port 3100
lsof -i :3100
Auth errors: Verify .env has valid Alpaca credentials
PM2 issues: Check logs
pm2 logs mcp-trading-server
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.