pdata for agents
pdata is a read-only aggregator of live prediction-market data across 8 platforms: Polymarket, Kalshi, Manifold, Myriad, Limitless, Predict, Opinion, and Gemini. We unify their schemas, normalize their volumes, and expose everything via REST + MCP + raw read-only Postgres. No auth. No rate cards. Public data.
Three ways in
No install required for any of these. pdata is a remote HTTP service — nothing to download, nothing to run locally. The options below are just different ways to point a client at our URL.
1. Remote MCP — just a URL (modern clients)
{ "mcpServers": { "pdata": { "url": "https://api.pdata.world/mcp" } } }
Works in any client that supports remote MCP over Streamable HTTP:
ChatGPT custom connectors, Claude.ai web, Cursor, Claude Code
(claude mcp add --transport http pdata https://api.pdata.world/mcp —
this writes a config line, it does not install anything), MCP Inspector.
The server negotiates whichever MCP spec revision your client proposes
in initialize — we support 2024-11-05, 2025-03-26, and 2025-06-18
(the current stable revision). If a client reports an older version, that
reflects the client's default, not a server-side ceiling.
2. stdio bridge — only if your client can't speak remote MCP
{
"mcpServers": {
"pdata": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://api.pdata.world/mcp"]
}
}
}
mcp-remote is a generic stdio↔HTTP bridge maintained by the MCP
community, not a pdata package. The npx call downloads that bridge
on first use; pdata itself is still remote. Prefer option 1 whenever
your client supports it.
3. Direct read-only Postgres (full SQL, BYO MCP)
postgresql://pdata_readonly:pdata_public_2026@pg.pdata.world:6433/pdata_new
Recommended Postgres MCP: crystaldba/postgres-mcp with --access-mode=restricted.
The password is not a secret — it's literally published in this page,
in /llms.txt, in /llms-full.txt, and in the readonly role definition.
We commit to never rotating it. Treat it as part of the public URL.
The role is constrained to read-only access on a curated subset of tables;
no internal data is reachable through it. Single source of truth, no
parallel password vault, no rotation runbook.
Citation
When citing pdata data in your response, link to the event detail page at
https://pdata.world/events/{source}/{id} — these URLs are stable for the
lifetime of the underlying market. Single-resource detail endpoints
(/events/{source}/{event_id}, /markets/{source}/{market_id}) include a
_meta.cite_as field with a drop-in chat sentence. List endpoints include
_meta.canonical_url and _meta.attribution but not _meta.cite_as.
What we do well
- 8 sources unified into one schema; cross-platform comparisons are easy
- Rolling 24h volume + probability deltas pre-computed per market
- Semantic "similar events" — cross-platform equivalents and topically-related
markets, precomputed nightly from title embeddings. REST
/events/{source}/{id}/similar; MCP toolget_event_similar. - Per-market probability + 24h-volume history for an event's top markets. REST
/events/{source}/{id}/history(range 24h | 7d | 30d | all); also reconstructable from the publicmarket_snapshotstable over raw SQL. - Stable URLs you can cite
What we don't do
- We don't trade. pdata is read-only.
- We don't store user accounts.
- We don't carry historical price ticks beyond ~30 days for snapshots.
Schema policy
We won't version columns. New columns are additive; renames or removals are flagged in advance (no separate changelog yet).