Displays code coverage statistics for the project through a badge, showing test coverage percentage for the codebase.
Manages environment variables for storing Tradovate API credentials and configuration.
Used for package management, dependency installation, and running scripts for building, testing, and starting the MCP server.
Displays license information through a badge in the README.
The project is built with TypeScript, providing type definitions for the Tradovate API integration.
Tradovate MCP Server
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
Related MCP server: Alpaca Trading MCP Server
Installation
Clone the repository
Install dependencies:
Create a
.envfile with your Tradovate credentials:
Usage
Start the server:
Or use with the MCP 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
Testing
Run tests:
Run tests with coverage:
Generate 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.