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.
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 mcp add --transport http ca-index \
https://calibrated-authority.chrishuberreitz.com/api/mcp
{
"mcpServers": {
"ca-index": {
"type": "http",
"url": "https://calibrated-authority.chrishuberreitz.com/api/mcp"
}
}
}
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.
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.
| tool | what it returns |
|---|---|
| ca_index_lookup | One 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_search | Filter 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_compare | Two institutions side by side — full records, the CA gap, which dimensions differ. |
| ca_index_stats | Corpus-level stats: N, mean CA, range, per-segment means, fit and trust-logic counts. |
| ca_index_methodology | The instrument definition, how to cite, license, machine-readable manifest URL. |
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":{}}}'
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.