Model Context Protocol
One endpoint, tools that never move.
Agents connect over JSON-RPC and get the same filed data this site shows. Tool names and input meanings are frozen: capability grows through additive optional parameters and database-served skills, so an integration written today keeps working.
POST /api/public/mcp
Tools
Every tool declares a strict output schema.
- Loading tools…
Coverage
Plans
loading
Filings
loading
Dataset refresh
refresh date not recorded yet
Skills
loading
Stability promise
- Tool names are permanent — no renames, no removals.
- An input's meaning never changes; new inputs are optional.
- Outputs are schema-validated before they leave the server.
- Derived results carry a logic version so answers stay reproducible.
Call it
Plain JSON-RPC over HTTP POST.
curl -s https://planmcp.ai/api/public/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"cohort_stats",
"arguments":{"plan_type":"pension","participant_band":"100-499"}}}'What agents are told
Constraints ride along with every response.
- A missing value means not filed on that form — never zero.
- Fees appear only as a percentile inside a stated cohort, with cohort size and filed-fee coverage attached.
- No value is ever described as reasonable, high, low or excessive.
- A filing is not an endorsement, and nothing returned is advice.
NoteRequests are rate limited per caller and logged as counts only: a hashed caller identifier and a hash of the arguments, never the raw argument values.