Tradovate MCP Server
by alexanimal
A Model Context Protocol (MCP) server for interacting with the Tradovate API. This server provides tools for managing contracts, positions, orders, and accounts in Tradovate.
View on GitHub
Last updated: N/A
Tradovate MCP Server
smithery badge codecov License: MIT
A Model Context Protocol (MCP) server for interacting with the Tradovate API. This server provides tools for managing contracts, positions, orders, and accounts in Tradovate.
Features
- Authentication with Tradovate API
- Real-time data fetching with caching
- Tools for contract details, position management, order placement, and more
- Fallback to simulated data when API is unavailable
Installation
- Clone the repository
- Install dependencies:
npm install
- Create a
.env
file with your Tradovate credentials:
TRADOVATE_API_ENVIRONMENT=demo
TRADOVATE_USERNAME=your_username
TRADOVATE_PASSWORD=your_password
TRADOVATE_APP_ID=Sample App
TRADOVATE_APP_VERSION=1.0
TRADOVATE_CID=your_cid
TRADOVATE_SEC=your_sec
Usage
Start the server:
npm start
Or use with the MCP Inspector:
npm run inspector
Development
Project Structure
src/index.ts
- Main server entry pointsrc/auth.ts
- Authentication functionssrc/data.ts
- Data fetching and cachingsrc/tools.ts
- Tool handlers for MCPsrc/types.ts
- TypeScript type definitionstests/
- Test files
Building
npm run build
Testing
Run tests:
npm test
Run tests with coverage:
npm run test:coverage
Generate coverage badge:
npm run coverage:badge
Available Tools
The server provides the following tools:
get_contract_details
- Get details for a specific contract by symbollist_positions
- List positions for an accountplace_order
- Place a new ordermodify_order
- Modify an existing ordercancel_order
- Cancel an existing orderliquidate_position
- Liquidate a positionget_account_summary
- Get account summary informationget_market_data
- Get market data (quotes, DOM, charts)
API Endpoints
The server interacts with the following Tradovate API endpoints:
Authentication
/auth/accessTokenRequest
- Get access token/auth/renewAccessToken
- Renew access token
Contracts
/contract/list
- List all contracts/contract/find
- Find a specific contract
Positions
/position/list
- List all positions
Orders
/order/list
- List all orders/order/placeOrder
- Place a new order/order/modifyOrder
- Modify an existing order/order/cancelOrder
- Cancel an existing order/order/liquidatePosition
- Liquidate a position
Accounts
/account/list
- List all accounts/account/find
- Find a specific account/cashBalance/getCashBalanceSnapshot
- Get cash balance for an account
Market Data
/md/getQuote
- Get quote data/md/getDOM
- Get depth of market data/md/getChart
- Get chart data
License
MIT License
This project is licensed under the MIT License - see the LICENSE file for details.