Skip to main content
Glama
lukehanner

Prop Trading MCP Server

by lukehanner
README.md
# Prop Trading MCP Server

An MCP (Model Context Protocol) server that exposes futures prop firm data and personalized recommendation logic to AI agents like Claude and ChatGPT.

## Features

- **12 Prop Firms**: Complete data on Apex, Topstep, MFFU, TradeDay, BluSky, TPT, Earn2Trade, Elite, Bulenox, Alpha, Tradeify, and Lucid
- **Smart Recommendations**: Sophisticated scoring algorithm considers experience, budget, trading style, and dealbreakers
- **6 MCP Tools**: List, search, compare, get details, get quiz questions, and get recommendations
- **Affiliate Link Support**: Environment variables for referral tracking

## Installation

### Option 1: NPX (Easiest - No Installation Required)

Just add to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "prop-trading": {
      "command": "npx",
      "args": ["-y", "@modryn-studio/prop-trading-mcp"]
    }
  }
}
```

Restart Claude Desktop and you're done! 🎉

### Option 2: Auto-Installer

```bash
npx @modryn-studio/prop-trading-mcp-install
```

This automatically updates your Claude config file.

### Option 3: Manual Installation

```bash
# Clone the repository
git clone https://github.com/modryn-studio/prop-trading-mcp
cd prop-trading-mcp

# Install dependencies
npm install

# Build
npm run build

# Auto-configure Claude Desktop
npm run install-claude
```

### Finding Your Config File

- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Linux**: `~/.config/claude/claude_desktop_config.json`

## Usage with Claude Desktop

After installation, restart Claude Desktop. The server will automatically start when Claude needs it.

**Test it:** Ask Claude "What prop firms do you have data on?"

### Adding Affiliate IDs (Optional)

### Adding Affiliate IDs (Optional)

Edit your `claude_desktop_config.json` to add environment variables:

```json
{
  "mcpServers": {
    "prop-trading": {
      "command": "npx",
      "args": ["-y", "@modryn-studio/prop-trading-mcp"],
      "env": {
        "APEX_AFFILIATE_ID": "your-apex-id",
        "MFFU_AFFILIATE_ID": "your-mffu-id",
        "TOPSTEP_AFFILIATE_ID": "your-topstep-id"
      }
    }
  }
}
```

See [Environment Variables](#environment-variables) section for all 12 firm IDs.

## Available Tools

### 1. `list_firms`

List all 12 prop trading firms with summary information.

**Example prompt**: "What prop firms do you have data on?"

### 2. `get_firm`

Get detailed information about a specific firm.

**Parameters**:
- `slug` (required): Firm identifier (apex, topstep, mffu, tradeday, blusky, tpt, earn2trade, elite, bulenox, alpha, tradeify, lucid)

**Example prompt**: "Tell me about MyFundedFutures"

### 3. `compare_firms`

Side-by-side comparison of 2-4 firms.

**Parameters**:
- `slugs` (required): Array of 2-4 firm slugs
- `metrics` (optional): Specific metrics to compare

**Example prompt**: "Compare Apex vs MFFU vs Topstep"

### 4. `search_firms`

Filter firms by criteria.

**Parameters**:
- `maxBudget`: Maximum monthly budget in USD
- `paymentType`: "monthly", "one_time", or "either"
- `minTrustpilot`: Minimum Trustpilot rating
- `noConsistencyRule`: Only firms without consistency rules
- `allowsOvernightHolding`: Only firms allowing overnight positions
- `noActivationFee`: Only firms without activation fees
- `payoutSpeed`: "instant", "same_day", "weekly", or "any"

**Example prompt**: "Show me firms under $100/month with no consistency rule"

### 5. `recommend` ⭐ (Core Tool)

Get personalized firm recommendations based on trader preferences.

**Parameters**:
- `experience` (required): "less_than_6mo", "6_to_12mo", "1_to_3yr", "3yr_plus"
- `budget` (required): "under_100", "100_to_200", "200_to_400", "400_plus"
- `tradingStyle` (required): "scalping", "day_trading", "swing_trading", "mixed"
- `situation`: "first_time", "attempted_not_passed", "passed_didnt_work", "currently_funded"
- `paymentPreference`: "monthly", "one_time", "no_preference"
- `biggestConcern`: "drawdown_limits", "consistency_rules", "overnight_restrictions", "time_pressure", "payout_restrictions", "not_sure"
- `payoutPriority`: "critical", "important", "flexible", "other_factors"
- `supportNeeds`: "none", "minimal", "moderate", "significant"
- `dealbreakers`: Array of dealbreakers (e.g., ["monthly_fees", "consistency_rules"])

**Example prompt**: "I'm a beginner day trader with $150 budget. I hate consistency rules and want fast payouts. What prop firm should I use?"

### 6. `get_quiz_questions`

Get all quiz questions for conducting an interactive recommendation flow.

**Example prompt**: "Walk me through the prop firm quiz"

## Development

```bash
# Build
npm run build

