0xjmp
mcp-tradovate
Go

MCP server for the Tradovate platform

Last updated Jun 10, 2026
16
Stars
9
Forks
1
Issues
0
Stars/day
Attention Score
15
Language breakdown
No language data available.
โ–ธ Files click to expand
README

MCP Tradovate Server

smithery badge Go Report Card codecov Go Reference License: MIT

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:

TRADOVATEUSERNAME=yourusername
TRADOVATEPASSWORD=yourpassword
TRADOVATEAPPID=yourappid
TRADOVATEAPPVERSION=yourappversion
TRADOVATECID=yourclient_id
TRADOVATESEC=yourclient_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
  • getrisklimits: Get risk management settings
- Required parameters: - account_id: (number) Account ID to get limits for
  • setrisklimits: Configure risk management settings
- Required parameters: - account_id: (number) Account ID to set limits for - daymaxloss: (number) Maximum daily loss limit - max_drawdown: (number) Maximum drawdown limit - maxpositionqty: (number) Maximum position quantity - trailing_stop: (number) Trailing stop percentage

Trading Operations

  • place_order: Submit a new order
- Required parameters: - account_id: (number) Account ID to place the order for - contract_id: (number) Contract ID to trade - order_type: (string) Type of order (Market, Limit, etc.) - quantity: (number) Number of contracts to trade - timeinforce: (string) Time in force (Day, GTC, IOC, etc.) - Optional parameters: - price: (number) Order price (required for Limit orders)
  • cancel_order: Cancel an existing order
- Required parameters: - order_id: (number) Order ID to cancel
  • get_fills: Get fills for a specific order
- Required parameters: - order_id: (number) Order ID to get fills for

Market Data

  • get_contracts: List available contracts
- No parameters required
  • getmarketdata: Get real-time market data
- Required parameters: - contract_id: (number) Contract ID to get market data for
  • gethistoricaldata: Get historical price data
- Required parameters: - contract_id: (number) Contract ID to get data for - start_time: (string) Start time in ISO 8601 format - end_time: (string) End time in ISO 8601 format - interval: (string) Time interval (1m, 5m, 15m, 1h, 1d)

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 .env file - Ensure your API access is enabled in Tradovate
  • 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)

๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท 0xjmp/mcp-tradovate ยท Updated daily from GitHub