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.
See the skills agents can load →

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.