alexanimal_tradovate-mcp-server

alexanimal_tradovate-mcp-server

0

The Tradovate MCP Server is designed to facilitate interaction with the Tradovate API, providing functionalities like managing contracts, positions, and orders. It enhances efficiency with features like real-time data fetching, authentication, and fallback options when the API is down. The server offers multiple tools for account and market data management, aiming to streamline trading operations.

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

  1. Clone the repository
  2. Install dependencies:
npm install
  1. 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 point
  • src/auth.ts - Authentication functions
  • src/data.ts - Data fetching and caching
  • src/tools.ts - Tool handlers for MCP
  • src/types.ts - TypeScript type definitions
  • tests/ - 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:

  1. get_contract_details - Get details for a specific contract by symbol
  2. list_positions - List positions for an account
  3. place_order - Place a new order
  4. modify_order - Modify an existing order
  5. cancel_order - Cancel an existing order
  6. liquidate_position - Liquidate a position
  7. get_account_summary - Get account summary information
  8. get_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 file for details.