home / mcp / mcp tradovate server
Provides an MCP server for Tradovate integration enabling AI assistants to manage trading accounts and place orders.
Configuration
View docs{
"mcpServers": {
"0xjmp-mcp-tradovate": {
"command": "./mcp-tradovate",
"args": [],
"env": {
"TRADOVATE_CID": "YOUR_CLIENT_ID",
"TRADOVATE_SEC": "YOUR_CLIENT_SECRET",
"TRADOVATE_APP_ID": "YOUR_APP_ID",
"TRADOVATE_PASSWORD": "YOUR_PASSWORD",
"TRADOVATE_USERNAME": "YOUR_USERNAME",
"TRADOVATE_APP_VERSION": "YOUR_APP_VERSION"
}
}
}
}You can run a dedicated MCP server to manage Tradovate trading accounts through natural language interactions. This server provides authentication, account and risk management, order placement, and real-time market data access, enabling AI assistants to perform trading tasks in Claude Desktop via MCP.
You interact with the Tradovate MCP Server through an MCP client. Start by ensuring your environment is set up, then run the local MCP server and point your client to it. You can authenticate, query accounts and positions, adjust risk limits, place and cancel orders, and fetch fills and market data. Use natural language prompts to perform actions such as asking for current positions, setting daily loss limits, or submitting a market order for a specific contract.
Prerequisites: you need Go installed to build the server locally.
1. Build and run the server locally from a clean workspace.
2. Start the server and keep it running to accept MCP requests.
3. Configure your MCP client to connect to the local server.
Configuration uses a .env file at the project root to supply Tradovate credentials.
Environment variables required by the server are shown below, and should be supplied in your environment before starting the server.
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_secretEnsure your credentials are kept secure. If you encounter authentication errors, verify that the credentials in your .env file are correct and that API access is enabled on Tradovate. If you have network or rate-limiting issues, check your connectivity, API status, and apply appropriate request pacing.
Connect to Tradovate API using provided credentials to establish a session.
List all Tradovate trading accounts accessible by the authenticated session.
Retrieve current open positions for the authenticated accounts.
Fetch current risk management settings for a specific account_id.
Update risk management settings for a given account_id, including daily loss, drawdown, max position qty, and trailing stop.
Submit a new order with required fields such as account_id, contract_id, order_type, quantity, and time_in_force; price is required for limit orders.
Cancel an existing order by its order_id.
Retrieve fills associated with a specific order_id.
List available Tradovate contracts for trading.
Retrieve real-time market data for a given contract_id.
Query historical price data for a contract_id over a specified time range and interval.