pdata Prediction Markets MCP server
Commit 12 Nov 2026Memungkinkan AI client untuk mengakses data odds live, volume, dan data historis dari delapan venue prediction market yang berbeda melalui satu schema yang terpadu.
Juga dikenal sebagai noskillcoding/pdata-client, pdata
- Stars
- 0
- Tools
- —
- Unduhan, 30 hari
- —
- Versi terbaru
- 2.7.0
- Commit terakhir
- 12 Nov 2026
- Lisensi
- MIT
Apa itu pdata Prediction Markets MCP?
pdata Prediction Markets adalah MCP server. Memungkinkan AI client untuk mengakses data odds live, volume, dan data historis dari delapan venue prediction market yang berbeda melalui satu schema yang terpadu.
Ringkasan dibuat dari README proyek
Cara menginstal pdata Prediction Markets MCP
Format diverifikasi 10 Nov 2026Instal pdata Prediction Markets MCP di Claude Code
$ claude mcp add --transport http pdata https://api.pdata.world/mcpInstal pdata Prediction Markets MCP di Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"pdata": {
"url": "https://api.pdata.world/mcp"
}
}
}Instal pdata Prediction Markets MCP di VS Code
.vscode/mcp.json
{
"servers": {
"pdata": {
"type": "http",
"url": "https://api.pdata.world/mcp"
}
}
}Instal pdata Prediction Markets MCP di Codex
~/.codex/config.toml
[mcp_servers.pdata] url = "https://api.pdata.world/mcp"
Instal pdata Prediction Markets MCP di Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"pdata": {
"httpUrl": "https://api.pdata.world/mcp"
}
}
}README
Lihat di GitHubpdata-client
Python client, AI-assistant plugin files and sample data for pdata.world, a free, read-only API for prediction-market data from eight venues: Polymarket, Kalshi, Manifold, Myriad, Limitless, Predict, Opinion and Gemini.
pip install pdata-client
from pdata import Client
pd = Client()
page = pd.markets(source=["kalshi", "polymarket"], closed=False, sort="-volume_24hr", page_size=5)
for m in page["items"]:
print(m["source"], f"{m['probability']:.0%}", m["event_title"], "—", m["question"])
Cite as: Data aggregated by pdata.world (https://pdata.world) from 8 prediction-market venues; CC BY 4.0; source data © each venue. Dataset DOI 10.5281/zenodo.23211610.
pdata.world polls each venue every 10 to 60 minutes and keeps prices, 24-hour volume and results in one schema, so one request can compare venues that otherwise each need their own integration. There is no API key and no signup. The data is published under CC BY 4.0: use it, and credit pdata.world.
Install
pip install pdata-client
# or the latest commit:
pip install git+https://github.com/noskillcoding/pdata-client
The client uses only the standard library (urllib, json, gzip), has no dependencies
and runs on Python 3.9 or later. You can also copy
src/pdata/client.py and
src/pdata/_version.py into a project. It identifies itself as
pdata-client/<version> (+https://pdata.world/agents); pass user_agent= to name your own
project instead.
The MCP server and the assistant plugins
pdata.world hosts an MCP server at https://api.pdata.world/mcp (Streamable HTTP, no key,
no account). It is read-only: its 14 tools read the same public data as the API. The
server is run by pdata.world and its code is closed-source; it is not in this
repository. This repository holds the Python client, the plugin files that connect coding
assistants to the hosted server, and notes on the datasets. The server is listed in the
official MCP registry as world.pdata/mcp.
- Claude Code:
/plugin install pdata --marketplace noskillcoding/pdata-clientinside a session (Claude Code 2.1.275 or later), or from the shellclaude plugin marketplace add noskillcoding/pdata-clientfollowed byclaude plugin install pdata@pdata-world. The plugin adds the MCP server and a skill,skills/pdata-prediction-markets/SKILL.md, that tells the assistant when to use pdata and how to cite it. - Gemini CLI:
gemini extensions install https://github.com/noskillcoding/pdata-clientadds the same server and skill. - Any other MCP client: add the server by URL, for example
claude mcp add --transport http pdata https://api.pdata.world/mcp, or the config inexamples/mcp.json.
What is in this repository
| Path | What it is |
|---|---|
src/pdata/ |
The Python client, published on PyPI as pdata-client |
.claude-plugin/, .mcp.json, skills/ |
Claude Code plugin and its one-plugin marketplace |
gemini-extension.json |
Gemini CLI extension (uses the same skills/) |
apify/ |
Source of an Apify actor that returns events with current prices |
data/ |
Samples of the nightly bulk files, CC BY 4.0 |
examples/ |
Runnable scripts and an MCP client config |
What the client covers
| Method | API operation | What it returns |
|---|---|---|
markets(**filters), iter_markets(...) |
GET /markets |
Markets, filtered and sorted, one page or all pages |
market(source, id) |
GET /markets/{source}/{id} |
One market |
top_movers(...), closing_soon(...) |
GET /markets/top-movers, /closing-soon |
Largest 24h price changes; markets closing next |
events(**filters), iter_events(...) |
GET /events |
Events (an event groups the markets of one question) |
event(source, id) |
GET /events/{source}/{id} |
One event with its markets, or its final results once archived |
event_history(source, id, range=...) |
GET /events/{source}/{id}/history |
Price and 24h-volume series, 24h / 7d / 30d / all |
similar_events(source, id) |
GET /events/{source}/{id}/similar |
The same or similar question on other venues |
search(q) |
GET /search/suggest |
Events and markets by title |
summary() |
GET /summary |
Per-venue counts and 24h volume |
news_movers(...) |
GET /news/movers |
The price moves behind pdata.world/news |
bulk_index(), iter_bulk(kind) |
/bulk/ |
Nightly full files, streamed without saving |
Every method returns the API's JSON unchanged, so the
API reference describes every field. Unknown filters are
rejected with a message listing every allowed one. Errors raise PdataError with the API's
code and message.
Runnable examples are in examples/:
quickstart.py makes five common calls, and
resolved_archive.py streams the archive of settled events.
Other ways to get the same data
- MCP server for AI assistants:
https://api.pdata.world/mcp; see above. - Nightly bulk files at https://api.pdata.world/bulk/: every open market
(
markets-open), every open event (events-open) and the archive of settled events with their results (resolved), as gzipped JSON lines. Line 1 of each file is a manifest giving the licence and every field's meaning and unit. - Monthly snapshot on Hugging Face: the same three files as Parquet, each snapshot
tagged with its date:
lowskillcoding/pdata-prediction-markets. - Read-only Postgres with full SQL:
postgresql://pdata_readonly:pdata_public_2026@pg.pdata.world:6433/pdata_new. The password is published on purpose and is never rotated. Queries are capped at 5 seconds. Seeexamples/postgres.sql. - The website: every event has a page at
https://pdata.world/events/{source}/{id}, and https://pdata.world/data describes all of the above.
Sample data
data/ holds random samples of the three bulk files as of 7 October 2026: 1,000
open markets, 500 open events and 1,000 settled events, with an equal share per venue where
the venue had enough rows. Each file starts with the manifest line. They are for looking at
the shape of the data; the full files are rebuilt every night.
Units and things to know
probabilityand prices are on a 0–1 scale.volumeandvolume_24hrare in each venue's own unit and are not converted across venues: shares for Polymarket and contracts for Kalshi (each pays $1 at resolution), play-money mana for Manifold, and each other venue's figure as it reports it. How eight venues count volume explains each one.- Price history starts in May 2026. Points older than 7 days are kept as 12-hour buckets,
and a market's history is deleted 10 days after it closes. After that, the event's URL
returns
"kind": "tombstone"with each top market's final result. - In the
resolvedarchive, each market'sprobabilityis the last price pdata saw, which is usually after the market settled. It records the result; it is not a forecast. - Events that closed between 2 June and 11 August 2026 are missing from the
resolvedarchive: they were pruned before a backup was taken. - pdata groups Kalshi's sibling events for one game under a single group event
(
is_group); its volume is the sum of its children.
Research using this data
pdata.world publishes dated reports built from this data, each with its method and limits:
- How accurate were prediction-market prices a day before the result? For 39,681 Polymarket and Kalshi markets that settled between 28 September and 5 October 2026, grouped into 10-point bands by their price 24 hours before close, the share that resolved YES was on average 0.96 percentage points from the band's average price (Brier score 0.110, against 0.199 for always guessing the base rate). Also published as a citable note: doi.org/10.5281/zenodo.23212130.
- How eight prediction-market venues count volume
- What each prediction-market API gives you
- Same question, different price: prediction markets across venues
- What eight prediction-market venues list, by category
Citing
The data is CC BY 4.0. A credit such as "Data: pdata.world" with a link is enough. Every
single-event API answer also carries _meta.cite_as, a ready-made citation sentence. For
papers, cite the dataset on Zenodo: DOI
10.5281/zenodo.23211610 always resolves to the
latest snapshot, and each snapshot has its own DOI, such as
10.5281/zenodo.23211611 for 7 October 2026. The
calibration note is 10.5281/zenodo.23212130.
GitHub's "Cite this repository" button uses CITATION.cff.
Licence
The code in this repository, including the plugin files and the Apify actor, is under the
MIT licence. The data, including the files in data/, is under
CC BY 4.0; the underlying market data remains subject to each venue's
own terms.
pdata.world is independent and not affiliated with any of the venues it tracks.
Releasing
One version covers the PyPI package, the Claude Code plugin and the Gemini extension. Bump
it in src/pdata/_version.py,
.claude-plugin/plugin.json and
gemini-extension.json together (a test fails otherwise), then
push a tag v<version>: publish.yml builds, tests and
uploads to PyPI through trusted publishing. Contact: support@pdata.world.
Pertanyaan tentang pdata Prediction Markets MCP
Bagaimana cara menambahkan pdata Prediction Markets MCP ke Claude Code?
Jalankan claude mcp add --transport http pdata https://api.pdata.world/mcp di terminal Anda. Tambahkan --scope user agar tersedia di semua proyek.
Bagaimana cara menambahkan pdata Prediction Markets MCP ke Cursor?
Buka ~/.cursor/mcp.json dan tambahkan server di bawah mcpServers, menggunakan config Cursor yang ditunjukkan di bagian instalasi di atas.
Apakah menggunakan pdata memerlukan API key atau akun?
Tidak, layanan ini gratis, bersifat read-only, dan tidak memerlukan API key maupun pendaftaran.
Prediction market mana saja yang dicakup oleh pdata?
Layanan ini mengagregasi data dari delapan venue: Polymarket, Kalshi, Manifold, Myriad, Limitless, Predict, Opinion, dan Gemini.
Seberapa sering data prediction market diperbarui?
Platform ini melakukan polling ke setiap venue setiap 10 hingga 60 menit.