trackmcp
Back to directory
alexanimal

tradovate-mcp-server

View on GitHub

Tradovate MCP Server

1 stars JavaScriptServers & Infrastructure Updated Apr 10, 2025

Documentation

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:

bash
npm install

3. Create a `.env` file with your Tradovate credentials:

bash
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:

bash
npm start

Or use with the MCP Inspector:

bash
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

bash
npm run build

Testing

Run tests:

bash
npm test

Run tests with coverage:

bash
npm run test:coverage

Generate coverage badge:

bash
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 LICENSE file for details.

Frequently asked questions

What is tradovate-mcp-server?

tradovate-mcp-server is Tradovate MCP Server

How do I install tradovate-mcp-server?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is tradovate-mcp-server open source?

Yes — it is hosted on GitHub at https://github.com/alexanimal/tradovate-mcp-server and has 1 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP