The MCP Tradovate Server provides integration between Claude Desktop and Tradovate trading accounts, allowing AI assistants to manage trading operations through natural language interactions. This server connects to Tradovate's API services, handling authentication, account management, trading operations, and market data access.
The easiest way to install the Tradovate MCP server for Claude Desktop is through Smithery:
npx -y @smithery/cli install @0xjmp/mcp-tradovate --client claude
If you prefer to install manually, follow these steps:
git clone https://github.com/0xjmp/mcp-tradovate.git
cd mcp-tradovate
go mod download
go build ./cmd/mcp-tradovate
./mcp-tradovate
Create a .env
file in the project root directory with your Tradovate credentials:
TRADOVATE_USERNAME=your_username
TRADOVATE_PASSWORD=your_password
TRADOVATE_APP_ID=your_app_id
TRADOVATE_APP_VERSION=your_app_version
TRADOVATE_CID=your_client_id
TRADOVATE_SEC=your_client_secret
get_accounts: List all trading accounts
get_positions: View current positions
get_risk_limits: Get risk management settings
account_id
: (number) Account ID to get limits forset_risk_limits: Configure risk management settings
account_id
: (number) Account ID to set limits forday_max_loss
: (number) Maximum daily loss limitmax_drawdown
: (number) Maximum drawdown limitmax_position_qty
: (number) Maximum position quantitytrailing_stop
: (number) Trailing stop percentageplace_order: Submit a new order
account_id
: (number) Account ID to place the order forcontract_id
: (number) Contract ID to tradeorder_type
: (string) Type of order (Market, Limit, etc.)quantity
: (number) Number of contracts to tradetime_in_force
: (string) Time in force (Day, GTC, IOC, etc.)price
: (number) Order price (required for Limit orders)cancel_order: Cancel an existing order
order_id
: (number) Order ID to cancelget_fills: Get fills for a specific order
order_id
: (number) Order ID to get fills forget_contracts: List available contracts
get_market_data: Get real-time market data
contract_id
: (number) Contract ID to get market data forget_historical_data: Get historical price data
contract_id
: (number) Contract ID to get data forstart_time
: (string) Start time in ISO 8601 formatend_time
: (string) End time in ISO 8601 formatinterval
: (string) Time interval (1m, 5m, 15m, 1h, 1d)Authentication Failures
.env
fileConnection Issues
Rate Limiting
There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json
file so that it is available in all of your projects.
If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json
file.
To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".
When you click that button the ~/.cursor/mcp.json
file will be opened and you can add your server like this:
{
"mcpServers": {
"cursor-rules-mcp": {
"command": "npx",
"args": [
"-y",
"cursor-rules-mcp"
]
}
}
}
To add an MCP server to a project you can create a new .cursor/mcp.json
file or add it to the existing one. This will look exactly the same as the global MCP server example above.
Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.
The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.
You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.