Skip to main content
Glama
fieldviolence

polyrouter-mcp

README.md
# Polyrouter MCP

Model Context Protocol (MCP) server for [Polyrouter](https://polyrouter.io) - a unified API for prediction markets.

Query markets across **Polymarket, Kalshi, Limitless, and Manifold** through a single interface. Optionally trade on Kalshi and Polymarket.

## Setup

### 1. Install Dependencies

```bash
bun install
```

### 2. Configure Environment

```bash
cp .env.example .env
```

Edit `.env` and add your Polyrouter API key:

```env
POLYROUTER_API_KEY=your_api_key_here
POLYROUTER_BASE_URL=https://api-v2.polyrouter.io

# Optional: Trading credentials
KALSHI_API_KEY=
KALSHI_API_SECRET=        # RSA private key (single line with \n)
POLYMARKET_PRIVATE_KEY=   # Ethereum private key (0x...)
```

Get your Polyrouter API key from [polyrouter.io](https://polyrouter.io).

### 3. Build & Run

```bash
bun run build
bun run start
```

Or for development:

```bash
bun run dev
```

## Claude Code Integration

Add to `~/.claude.json`:

```json
{
  "mcpServers": {
    "polyrouter": {
      "command": "bun",
      "args": ["/path/to/polyrouter-mcp/dist/index.js"]
    }
  }
}
```

## Available Tools

### Market Data
- `health_check` - API health status
- `get_api_info` - API information
- `list_markets` - List/search markets
- `get_market` - Get market details
- `get_orderbook` - Real-time orderbook
- `search_markets` - Search across platforms
- `list_platforms` - Available platforms

### Events & Series
- `list_events` / `get_event` - Event data
- `list_series` / `get_series` - Series data

### Sports
- `list_games` / `get_game` - Sports games
- `list_awards` / `get_award` - Award markets (MVP, etc.)
- `list_futures` / `get_future` - Championship futures
- `get_league_info` - League metadata

### Historical Data
- `get_trades` - Trade history
- `get_historical_orderbook` - Orderbook snapshots
- `get_price_history` - OHLC price data

### User Data
- `get_user_profile` - User profile & metrics
- `get_user_trades` - User trade history

### Trading (Optional)
Requires Kalshi or Polymarket credentials in `.env`:

- `preview_order` / `confirm_order` - Two-step order placement
- `cancel_order` / `cancel_all_orders` - Cancel orders
- `get_orders` / `amend_order` - Manage orders
- `get_balance` - Account balance
- `get_positions` - Current positions
- `get_fills` - Fill history

## Troubleshooting

**API Key Not Set**
```
Error: POLYROUTER_API_KEY environment variable not set
```
Make sure `.env` exists with your API key.

**Server Won't Start**
```bash
bun install
bun run type-check
```

## License

MIT