Skip to main content
Glama
TradeStation MCP Server

TradeStation MCP Server

by maven81g

TradeStation MCP Server

A Model Context Protocol (MCP) server that provides TradeStation API integration for Claude Code and other MCP clients.

Features

  • Real-time market data (quotes, bars, option chains)

  • Account information (balances, positions, orders)

  • Order preview and validation

  • Automatic token refresh management

  • Support for both simulation and live environments

Related MCP server: MetaTrader5 MCP Server

Available Tools

Market Data

  • marketData - Get real-time quotes for symbols

  • barChart - Get historical price bars/candles

  • getSymbolDetails - Get detailed symbol information

  • getOptionExpirations - Get available option expiration dates

  • getOptionStrikes - Get available option strike prices

Account Management

  • getAccounts - List all brokerage accounts

  • getBalances - Get account balances and buying power

  • getPositions - Get current positions with P&L

  • getOrders - Get order history with optional status filter

  • getOrderDetails - Get detailed information for a specific order

  • getExecutions - Get fills/executions for a specific order

Order Operations

  • confirmOrder - Preview order costs and requirements (READ-ONLY, does not execute trades)

Setup

Prerequisites

  • Node.js 18 or higher

  • TradeStation developer account with API credentials

  • Active TradeStation account (simulation or live)

Installation

  1. Clone this repository:

git clone <repository-url>
cd mcp-tradesation
  1. Install dependencies:

npm install
  1. Copy the example environment file:

cp .env.example .env
  1. Edit .env and add your TradeStation API credentials:

TRADESTATION_CLIENT_ID=your_client_id_here
TRADESTATION_CLIENT_SECRET=your_client_secret_here
TRADESTATION_REFRESH_TOKEN=your_refresh_token_here
TRADESTATION_REDIRECT_URI=http://localhost:3000/callback
  1. Build the server:

npm run build

Getting TradeStation API Credentials

  1. Go to TradeStation Developer Portal

  2. Create a new application to get your Client ID and Client Secret

  3. Complete the OAuth flow to obtain a refresh token

  4. Add the credentials to your .env file

Configure in Claude Code

Add the following to your Claude Code MCP configuration file:

macOS/Linux: ~/.config/claude-code/mcp_config.json Windows: %APPDATA%\claude-code\mcp_config.json

{
  "mcpServers": {
    "tradestation": {
      "command": "node",
      "args": ["/path/to/mcp-tradesation/build/index.js"],
      "env": {
        "TRADESTATION_CLIENT_ID": "your_client_id_here",
        "TRADESTATION_CLIENT_SECRET": "your_client_secret_here",
        "TRADESTATION_REFRESH_TOKEN": "your_refresh_token_here",
        "TRADESTATION_REDIRECT_URI": "http://localhost:3000/callback"
      }
    }
  }
}

Alternatively, if you have a .env file in the project directory, you can omit the env section and the server will automatically load credentials from the .env file.

Usage

Once configured, the MCP tools will be automatically available in Claude Code. You can use them like this:

Get a quote for SPY
Show me a 5-minute chart for AAPL with the last 20 bars
What are my account balances?
List my current positions
Preview an order to buy 100 shares of SPY at market price

Development

Project Structure

mcp-tradesation/
├── src/
│   ├── index.ts           # Main MCP server implementation
│   └── test-*.js          # Test scripts for API endpoints
├── build/                 # Compiled JavaScript output
├── .env.example          # Example environment configuration
├── package.json          # Package dependencies and scripts
└── tsconfig.json         # TypeScript configuration

Testing

The project includes several test scripts to verify API functionality:

# Test token refresh and basic API access
node src/quick-token-test.js

# Test all MCP server functions
node src/test-mcp-functions.js

# Test specific endpoints
node src/test-specific-endpoints.js

Building

npm run build

This compiles the TypeScript source to JavaScript in the build/ directory.

Environment Variables

Variable

Required

Description

TRADESTATION_CLIENT_ID

Yes

Your TradeStation API client ID

TRADESTATION_CLIENT_SECRET

Yes

Your TradeStation API client secret

