Skip to main content

polymarket-mcp

pip install polymarket-trading-mcp

MCP server and Python toolkit for Polymarket prediction markets. Gives AI agents real-time slippage estimation, liquidity scanning, arbitrage detection, crypto price feeds, contract timers, sentiment analysis, probability estimation, and portfolio risk calculation — all through the Model Context Protocol.

Works with Claude Desktop, Cursor, Windsurf, and any MCP-compatible client.


Quick Start

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "polymarket": {
      "command": "polymarket-mcp",
      "args": ["--stdio"]
    }
  }
}

Run as SSE server

polymarket-mcp
# Starts on http://127.0.0.1:8000/sse

Run as streamable HTTP

polymarket-mcp --http
# Starts on http://127.0.0.1:8000/mcp

Tools

All free tools require no API key. Paid tools require an API key from whitmorelabs.io.

Free Tools

estimate_slippage

Walk the CLOB order book and calculate average fill price for a given position size.

estimate_slippage(
    market_id="71321045679252212594626385532587807886473352341859285086426388424842616389328",
    side="BUY",
    position_size_usd=500.0
)

Returns: best_price, avg_fill_price, slippage_pct, liquidity_available, recommendation (go/caution/no-go).

scan_market_liquidity

Scan a market's liquidity depth with spread and depth at 1%/2%/5% from mid.

scan_market_liquidity(market_id="71321045679252212594626385532587807886473352341859285086426388424842616389328")

Returns: best_bid, best_ask, spread_pct, depth buckets, liquidity_grade (A/B/C).

find_arbitrage_gaps

Scan all active Polymarket markets for YES + NO price sums that don't equal 1.00.

find_arbitrage_gaps(min_gap_pct=2.0)

Returns: markets with gaps, gap size, and direction to exploit (BUY_BOTH or SELL_BOTH).

get_crypto_price

Real-time crypto price from Binance and/or CoinGecko in parallel, with latency metadata.

get_crypto_price(symbol="BTC", sources="binance,coingecko")

Returns: per-source prices, average, max deviation between sources.

get_contract_status

Time remaining and resolution status for active Polymarket contracts. BTC 5-min/15-min contracts use slug timestamp parsing for exact expiry.

get_contract_status(market_id="btc-updown-5m-1711234567")
get_contract_status(category="crypto")  # scan all short-duration contracts

Returns: time_remaining_seconds, time_remaining_human, current_odds.

estimate_probability

Estimate the probability of any event using structured reasoning. Base rates, key factors, timeframe analysis — all in one structured JSON response.

estimate_probability(question="Will Bitcoin reach $150k before end of 2025?")

Returns: estimated_probability (0-1), confidence_level, factors_for, factors_against, base_rate_note, reasoning.

calculate_portfolio_risk

Pure-math risk metrics for a portfolio of prediction market positions. No external API calls.

calculate_portfolio_risk(positions='[{"market_id": "abc123", "side": "YES", "size": 200, "entry_price": 0.65}]')

Returns: total_exposure, max_loss, max_gain, diversification_score, kelly_warnings, rebalancing_suggestions.

get_scoring_performance

Free. No API key. Returns scoring methodology, current dataset stats, and pricing. Call this first to evaluate whether the paid data is worth it.

Paid Tools (API key required)

7-day free trial on signup. After trial: pay-per-request in USDC on Polygon.

Tool Cost
get_shadow_wallets $0.05/request
get_top_wallets $0.05/request
get_wallet_score $0.05/request
get_wallet_pnl $0.05/request
get_wallet_clusters $0.05/request
get_btc_short_markets $0.01/request
analyze_market_sentiment $0.05/request

Volume discount: 50% off above 1000 requests/day.

get_shadow_wallets

Find wallets that co-trade with a seed wallet across the same Polymarket categories.

get_shadow_wallets(seed_wallet="0xabc...", api_key="your-key")

Returns: up to 20 shadow wallets ranked by co-trading intensity, shared categories, win rates.

get_top_wallets

