Content
# 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 Config
Below is the configuration for this MCP Server. You can copy it directly to Cursor or other MCP clients.
mcp.json
Connection Info
You Might Also Like
valuecell
Valuecell is a Python project for efficient data management.
hexstrike-ai
HexStrike AI is an AI-powered MCP cybersecurity automation platform with 150+ tools.
AP2
AP2 provides code samples and demos for the Agent Payments Protocol.
YC-Killer
YC-Killer is an AI agents library by Singularity Research, open-sourcing...
mcp-server
MCP Server provides access to stock market data and financial statements.
solana-agent-kit
An open-source toolkit for AI agents to interact with Solana protocols.