Tradovate Trading
STDIOA server for interacting with Tradovate API, managing contracts, positions, orders, and accounts.
A server for interacting with Tradovate API, managing contracts, positions, orders, and accounts.
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.
npm install
.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
Start the server:
npm start
Or use with the MCP Inspector:
npm run inspector
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 filesnpm run build
Run tests:
npm test
Run tests with coverage:
npm run test:coverage
Generate coverage badge:
npm run coverage:badge
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)The server interacts with the following Tradovate API endpoints:
/auth/accessTokenRequest
- Get access token/auth/renewAccessToken
- Renew access token/contract/list
- List all contracts/contract/find
- Find a specific contract/position/list
- List all positions/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/account/list
- List all accounts/account/find
- Find a specific account/cashBalance/getCashBalanceSnapshot
- Get cash balance for an account/md/getQuote
- Get quote data/md/getDOM
- Get depth of market data/md/getChart
- Get chart dataMIT License
This project is licensed under the MIT License - see the LICENSE file for details.