Skip to main content

MCP server that matches news headlines to the Polymarket prediction markets they could move — live odds, deep links, explainable matching

Project description

polymarket-news-mcp

Give an AI agent a headline — get the Polymarket markets it moves.

An MCP (Model Context Protocol) server that connects real-world news to prediction markets. Plenty of MCP servers can look up Polymarket prices; this one answers a different question: "this just happened — where can the world's belief about it be read?" Matching is deterministic and explainable — every match reports the exact terms that fired and a confidence score, so your agent can judge the match itself.

Read-only by design: no API keys, no wallet, no trading. Live odds and links only.

Tools

Tool What it does
match_news(text, top_k) The headline tool. News headline/snippet → the markets it could move, with live odds, 24h volume, match score, matched terms, deep links
latest_matched_news(top_k, max_age_hours) Live feed: recent headlines from major outlets (crypto, politics, world, sports), each matched to its markets
search_markets(query, top_k) Lenient free-text search over ~2,000 active markets
trending_markets(top_k) Most active markets right now by 24h volume
get_market(slug_or_url) One market's live odds by URL or slug

Example

match_news("Federal Reserve signals rate hike as inflation stays hot")

[
  {"question": "Fed rate hike in 2026?", "match_score": 17.2,
   "outcomes": {"Yes": 0.47, "No": 0.53}, "volume_24h_usd": 812440,
   "matched_terms": ["fed", "hike", "rate", "rate hike"],
   "url": "https://polymarket.com/event/fed-rate-hike-in-2026"},
  {"question": "Fed Rate Hike by July 2026 Meeting?", "match_score": 17.0,
   "outcomes": {"Yes": 0.08, "No": 0.92}, ...}
]

Install

Requires Python ≥3.10. With uv (no install needed):

uvx polymarket-news-mcp

Claude Code

claude mcp add polymarket-news -- uvx polymarket-news-mcp

Claude Desktop / any MCP client (claude_desktop_config.json):

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

Or classic pip: pip install polymarket-news-mcp then command polymarket-news-mcp.

Trading (opt-in, v0.2.0+)

By default this server is read-only. Trading tools appear only when you provide your own signing key and install the extra:

pip install "polymarket-news-mcp[trading]"
export POLYMARKET_PRIVATE_KEY=0x...     # YOUR key. Stays local, signs locally.
export POLYMARKET_FUNDER=0x...          # your Polymarket proxy/funds address (browser-wallet accounts)
# optional: POLYMARKET_SIGNATURE_TYPE (0 EOA / 1 proxy / 2 Safe / 3 deposit wallet)
# optional: POLYMARKET_MAX_ORDER_USD (spend cap per order, default 100)

Tools: trading_status, place_limit_order, place_market_buy, my_open_orders, cancel_order, my_positions. Every order is bounded by the spend cap.

Transparency — builder attribution. Orders placed through this server carry the newsbet builder code (0 bps maker/taker — you pay no extra fees); Polymarket's Builders program attributes routed volume to the project. Forks can override via POLYMARKET_BUILDER_CODE.

Security. Your key never leaves your machine and is never logged. Use a dedicated trading wallet with limited funds. Market SELL is deliberately not offered (ambiguous upstream semantics) — sell via limit orders.

Known upstream caveat (July 2026). Polymarket's py-clob-client-v2 currently cannot sign for NEW "deposit wallet" accounts (#52, #70, #76). Accounts created via the Polymarket website with a browser wallet (signature types 0/1/2) work — set POLYMARKET_FUNDER to your Polymarket profile address.

Jurisdiction. Polymarket's CLOB rejects orders from restricted regions (incl. the US) server-side; using these tools where prohibited is on you. Nothing here is financial advice.

How matching works

IDF-weighted term overlap between your text and market questions/event titles, plus: phrase (bigram) agreement, numeric normalization ($120,000 ≡ 120k), accent folding, a salience gate (every match needs a rare informative anchor — "openai", never "the"), one-best-market-per-event dedupe, and a relative cutoff. Market data comes from Polymarket's public Gamma API (top ~2,000 markets by liquidity, cached 15 minutes at ~/.cache/polymarket-news-mcp/). First call after a cold start takes ~10–15s to build the index; subsequent calls are instant.

Notes & limits

  • Informational only — not financial advice. Polymarket availability depends on your jurisdiction; this server never places orders.
  • News feed sources: CoinDesk, Cointelegraph, Decrypt, The Block, SEC, BBC World & Politics, ESPN (RSS). PRs welcome for more.
  • Match scores ≥15 are high-confidence; 10–15 are related-entity matches.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

polymarket_news_mcp-0.2.0.tar.gz (23.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

polymarket_news_mcp-0.2.0-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

File details

Details for the file polymarket_news_mcp-0.2.0.tar.gz.

File metadata

  • Download URL: polymarket_news_mcp-0.2.0.tar.gz
  • Upload date:
  • Size: 23.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for polymarket_news_mcp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 2623e52cef6b745c70f78a68dadd0c75471b282760865b2b1e6018dac82885f5
MD5 e11cf636fba730c9904f428df78a05cf
BLAKE2b-256 1fe6a2909642472b2242bdcf9f9b3ac59b852d5838b3003b946fab058523b348

See more details on using hashes here.

Provenance

The following attestation bundles were made for polymarket_news_mcp-0.2.0.tar.gz:

Publisher: publish.yml on mobymedia/polymarket-news-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file polymarket_news_mcp-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for polymarket_news_mcp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9207bd3940a83db708447159f9a609adb917b5d5af62217680f0cc324ac464a1
MD5 9920d5559fabe4f640fe94063f4cf866
BLAKE2b-256 7178a9ebeaee6ded92b7a57d50c359cb6f8b99d460a94adf12131f60329e01f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for polymarket_news_mcp-0.2.0-py3-none-any.whl:

Publisher: publish.yml on mobymedia/polymarket-news-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page