Polymarket + Kalshi odds, movers, gaps, watch, and X sentiment for AI agents. Pay per call via x402.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
Live Polymarket + Kalshi prediction-market odds, movers, price history, cross-platform gaps, watch, and X/Twitter sentiment inside Claude, Cursor, or any MCP client β no API key, no subscription, no monthly minimum. Your agent pays a fraction of a cent per call in USDC on Base using x402.
Facts only β not investment advice. Every answer is implied probability, volume, and price
history from the markets themselves (plus, for pm_sentiment, a plain read of what X/Twitter is
saying). Nothing here is a buy/sell/hold signal, a trade recommendation, or financial advice.
Prediction markets (Polymarket, Kalshi) already price real-world questions β elections, Fed decisions, macro events β as crowd-forecast odds. Reading them across two platforms usually means two different SDKs, two rate limits, and no cross-platform comparison. This server does both in one call, charges per request instead of a subscription, and there is nothing to cancel.
pm_search β $0.01Markets on Polymarket + Kalshi matching a question or topic, ranked by relevance, each with
probability, 24h change, volume, close date, URL, and id (use the id with pm_history or
pm_watch). Inputs: q (required), limit (optional, 1-50, default 20).
pm_odds β $0.02"What do the markets say" for one question β the headline market per platform, the cross-platform probability gap, 7-day history, and a one-line summary:
Input: q (required). Use pm_search instead when you want the full ranked list.
pm_movers β $0.02Biggest 24h/7d probability swings among liquid Polymarket markets β what's newly hot. Inputs:
window (optional, 24h default or 7d), limit (optional, 1-50, default 20).
pm_history β $0.02One market's probability series over time, first/last/high/low. Inputs: id (required β a
Polymarket condition id/slug/numeric id, or a Kalshi ticker, from pm_search), interval
(optional, 1d/1w/1m/max, default 1w).
pm_ticker_events β $0.01Open Polymarket + Kalshi markets mentioning a US stock ticker or company (a bare ticker like
TSLA is also matched against the company name, Tesla). Facts only β implied probability, 24h
change, volume β never a trade signal. Inputs: q (required β ticker or company/topic), limit
(optional, 1-50, default 20).
pm_sentiment β $0.05What the markets say AND what X/Twitter is saying about the SAME question, one call: headline
market probability, an AI read of X chatter's yes/no lean, key themes, driving accounts, notable
post URLs, and an aligned / diverges / no_clear_read verdict comparing the two:
Input: q (required). No market matched on either platform = no charge.
pm_watch β $0.02Monitor 1-20 market ids or a topic, get back only the change since your last check: current
probability, change_since_cursor (probability points), a moved flag, and (for a topic watch)
newly-listed markets. Pass the response's cursor back in next time β it's stateless, so you can
run any number of watches in parallel. Inputs: ids (1-20 comma-separated ids) OR q (a topic) β
provide one, not both; cursor (optional, omit on the first call); min_move (optional,
probability points, default 3). Nothing moved and nothing new = no charge β the fresh cursor
still comes back so your monitor keeps its place.
pm_gaps β $0.02Biggest Polymarket-vs-Kalshi disagreements on the SAME question β matched by topic, close date,
and shared numbers, with a match_confidence score and a polarity check so opposite-side matches
never show as a misleading gap. Served from a snapshot rebuilt every 30 minutes. Inputs: limit
(optional, 1-50, default 20), min_gap (optional, probability points, default 5), q (optional
topic filter). No matches at that gap size = no charge; snapshot not built yet after a cold start
= free, retry shortly.
pm_closing β $0.01Markets on both platforms closing within 24h or 7d, sorted by volume. Inputs: window (optional,
24h default or 7d), limit (optional, 1-50, default 20), q (optional topic filter).
pm_resolved β $0.01Markets on both platforms that settled within 24h or 7d, with the final outcome and last price β
for grading a forecast against reality. Same inputs as pm_closing.
pm_example β freeA real pm_odds result for a fixed question ("fed rate cut"), capped to 5 markets and 12 history
points, refreshed every 6 hours. No wallet, no payment, no x402 needed β use it to see the
answer shape before spending on any paid tool. No inputs.
You need a Coinbase CDP wallet funded with a little USDC on Base β that wallet pays per call.
Create one at portal.cdp.coinbase.com (API key + wallet secret).
pm_example works without any of this β it's free.
Claude Desktop / Claude Code β add to claude_desktop_config.json (or .mcp.json for Claude
Code):
Cursor β Settings β MCP β Add new MCP server, same command/args/env as above.
X402_MAX_PRICE is a hard per-call ceiling in USD. If the endpoint ever quotes more than this,
the request is refused before anything is signed β no charge. The default 0.05 already
covers every paid tool above (the priciest is pm_sentiment at $0.05) β you don't need to raise it.
x402, bring-your-own-wallet. Every paid tool pays from the wallet you configure β your own Coinbase CDP account, funded with USDC on Base. There is no server-side wallet and no shared account: each call signs its own USDC authorization, and the endpoint's facilitator settles it on Base. Gas is covered by the facilitator; you spend USDC only.
pm_search / pm_ticker_events / pm_gaps /
pm_closing / pm_resolved / pm_sentiment comes back as no_results with charged: false β
the payment is never settled.pm_watch only charges when something moved or something new appeared. A check that finds
nothing new is free β poll it on a schedule without worry.pm_gaps before its 30-minute background snapshot has finished its first build answers free
(503) instead of charging for an incomplete answer.error and logs
the call for refund rather than pretending it worked.Protocol: x402 v2 (CAIP-2 networks, PAYMENT-REQUIRED challenge header).
MIT
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/prediction-market-signal-mcp)<a href="https://allmcps.com/mcp/prediction-market-signal-mcp"><img src="https://allmcps.com/api/badge/prediction-market-signal-mcp?style=directory" alt="Prediction Market Signal MCP on AllMCPs" /></a>