
mcp tradovate
MCP server for the Tradovate platform
Repository Info
About This Server
MCP server for the Tradovate platform
Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.
Documentation
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)
Quick Start
Clone the repository
git clone https://github.com/0xjmp/mcp-tradovateInstall dependencies
cd mcp-tradovate
npm installFollow the documentation
Check the repository's README.md file for specific installation and usage instructions.
Repository Details
Recommended MCP Servers
Discord MCP
Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.
Knit MCP
Connect AI agents to 200+ SaaS applications and automate workflows.
Apify MCP Server
Deploy and interact with Apify actors for web scraping and data extraction.
BrowserStack MCP
BrowserStack MCP Server for automated testing across multiple browsers.
Zapier MCP
A Zapier server that provides automation capabilities for various apps.