pdatanews263

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, pass their volumes through as each venue reports them, and expose everything via REST + MCP + raw read-only Postgres. No auth. No rate cards. Public data.

Volume is venue-reported and unconverted: Polymarket and Kalshi count shares/contracts, each paying $1 at resolution — the same figure their own dashboards show with a $ sign. Manifold counts play-money mana.

Four 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, 2025-06-18 and 2025-11-25 (the newest). 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.

What it can read (verified 2026-10-06):

Every one of these, and every column in them, carries a Postgres comment saying what it holds and in which unit: \d+ markets in psql, or obj_description / col_description from any client.

Sessions are read-only with a 5-second statement timeout. This is for queries, not for copying whole tables: a full \copy of markets hits the timeout. For everything at once, use the bulk files below.

4. Nightly bulk files

https://api.pdata.world/bulk/ holds three gzipped JSON-lines files, rebuilt every night around 04:15 UTC:

Line 1 of each file is a manifest naming the publisher, the licence and every field's meaning and unit; every other line is one record. index.json lists row counts, sizes and SHA-256 checksums, and dated copies of the last 7 nights sit beside the -latest names.

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

What we don't do

Schema policy

We won't version columns. New columns are additive; renames or removals are flagged in advance (no separate changelog yet).