TRADESTATION_REFRESH_TOKEN

Yes

OAuth refresh token for authentication

TRADESTATION_REDIRECT_URI

Yes

OAuth redirect URI (must match app config)

TRADESTATION_ACCOUNT_ID

No

Default account ID for operations

TRADESTATION_ENV

No

Environment: 'simulation' or 'production' (default: simulation)

Troubleshooting

Token Errors

If you see authentication errors:

  1. Verify your credentials in the .env file are correct

  2. Ensure your refresh token hasn't expired

  3. Check that your TradeStation account has API access enabled

Build Errors

If the build fails:

  1. Ensure you have Node.js 18 or higher installed

  2. Delete node_modules and build directories

  3. Run npm install again

  4. Run npm run build

MCP Connection Issues

If Claude Code can't connect to the server:

  1. Verify the path to build/index.js in your MCP config is correct

  2. Check that the server built successfully (build/index.js exists)

  3. Review Claude Code logs for error messages

API Documentation

For detailed TradeStation API documentation, visit:

License

ISC

Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.

Available Tools

13 tools
barChartC

Get historical price bars/candles

Inputs: symbol (required), interval (required), unit (required), beginTime, +2 more.

confirmOrderA

Preview order costs and requirements (READ-ONLY - does not execute trades)

Inputs: symbol (required), quantity (required), orderType (required), tradeAction (required), +4 more.

getAccountsB

Get list of brokerage accounts

Inputs: no named parameters.

getBalancesC

Get account balances and buying power

Inputs: accountId.

getExecutionsC

Get fills/executions for a specific order

Inputs: orderId (required), accountId.

getOptionExpirationsC

Get available expiration dates for options on an underlying symbol

Inputs: underlying (required).

getOptionStrikesC

Get available strike prices for options on an underlying symbol

Inputs: underlying (required), expiration.

getOrderDetailsC

Get detailed information for a specific order

Inputs: orderId (required), accountId.

getOrdersB

Get order history with optional status filter

Inputs: accountId, status.

getPositionsC

Get current positions with P&L

Inputs: accountId.

getSymbolDetailsC

Get detailed symbol information

Inputs: symbols (required).

marketDataC

Get quotes for symbols

Inputs: symbols (required).

searchSymbolsA

Search for symbols (Note: Symbol search not available in TradeStation v3 API - use getSymbolDetails instead with known symbols)

Inputs: criteria (required), type.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 13 tools

    Disambiguation4/5

    Most tools have distinct purposes, such as getAccounts for account lists and getBalances for balances, but there is some overlap between getOrders and getOrderDetails, and between marketData and barChart for price data, which could cause minor confusion.

    Naming Consistency4/5

    The naming follows a consistent verb_noun pattern with minor deviations, as most tools start with 'get' or descriptive verbs like 'confirm' and 'search', but 'barChart' and 'marketData' break this pattern slightly by using noun-based names.

    Tool Count5/5

    With 13 tools, the count is well-scoped for a brokerage and trading server, covering key areas like accounts, orders, market data, and options without being overwhelming or insufficient.

    Completeness4/5

    The toolset provides comprehensive coverage for querying accounts, orders, positions, and market data, but lacks tools for executing trades or modifying orders, which are notable gaps in a trading context.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables trading and market analysis through Tiger Brokers API integration. Provides real-time market data, portfolio management, order execution, and technical analysis tools with a comprehensive web dashboard for monitoring.
      9
      -
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables access to MetaTrader5 market data and trading functionality, including real-time quotes, historical OHLCV data, tick data, symbol information, and technical indicators for forex and other trading instruments.
      22
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables comprehensive E\*TRADE integration with OAuth authentication, account management, risk calculations, watch lists, and trading operations. Includes built-in risk management guardrails, portfolio tracking, market data access, and trading validation for safe automated trading operations.
      8
      GPL 3.0
    • -
      license
      Not graded
      quality
      Not graded
      maintenance
      Enables real-time stock and options market data retrieval from Interactive Brokers through IB Gateway. Provides stock quotes with price and volume information, plus options quotes with bid, ask, and last price data.
      -