# Build in watch mode
npm run dev

# Type checking
npm run typecheck

# Test with MCP Inspector
npm run inspect
```

## Environment Variables

Optional affiliate IDs for referral tracking:

```env
APEX_AFFILIATE_ID=
TOPSTEP_AFFILIATE_ID=
MFFU_AFFILIATE_ID=
TRADEDAY_AFFILIATE_ID=
BLUSKY_AFFILIATE_ID=
TPT_AFFILIATE_ID=
EARN2TRADE_AFFILIATE_ID=
ELITE_AFFILIATE_ID=
BULENOX_AFFILIATE_ID=
ALPHA_AFFILIATE_ID=
TRADEIFY_AFFILIATE_ID=
LUCID_AFFILIATE_ID=
```

## Scoring Algorithm

The recommendation engine uses a sophisticated scoring system:

1. **Initialize**: All firms start at score 0
2. **Rising Star Boost**: Lucid gets +2 (new firm with high ratings)
3. **Score Each Question**: Add/subtract points based on answers
4. **Apply Dealbreakers**: Eliminate firms matching hard dealbreakers
5. **Sort Results**: By score DESC, Trustpilot DESC as tiebreaker
6. **Calculate Match Strength**: Capped at 95%
7. **Return Top 3**: Plus eliminated firms with reasons

## Prop Firms Included

| Firm | Key Strength | Trustpilot |
|------|-------------|------------|
| Apex Trader Funding | 100% first $25K, up to 20 accounts | 4.5 |
| Topstep | Most established (2012), best education | 3.6 |
| MyFundedFutures | 32-min avg payouts, no activation fee | 4.9 |
| TradeDay | 1-day minimum, path to live capital | 4.7 |
| BluSky Trading | Daily payouts, same-day processing | 4.8 |
| Take Profit Trader | Day-one withdrawals, no consistency in funded | 4.4 |
| Earn2Trade | Best education, Career Path to $400K | 4.6 |
| Elite Trader Funding | Diamond Hands allows overnight/weekend | 4.5 |
| Bulenox | One-time fee, no monthly recurring | 4.8 |
| Alpha Futures | Top-rated newcomer, excellent support | 4.9 |
| Tradeify | 60-min automated payouts | 4.7 |
| Lucid Trading | ~15 min payouts, one-time fee | 4.8 |

## License

MIT

## Related

- [Futures Prop Tool](https://futuresproptool.com) - The web quiz this server is based on
- [MCP Protocol](https://modelcontextprotocol.io) - Model Context Protocol specification

TDQS

A3.8/5.0

Scored across 6 tools

Disambiguation4/5

The tools mostly target distinct needs: get_firm (single detail), list_firms (all summaries), search_firms (filtered), compare_firms (side-by-side), recommend (personalized), and get_quiz_questions (quiz data). The main overlap is between list_firms and search_firms, since searching with no criteria effectively produces a list, but descriptions clarify the boundaries well enough.

Naming Consistency4/5

Most tools follow a clear verb_noun pattern (get_firm, compare_firms, search_firms, list_firms, get_quiz_questions). The lone deviation is 'recommend', which is a bare verb without a noun, but it is still readable and unambiguous.

Tool Count5/5

Six tools is well-scoped for a prop firm comparison and recommendation service. Each tool handles a distinct operation (list, detail, search, compare, recommend, quiz) with no redundant entries.

Completeness5/5

The surface covers the full lifecycle of the domain: browsing (list/search), inspecting (get_firm), comparing (compare_firms), personalized matching (recommend plus get_quiz_questions), with referral links surfaced. No obvious gaps remain for the stated purpose.

Maintenance

ActivityInactive
ResponsivenessNo issues