Top-ranked Polymarket wallets from MoonMirror's scoring engine (PnL + consistency + specialization - drawdown penalty).

get_top_wallets(api_key="your-key", limit=50, min_score=0.5)

get_wallet_score

Full scoring breakdown for a specific wallet address.

get_wallet_score(address="0xabc...", api_key="your-key")

Returns: score components, win rate, trade count, data freshness.

get_wallet_pnl

Realized PnL for a wallet with per-category breakdown. Pre-computed from Goldsky subgraph.

get_wallet_pnl(address="0xabc...", api_key="your-key")

get_wallet_clusters

Wallets that independently appear alongside 3+ different top-scoring wallets — stronger signal than a single shadow match.

get_wallet_clusters(api_key="your-key", min_co_trades=3)

get_btc_short_markets

Active BTC 5-min and 15-min Polymarket contracts with token IDs and current midpoint prices. Cached, refreshed every 60 seconds.

get_btc_short_markets(api_key="your-key")

analyze_market_sentiment

Structured probabilistic analysis for a prediction market question using Claude's reasoning.

analyze_market_sentiment(question="Will Ethereum ETF hit $10B AUM by Q3 2025?", api_key="your-key")

Wallet Intelligence: How It Works

The paid wallet tools are backed by MoonMirror, a Polymarket wallet intelligence engine. MoonMirror continuously monitors wallets on-chain, scores them on PnL, consistency, and market specialization, and pre-computes shadow wallet relationships.

All wallet queries return in < 100ms because everything is pre-computed. No blocking subgraph calls.


Alternatives Comparison

Feature polymarket-mcp Manual CLOB calls py-clob-client
MCP integration Yes No No
Slippage estimation Yes DIY Partial
Arbitrage scanning Yes DIY No
Wallet intelligence Yes No No
Price feed (multi-source) Yes No No
Probability engine Yes No No
Portfolio risk math Yes No No
AI agent ready Yes No No

Configuration

All settings via environment variables:

# Server
HOST=127.0.0.1
PORT=8000

# DB paths (for self-hosted wallet intelligence)
MOONMIRROR_DB_PATH=/path/to/moonmirror.db
SERVICES_DB_PATH=/path/to/services.db

# Pricing
PRICE_WALLET_INTEL=0.05
PRICE_MARKET_DATA=0.01
TRIAL_DAYS=7

# Rate limiting
RATE_PER_KEY=5
RATE_GLOBAL=20

Admin CLI

# Create an API key
polymarket-mcp --create-key "customer-name"

# Top up a key's USDC balance
polymarket-mcp --top-up YOUR_KEY 10.0

GitHub

github.com/whitmorelabs/polymarket-mcp

Issues, PRs, and stars welcome.

Release files for polymarket-trading-mcp 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for polymarket-trading-mcp 0.1.2
File Size Uploaded
polymarket_trading_mcp-0.1.2.tar.gz 7.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for polymarket-trading-mcp 0.1.2
File Interpreter ABI Platform
polymarket_trading_mcp-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 7.3 MB

Release files / polymarket_trading_mcp-0.1.2.tar.gz

Download URL polymarket_trading_mcp-0.1.2.tar.gz
Size 7.2 MB
Tags Source
SHA-256 checksum
How to use checksums
51d746073c31c674ca3f4077961aabb0e8d98cc8e6b1a59573e40bebd02a1fc7
BLAKE2b-256 checksum
How to use checksums
0abd2453ee3ec5e400e969ad5d88411655596cb696a3e7e664df7c071bf69cc1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / polymarket_trading_mcp-0.1.2-py3-none-any.whl

Download URL polymarket_trading_mcp-0.1.2-py3-none-any.whl
Size 54.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f219055e1af9233e0a82e550cb7d5aec40852c72edb634423f4ddfbfc3a0d6f8
BLAKE2b-256 checksum
How to use checksums
8f45f340c6af7dcc9f0d0ed5151986d3f1c64ba3e2f1a8c04ab76c172acb2d83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page