TradersPost MCP Server
TradersPost MCP Server
The first Model Context Protocol (MCP) server for TradersPost — trade stocks, options, futures, and crypto directly from AI assistants like Claude Code, Copilot, and any MCP-compatible client.
What It Does
This MCP server connects your AI assistant to your TradersPost account via webhooks, giving it the ability to:
- Send trade signals (buy, sell, exit, cancel)
- Place bracket orders with take profit and stop loss
- Exit positions and cancel open orders
- Health check your webhook connection
Your AI assistant becomes a trading co-pilot that can execute trades on your behalf through any broker connected to TradersPost (Tradovate, TradeStation, Alpaca, Robinhood, Interactive Brokers, and 17+ more).
Quick Start
1. Install
git clone https://github.com/alldadev/traderspost-mcp.git
cd traderspost-mcp
npm install
npm run build
2. Get Your Webhook URL
- Log into app.traderspost.io
- Go to Strategies > New Strategy
- Name it, set asset class (e.g., Futures), click Save
- Copy your webhook URL — it looks like:
https://webhooks.traderspost.io/trading/webhook/{uuid}/{password}
3. Connect a Broker
- Go to Subscriptions > New Subscription
- Select your strategy, click Subscribe
- Choose your broker (or TradersPost Paper for testing)
- Set Auto Submit to ON
- Set Allowed Sides to Both Sides
- Click Save then Enable
4. Add to Claude Code
Add to your ~/.claude/settings.json:
{
"mcpServers": {
"traderspost": {
"command": "node",
"args": ["/path/to/traderspost-mcp/dist/index.js"],
"env": {
"TRADERSPOST_WEBHOOK_URL": "https://webhooks.traderspost.io/trading/webhook/{uuid}/{password}"
}
}
}
}
Restart Claude Code. The tools are now available.
Tools
send_signal
Send a trade signal (buy, sell, exit, or cancel).
"Buy 2 MES at market"
"Sell 1 ES with a limit at 5650"
"Exit my NQ position"
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| ticker | string | Yes | Symbol (e.g., MES1!, ES1!, AAPL, BTCUSD) |
| action | string | Yes | buy, sell, exit, or cancel |
| order_type | string | No | market (default), limit, or stop |
| limit_price | number | No | Limit price for limit orders |
| quantity | number | No | Number of contracts/shares (default: 1) |
bracket_order
Send an entry order with take profit and stop loss brackets attached.
"Buy 1 MES with stop at 5600 and take profit at 5700"
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| ticker | string | Yes | Symbol |
| action | string | Yes | buy or sell |
| quantity | number | No | Number of contracts/shares |
| order_type | string | No | market (default) or limit |
| limit_price | number | No | Limit entry price |
| take_profit_price | number | No | Take profit limit price |
| stop_loss_price | number | No | Stop loss trigger price |
exit_position
Flatten all positions for a ticker.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| ticker | string | Yes | Symbol to exit |
cancel_orders
Cancel all open orders for a ticker.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| ticker | string | Yes | Symbol to cancel orders for |
health_check
Verify the webhook connection is working. Returns { ok: true } on success.
Supported Assets
TradersPost supports multiple asset classes. Use the appropriate ticker format:
| Asset | Ticker Format | Examples |
|-------|--------------|----------|
| Futures | Continuous: ES1!, NQ1!, MES1! | Auto-maps to front month |
| Stocks | Standard symbol | AAPL, TSLA, SPY |
| Options | OCC format | SPY 250624C596 |
| Crypto | Pair format | BTCUSD, ETHUSD |
Supported Brokers
Tradovate, TradeStation, Alpaca, Robinhood, Interactive Brokers, Webull, tastytrade, E*TRADE, Tradier, Coinbase, Kraken, Binance, Bybit, NinjaTrader, ProjectX, and 30+ prop firms including Topstep, Apex Trader Funding, and more.
Full list: traderspost.io/connections
Configuration
The server requires one environment variable:
| Variable | Description |
|----------|-------------|
| TRADERSPOST_WEBHOOK_URL | Your full webhook URL from TradersPost |
API Reference
This server wraps the TradersPost Webhook API. The webhook supports additional fields beyond what the MCP tools expose:
sentiment— Position bias after trade (bullish,bearish,flat)signalPrice— Market price at signal time (used for slippage tracking)timeInForce— Order duration (day,gtc,ioc,fok)trailAmount/trailPercent— For trailing stop ordersdelay— Postpone execution (seconds)test— Validate without submitting to brokerextras— Custom metadata for logging
These can be sent via the send_signal tool's underlying API. See the webhook reference for full details.
Rate Limits
TradersPost enforces:
- 60 requests per minute
- 500 requests per hour
Paper Trading
Start with TradersPost Paper (free, no broker needed) to test your setup before connecting a live account. Create a subscription pointing to "TradersPost Paper" instead of a real broker.
Roadmap
- [ ] Dashboard scraping for position/trade history reads (Playwright)
- [ ]
get_positionstool — current open positions - [ ]
get_trade_logtool — historical trades with P&L - [ ]
get_account_statustool — broker connection health - [ ] npm publish for
npx traderspost-mcpinstall
License
MIT
Credits
Built by Andre Darby with Claude Code.