DEV Community

manja316
manja316

Posted on • Originally published at github.com

Give Claude (or Cursor) live Polymarket prediction-market data with one MCP server

Give Claude (or Cursor) live Polymarket prediction-market data with one MCP server

Polymarket has a public API. Your AI agent — Claude Desktop, Cursor, Cline — does not speak it. So when you ask "what prediction markets just crashed?" the agent either makes something up, scrapes a stale wiki, or politely declines.

I got tired of that. polymarket-mcp-pro is a Model Context Protocol server that exposes seven read-only tools to any MCP-compatible client. The agent can list markets by volume, pull historical price snapshots, find recent crashes, and inspect order-book depth — all over a structured JSON tool surface, no HTTP code in your prompts.

It's free, open source, and backed by a real dataset (not a toy demo).

The numbers behind it

The MCP server is just the agent-facing skin. The data layer behind it is api.protodex.io, which indexes:

  • 13,964 Polymarket markets
  • 10.8M+ price snapshots (one every 15 minutes per active market)
  • $11.7B+ cumulative volume covered
  • Refreshed continuously, served via a stable REST surface

When you ask the agent "show me markets that dropped 15% in the last 4 hours," it's running against that whole corpus, not a 10-market sample.

Install in 30 seconds

If you have uv:

uvx --from polymarket-mcp-pro polymarket-mcp
Enter fullscreen mode Exit fullscreen mode

Or, classic pip:

pip install polymarket-mcp-pro
Enter fullscreen mode Exit fullscreen mode

The PyPI distribution name is polymarket-mcp-pro because the bare polymarket-mcp was taken by an unrelated package. The CLI and import path both stay polymarket_mcp.

Wire it into Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "polymarket": {
      "command": "uvx",
      "args": ["polymarket-mcp"]
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Restart Claude Desktop. The polymarket tools appear in the tool picker.

Cursor: same JSON block under Settings → Features → MCP Servers. Cline, Continue, any other MCP client over stdio: same command.

The seven tools

Tool What it does
get_stats Dataset-wide counts and freshness
list_markets Paginated list with category, search, sort
get_market Single market detail with CLOB token ids
get_prices Historical price snapshots for a Yes/No outcome
get_crashes Markets that dropped >= N% in the last H hours
get_categories Category breakdown with market counts and volume
get_orderbook Live bid/ask depth for a CLOB token id

Everything is read-only. There is no order placement, no signing, no wallet. The agent observes; you decide.

What I actually use it for

Three workflows, real not hypothetical:

1. Crash scanner as a morning routine. "Run get_crashes with threshold 15% over 4 hours, filter to volume > $100k, summarize the top 5." The agent comes back with a structured list and a paragraph each on what each market is. Most days zero matches. Some days something interesting.

2. Researching a news event. When something happens in the world that has prediction markets — election, ruling, central-bank meeting — I ask the agent to pull every related market plus its 24h price action. The agent picks the right markets via search; the data is fresh because it's queried at prompt time, not from training data.

3. Building strategy notes. I keep a Markdown file of strategy hypotheses. The agent appends "current state" sections by calling the tools — "as of this query, the resolution market for X is trading at Y with Z volume in the last day." No copy-paste from a Polymarket browser tab.

Why this isn't just a thin wrapper

A thin wrapper would forward the agent's question to Polymarket's CLOB API and call it a day. Two problems with that:

  1. The CLOB API is rate-limited and returns raw orderbook diffs. An agent burning tokens decoding diff sequences is wasteful.
  2. There is no historical price endpoint on the live API. If you want price 18 hours ago, you have to maintain your own snapshot pipeline.

polymarket-mcp-pro talks to api.protodex.io, which has been running that snapshot pipeline since early 2026. The historical depth (10.8M+ points) is the thing the agent gets that no thin-wrapper alternative provides.

What's coming in v0.2

A WebSocket subscription transport. Right now get_crashes is poll-based — the agent asks, the server returns the current snapshot. v0.2 will let the agent subscribe to a stream and get pushed updates when a crash threshold is breached, without re-asking. The MCP spec supports this natively; it just needs glue code on my end.

Get the historical dataset too

The MCP server gives your agent live access. If you want the full historical corpus as a flat CSV for offline analysis, backtests, or building your own thing on top — that's available here. 10.8M+ price records, 13,964 markets, $11.7B+ volume, one-time purchase.

The MCP server stays free either way. The dataset is the optional commercial layer for people who want bulk access without hammering an API.

Links

If you build something with this, I want to hear about it. Open a GitHub Discussion on the repo or comment below.

Top comments (0)