prediction-market-mcp
Give Claude (or any MCP-compatible LLM) a live view into Polymarket + Kalshi + Manifold, plus a single tool that hunts for 3-venue arb.
Just want to look at Polymarket data without installing an MCP server? Try the live dashboard: https://creampig666.github.io/prediction-markets-live/
An MCP server in ~400 lines of Python. No keys, no auth, no signup. Stdio transport, Claude Desktop ready.
You: "Find me anything interesting on bitcoin right now."
Claude (calls find_arb_opportunities("bitcoin")):
"Polymarket has 'BTC > $150k by Jun 30' at 12%. Kalshi's matched
contract is at 19%. Manifold's 'Bitcoin to $150k in 2026?' is at 22%.
12 percentage points between Polymarket and Manifold — worth a
look at whether they're really the same underlying..."
What it exposes
11 tools across 3 venues:
| Tool | What it does |
|---|---|
polymarket_top_markets(limit) |
Top Polymarket markets by 24h volume |
polymarket_get_market(slug) |
Single market detail by slug |
polymarket_search(query, limit) |
Keyword search across active markets |
kalshi_top_events(limit) |
Active Kalshi events |
kalshi_get_market(ticker) |
Single Kalshi market by ticker |
kalshi_markets_for_event(event_ticker) |
All sub-markets under a Kalshi event |
kalshi_search_events(query) |
Keyword search across open Kalshi events |
manifold_top_markets(limit) |
Recent BINARY Manifold markets |
manifold_get_market(slug) |
Single Manifold market by slug |
manifold_search(query, limit) |
Keyword search across Manifold |
find_arb_opportunities(query, min_divergence_pp) |
3-venue search + cross-pair divergence report. Returns matched pairs (any 2 of 3 venues) ranked by abs implied-prob gap. |
All tools return structured JSON ready for the LLM to summarize.
Install
pip install git+https://github.com/creampig666/prediction-market-mcp.git
Or local dev:
git clone https://github.com/creampig666/prediction-market-mcp.git
cd prediction-market-mcp && pip install -e .
Hook it up to Claude Desktop
Edit your Claude Desktop config (on Windows: %APPDATA%\Claude\claude_desktop_config.json, on Mac: ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"prediction-market": {
"command": "prediction-market-mcp"
}
}
}
Restart Claude Desktop. The 8 tools above will appear in the tool list and you can ask things like:
- "What are the biggest Polymarket markets right now?"
- "Find Kalshi markets about the next Pope."
- "Run
find_arb_opportunitieson 'iran' and tell me which one has the biggest gap."
Hook it up to other MCP clients
Anything that speaks MCP stdio works. The server has no state and no config — just run prediction-market-mcp and pipe JSON-RPC over stdin/stdout.
How find_arb_opportunities works
- Search all three venues (Polymarket / Kalshi / Manifold) for the keyword.
- For Kalshi, drill from matched events into their sub-markets.
- Build a flat candidate list of
{venue, label, yes_price, url}per matched market. - Enumerate all cross-venue pairs (poly×kalshi, poly×manifold, kalshi×manifold).
- Compute divergence in percentage points, filter by
min_divergence_pp(default 3), sort desc, return top 30.
Caveats the LLM should know:
- It's a keyword match, not a semantic match. "BTC 150k" on one venue might be matched to "Bitcoin 150,000" on the other. Edge cases will produce false pairs.
- The matched markets may not be exactly the same underlying (timeframe, strike, resolution criteria can differ).
- Polymarket prices in this API are mid; Kalshi prices are last-trade. They're not directly tradeable.
- All of which is why the LLM should treat results as leads to investigate, not signals to act on.
Family
- 🟢 polywatch — Polymarket alert CLI
- 🟢 kalshiwatch — Kalshi alert CLI
- 🟢 manifold-watch — Manifold Markets alert CLI
- 🟢 polywatch-presets — ready-made polywatch configs
- 🟢 prediction-markets-live — read-only Polymarket dashboard
- 🟢 prediction-market-mcp — you're here
Tip jar
Free and stays free. If it surfaced an arb for you, tips welcome:
0x17Fb06dE9D5945eaFf6FBBf4c264E505D38182A4 # EVM (ETH / USDC / any EVM L2)
License
MIT. See LICENSE.
Metadata
Release files for prediction-market-mcp 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| prediction_market_mcp-0.2.0.tar.gz | 12.2 kB | Without provenance | Details for prediction_market_mcp-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| prediction_market_mcp-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for prediction_market_mcp-0.2.0-py3-none-any.whl |
Total release size: 24.6 kB
Release files / prediction_market_mcp-0.2.0.tar.gz
| Download URL | prediction_market_mcp-0.2.0.tar.gz |
|---|---|
| Size | 12.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6369dc3c11b9bcb1b11e2ef6b92b58f6f94c91ebf98575ba49eadfeedb4283e4
|
|
BLAKE2b-256 checksum How to use checksums |
7e77f0af49bf5f4c7f8565c5c4bec03b6a612765dd908c7cd78a573a4746c8af
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / prediction_market_mcp-0.2.0-py3-none-any.whl
| Download URL | prediction_market_mcp-0.2.0-py3-none-any.whl |
|---|---|
| Size | 12.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
598f2cb191ca2e14989d4ce1ccc9bde3786b3713a659395d55ab25cc5c3316e4
|
|
BLAKE2b-256 checksum How to use checksums |
c7e84082bce8b90a7e1674cc420e2ba72eba33402613528360a7bd3ae3a5f5fe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Security for prediction-market-mcp 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.