SnapTrade MCP Server
by matthewtzong
README.md
# SnapTrade MCP Server
A Test/Sandbox MCP server that integrates with the SnapTrade API Sandbox environment to provide portfolio oversight, market data, and trading capabilities.
## Features
### Resources
- `portfolio://summary` - High-level overview of total equity, buying power, and daily P&L.
- `account://{id}/positions` - Real-time stream of all holdings in a specific account.
- `account://{accountId}/market/{symbol}/quote` - Current security price for a specific account.
### Tools
- `read_portfolio` - Fetch balances, positions, and history.
- `read_market_data` - Access symbols and real-time quotes.
- `check_trade_impact` - Preview fees and impact before trading.
- `execute_trade` - Finalize a trade that has been checked for impact.
- `lookup_symbol` - Resolve tickers to official SnapTrade UUIDs.
### Prompts
- `analyze_portfolio_risk` - Examines concentration, exposure, and volatility.
- `evaluate_trade_idea` - Performs due diligence on a specific ticker.
- `daily_market_brief` - Generates a morning report for the user.
- `tax_loss_harvesting` - Identifies candidates for tax-efficient selling.
## Configuration
The server requires the following environment variables.
```env
SNAPTRADE_CLIENT_ID=your_client_id
SNAPTRADE_CONSUMER_KEY=your_consumer_key
SNAPTRADE_USER_ID=your_test_user_id
SNAPTRADE_USER_SECRET=your_test_user_secret
```
## Installation
### 1. Build the Server
```bash
npm install
npm run build
```
### 2. Add to Claude Desktop
Add this to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"snaptrade_sample": {
"command": "node",
"args": ["/absolute/path/to/snaptrade_mcp/build/index.js"],
"env": {
"SNAPTRADE_CLIENT_ID": "...",
"SNAPTRADE_CONSUMER_KEY": "...",
"SNAPTRADE_USER_ID": "...",
"SNAPTRADE_USER_SECRET": "..."
}
}
}
}
```
## Security & Reliability
- **HMAC-SHA256 Signing**: All requests are cryptographically signed using canonical JSON serialization and sorted query strings.
- **Two-Step Trading**: Prevents accidental orders by forcing an "Impact -> Approval -> Execute" flow.
- **Rate Limiting/Retries**: Implements exponential backoff for HTTP 429 (Rate Limit) errors.
- **Startup Validation**: The server verifies your API connectivity and environment variables immediately on boot.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues