Real-time access to Polymarket prediction markets via the official Gamma API and CLOB v2 order book. Search thousands of markets on politics, crypto, sports,...
---
name: polymarket-live-markets
display_name: "Polymarket MCP — Live Markets & Prices"
version: 1.1.0
description: >
Real-time access to Polymarket prediction markets via the official Gamma API
and CLOB v2 order book. Search thousands of markets on politics, crypto,
sports, and world events. Get live YES/NO prices pulled directly from the
on-chain order book — not cached estimates. Price history with sparklines.
Browse by category. Zero credentials required.
author: polymarket-mcp
license: MIT
homepage: ""
runtime: node
language: typescript
min_node_version: "18"
tags:
- polymarket
- prediction-markets
- finance
- crypto
- bitcoin
- politics
- sports
- real-time
- clob
- order-book
- trading
- markets
- data
- price-history
- sparkline
categories:
- Finance & Crypto
- Data & Research
- Real-Time Data
transport:
- stdio
requires_auth: false
read_only: true
install:
manager: npm
command: npm install
scripts:
dev: npm run dev
build: npm run build
start: npm start
claude_desktop_config: |
{
"mcpServers": {
"polymarket": {
"command": "node",
"args": ["PATH_TO/polymarket-mcp/dist/server.js"]
}
}
}
tools:
- name: search_markets
description: >
Search across all active Polymarket markets by keyword.
Uses multi-field relevance scoring across event titles, market
questions, and category tags — results ranked by relevance + 24h volume.
Optional category filter (e.g. 'crypto', 'politics', 'sports').
Covers politics, crypto, sports, entertainment, science, and more.
example: search_markets("bitcoin")
parameters:
- name: query
type: string
required: true
description: Keyword or phrase to search (e.g. "bitcoin", "2028 election", "world cup")
- name: limit
type: number
required: false
default: 10
description: Number of results to return (1–50)
- name: category
type: string
required: false
description: Optional category filter (e.g. "crypto", "politics", "sports", "nba")
- name: search_by_category
description: >
Browse the hottest Polymarket markets by category or topic, sorted by 24h volume.
Common categories: politics, crypto, sports, geopolitics, ai, esports,
trump, bitcoin, nba, election, finance, entertainment.
example: search_by_category("crypto", 5)
parameters:
- name: category
type: string
required: true
description: Category name (e.g. "politics", "crypto", "sports")
- name: limit
type: number
required: false
default: 10
description: Number of results to return (1–50)
- name: get_market_details
description: >
Get complete details for any Polymarket market: full question text,
resolution description, current prices for all outcomes, all-time volume,
24h volume, liquidity depth, status, and end date.
Accepts market slugs, event slugs (from search results), or 0x condition IDs.
example: get_market_details("will-bitcoin-hit-150k-by-june-30-2026")
parameters:
- name: slugOrId
type: string
required: true
description: >
Market or event slug from search_markets output,
or a 0x-prefixed hex condition ID.
- name: list_top_markets
description: >
List the hottest prediction markets on Polymarket right now, ranked by
24-hour trading volume. Great for discovering what the crowd is actively
betting on today — from elections and crypto to sports and geopolitics.
example: list_top_markets(10)
parameters:
- name: limit
type: number
required: false
default: 10
description: Number of markets to return (1–50)
- name: get_current_prices
description: >
Fetch live YES/NO prices directly from the Polymarket CLOB v2 order book.
Returns the true midpoint price — (best_bid + best_ask) / 2 — for each
outcome, plus the 24-hour price change (▲▼) and the Gamma cache price
for comparison. Most accurate real-time pricing available.
example: get_current_prices("will-bitcoin-hit-150k-by-june-30-2026")
parameters:
- name: slugOrId
type: string
required: true
description: Market or event slug, or 0x-prefixed condition ID.
- name: get_price_history
description: >
Get historical price data for a market's outcomes from the CLOB v2.
Returns open, close, high, low prices, the percentage change, and a
Unicode sparkline chart (▁▂▃▄▅▆▇█) showing price movement over time.
Periods: 1h (1-min candles), 6h (10-min), 24h (hourly), 7d (daily), 30d (daily).
example: get_price_history("will-bitcoin-hit-150k-by-june-30-2026", "7d")
parameters:
- name: slugOrId
type: string
required: true
description: Market or event slug, or 0x-prefixed condition ID.
- name: period
type: string
required: false
default: "24h"
description: "Time period: 1h | 6h | 24h | 7d | 30d"
- name: get_polymarket_stats
description: >
Get a platform-wide snapshot of Polymarket activity: total 24-hour trading
volume, all-time volume, active liquidity, top market categories by event count,
and the 3 hottest markets right now.
example: get_polymarket_stats()
parameters: []
example_prompts:
- "What are the top Polymarket markets right now?"
- "Search Polymarket for bitcoin markets"
- "Search Polymarket for 2028 US election markets"
- "Search Polymarket for NBA playoffs"
- "Browse crypto markets on Polymarket"
- "Show me the top politics markets"
- "Get details for the FIFA World Cup market"
- "Get live YES/NO prices for will-bitcoin-hit-150k-by-june-30-2026"
- "Show me Bitcoin's price history on Polymarket over the last 7 days"
- "What are the current odds on the Brazil presidential election?"
- "What's the Polymarket odds on Trump and Xi meeting?"
- "Show me a Polymarket platform overview"
- "What are traders betting on today on Polymarket?"
- "Find me prediction markets about AI"
- "What's the market probability for a US recession?"
- "How has the Bitcoin price chart moved on Polymarket this week?"
highlights:
- Live CLOB v2 order-book prices — not stale cached data
- 24-hour price change indicator (▲▼) for instant trend visibility
- Price history sparklines (▁▂▃▄▅▆▇█) for any market and period
- Smart 3-step slug resolution: market slug → event slug → condition ID
- Multi-field relevance scoring (title + questions + tags) for better search
- Browse by category: politics, crypto, sports, geopolitics, AI, esports...
- Keyword search across thousands of active markets
- Zero setup — no API key, no wallet, no authentication
- Built with TypeScript + official MCP SDK — production quality
- Native Node.js fetch — no extra HTTP dependencies
---
## Polymarket MCP — Live Markets & Prices
Access the world's largest prediction market platform directly from your AI assistant.
### What is Polymarket?
Polymarket is a decentralized prediction market platform where people trade on the
outcomes of real-world events. Market prices represent the crowd's probability estimate
for each outcome — making them some of the most accurate real-time forecasts available.
### Why this MCP server?
Most tools that access Polymarket use cached API data with stale prices.
**polymarket-mcp** pulls live prices directly from the CLOB v2 order book —
the same data traders use — so you always get the most accurate numbers.
### APIs used
| API | URL | Purpose |
|---|---|---|
| Gamma API | `https://gamma-api.polymarket.com` | Market catalogue, search, metadata |
| CLOB v2 | `https://clob.polymarket.com` | Live order-book midpoint prices, price history |
### Smart slug resolution
When you search for markets, you get back event slugs. These same slugs work
directly with `get_market_details` and `get_current_prices` — the server
automatically resolves event slugs → most active embedded market, so you
never need to manually look up a separate ID.
```
search_markets("bitcoin")
→ slug: "when-will-bitcoin-hit-150k"
get_current_prices("when-will-bitcoin-hit-150k") ← works directly
get_market_details("when-will-bitcoin-hit-150k") ← works directly
get_price_history("when-will-bitcoin-hit-150k", "7d") ← works directly
```
### Price history sparklines
```
get_price_history("will-bitcoin-hit-150k-by-june-30-2026", "24h")
YES outcome (25 data points)
Open: 1.5% Close: 1.1%
Change: ▼ -0.40pp (-26.7%)
High: 1.5% Low: 0.9%
Chart: █▅▄█▇▇█▃▃▃▁▁▂▃▃▃▃▃▃▂▄▄▄▄▄
0.9% 1.5%
```
don't have the plugin yet? install it then click "run inline in claude" again.