← back to the Index

Connect your agent

The Calibrated Authority Index isn't just human-readable — it's agent-callable. A hosted MCP (Model Context Protocol) endpoint exposes the corpus as five tools any MCP-capable agent can query, compare, and cite directly.

Endpoint

https://calibrated-authority.chrishuberreitz.com/api/mcp

MCP Streamable HTTP transport — JSON-RPC 2.0 over POST, plain-JSON responses, stateless, no auth. CORS open.

Claude Code

claude mcp add --transport http ca-index \
    https://calibrated-authority.chrishuberreitz.com/api/mcp

Any MCP client (config JSON)

{
  "mcpServers": {
    "ca-index": {
      "type": "http",
      "url": "https://calibrated-authority.chrishuberreitz.com/api/mcp"
    }
  }
}

Every answer names its dataset

The corpus travels inside the endpoint — a serverless function has no database to read at request time. It is rebuilt from the released dataset on every publish, in the same run that writes index.json and data.csv, so the agent surface and the human one move together.

Every response carries a dataset block: the version, the number of institutions, when it was generated, and a link back to the live dataset. Results, misses and ambiguities all carry it. You never have to call a second tool to learn whether the first one was current. The Index scores institutions on traceability; its own endpoint should pass.

Ambiguity is reported, not guessed

A name matching more than one institution comes back as a list of candidates with their ids. Two institutions with two different scores never resolve to whichever record the file happened to list first. An exact id always wins.

Tools

toolwhat it returns
ca_index_lookupOne institution's full record by name or id — six dimension scores, composite CA, trust-logic, the verbatim policy quote, source URL, permalink, and the date it was last re-coded. An ambiguous name returns candidates.
ca_index_searchFilter the corpus by posture, trust-logic, verification-boundary fit (fits · partially · contradicts), segment, CA range, or twilight markers. A value the corpus does not use is an error listing the ones it does.
ca_index_compareTwo institutions side by side — full records, the CA gap, which dimensions differ.
ca_index_statsCorpus-level stats: N, mean CA, range, per-segment means, fit and trust-logic counts.
ca_index_methodologyThe instrument definition, how to cite, license, machine-readable manifest URL.

Try it raw

curl -s -X POST \
  https://calibrated-authority.chrishuberreitz.com/api/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"ca_index_stats","arguments":{}}}'

Prefer flat files?

The whole machine layer is also static: index.json · manifest · schema · CSV · llms.txt. License CC-BY-4.0 · DOI 10.5281/zenodo.21108694 · methodology.