@igoforth/polymarket-mcp
# @igoforth/polymarket-mcp
MCP server exposing 47 [Polymarket](https://polymarket.com) API tools for AI assistants. Covers the full Gamma, CLOB, and Data APIs plus a fluent MarketBuilder for multi-source queries.
## Installation
```bash
npm install -g @igoforth/polymarket-mcp
```
## Usage
### Claude Code
Add to `~/.claude/settings.json`:
```json
{
"mcpServers": {
"polymarket": {
"command": "polymarket-mcp"
}
}
}
```
### Claude Desktop
```json
{
"mcpServers": {
"polymarket": {
"command": "npx",
"args": ["-y", "@igoforth/polymarket-mcp"]
}
}
}
```
## Tools
### Market Data (Gamma API)
| Tool | Description |
|------|-------------|
| `query_markets` | Fluent MarketBuilder — query markets with field selection and presets |
| `list_markets` | List markets with filtering |
| `list_events` | List events with pagination |
| `get_event` | Get event by ID or slug |
| `get_tag` | Get tag by ID or slug |
| `list_tags` | List all tags |
| `search` | Full-text search across markets and events |
| `get_series` | Get series details |
| `list_series` | List all series |
| `get_sports_metadata` | Sports market metadata |
| `get_team` | Team details for sports markets |
| `get_profile` | Public profile by wallet address |
| `get_comments` | Comments on markets/events |
| `get_clarifications` | Market clarifications |
### Orderbook & Pricing (CLOB API)
| Tool | Description |
|------|-------------|
| `get_orderbooks` | Get orderbook depth for token(s) |
| `get_price` | Current price for a token |
| `get_prices` | Batch prices for multiple tokens |
| `get_midpoint` | Midpoint price |
| `get_spreads` | Bid-ask spreads |
| `get_price_history` | Historical price data |
| `get_sampling_markets` | Markets available for sampling |
| `get_market_rewards` | Market maker reward rates |
| `get_server_time` | CLOB server timestamp |
### User Activity (Data API)
| Tool | Description |
|------|-------------|
| `get_user_activity` | Trading activity for an address |
| `get_user_value` | Portfolio value |
| `get_positions` | Open positions |
| `get_closed_positions` | Closed positions |
| `get_trades` | Trade history |
| `get_live_volume` | Real-time trading volume |
## No API Keys Required
All tools use public Polymarket API endpoints. No authentication needed for read-only market data.
## License
MIT
TDQS
Scored across 47 tools
Many tools have unclear boundaries. For example, get_tags_related_to_tag and get_related_tags appear to do the same thing, and get_sampling_markets vs get_sampling_simplified_markets are nearly identical. Price-related tools (get_prices, get_midpoint, get_spreads) also overlap significantly.
The naming pattern is mixed: some tools use list_ (list_markets, list_comments), others use get_ (get_event, get_market_tags), and a few use neither (query_markets, public_search). While most names are readable, the inconsistency makes the API less predictable.
With 47 tools, the server feels overloaded. Many are minor variations (e.g., get_sampling_markets vs get_sampling_simplified_markets, get_related_tags vs get_tags_related_to_tag) that could be merged or removed. The large count increases cognitive load without clear added value.
The server covers a broad range of Polymarket data: events, markets, prices, user positions, comments, tags, sports, and builder analytics. It is almost entirely read-only, which seems intentional, and lacks only minor convenience features like batch queries or combined endpoints.