Skip to main content
Glama

TradeStation MCP Server

by maven81g
README.md5.76 kB
# 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 ## 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: ```bash git clone <repository-url> cd mcp-tradesation ``` 2. Install dependencies: ```bash npm install ``` 3. Copy the example environment file: ```bash cp .env.example .env ``` 4. Edit `.env` and add your TradeStation API credentials: ```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 ``` 5. Build the server: ```bash npm run build ``` ### Getting TradeStation API Credentials 1. Go to [TradeStation Developer Portal](https://developer.tradestation.com/) 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` ```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: ```bash # 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 ```bash 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: - [TradeStation Developer Portal](https://developer.tradestation.com/) - [API Documentation](https://api.tradestation.com/docs/) ## License ISC ## Contributing Contributions are welcome! Please feel free to submit issues or pull requests.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/maven81g/tradestation_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server