MCP Tradovate Server
0xjmp/mcp-tradovate · 20 stars · Go · MIT
MCP server MCP server for the Tradovate platform
Install
The repo has no one-line install. Follow its README.
Files
MCP Tradovate Server
A Model Context Protocol (MCP) server for Tradovate integration in Claude Desktop. This server enables AI assistants to manage Tradovate trading accounts through natural language interactions.
Features
- ✅ Complete Tradovate API integration
- 🔒 Secure authentication handling
- 📈 Real-time market data access
- 💼 Account management
- 📊 Risk management controls
- 🔄 Order placement and management
- 📝 Comprehensive test coverage
Installation
Installing via Smithery
To install the Tradovate MCP server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @0xjmp/mcp-tradovate --client claude
Manual Installation
- Clone the repository:
git clone https://github.com/0xjmp/mcp-tradovate.git cd mcp-tradovate
- Install dependencies:
go mod download
- Build the project:
go build ./cmd/mcp-tradovate
- Run:
./mcp-tradovate
Configuration
Create a .env file in the project root 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
Available Tools
Authentication
authenticate: Connect to Tradovate API- No parameters required
Account Management
-
get_accounts: List all trading accounts- No parameters required
-
get_positions: View current positions- No parameters required
-
get_risk_limits: Get risk management settings- Required parameters:
account_id: (number) Account ID to get limits for
- Required parameters:
-
set_risk_limits: Configure risk management settings- Required parameters:
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 percentage
- Required parameters:
Trading Operations
-
place_order: Submit a new order- Required parameters:
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.)
- Optional parameters:
price: (number) Order price (required for Limit orders)
- Required parameters:
-
cancel_order: Cancel an existing order- Required parameters:
order_id: (number) Order ID to cancel
- Required parameters:
-
get_fills: Get fills for a specific order- Required parameters:
order_id: (number) Order ID to get fills for
- Required parameters:
Market Data
-
get_contracts: List available contracts- No parameters required
-
get_market_data: Get real-time market data- Required parameters:
contract_id: (number) Contract ID to get market data for
- Required parameters:
-
get_historical_data: Get historical price data- Required parameters:
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)
- Required parameters:
Development
Running Tests
Run all tests with coverage:
go test -v -race -coverprofile=coverage.txt -covermode=atomic ./...
Code Style
Follow Go best practices and conventions:
go fmt ./... go vet ./...
Troubleshooting
Common Issues
-
Authentication Failures
- Verify your Tradovate credentials in the
.envfile - Ensure your API access is enabled in Tradovate
- Verify your Tradovate credentials in the
-
Connection Issues
- Check your internet connection
- Verify Tradovate API status
- Ensure firewall isn't blocking connections
-
Rate Limiting
- Implement appropriate delays between requests
- Monitor API usage limits
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
If you encounter any issues or have questions, please file an issue on the GitHub repository.
Author
Jake Peterson (@0xjmp)
Facts
- Kind
- MCP server
- Group
- Uncategorized
- Stars
- 20
- License
- MIT
- Language
- Go
- Last push
- 2025-03-07
- Forks
- 8
- Homepage
- tradovate.com
- Topics
- golang, mcp, model-context-protocol, model-context-protocol-servers, trading, tradovate
- 1REAio.github.morluto/reaReverse engineer anything from your terminal or agent with one CLI and MCP server.125.3k
- 2com.browser-use/browser-usecom.browser-use/browser-useControl a real Chrome browser to complete any task: fill forms, extract data, book flights.117.7k
- 3World Monitorapp.worldmonitor/mcpLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.88.3k
- 4Scrapling MCP Serverd4vinci/scrapling🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scraplingdev86.9k
- 5Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 6Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k