GROUNDING publishes the Hallucination Incident Index as a page, as a JSON/CSV open dataset, and now as an MCP server — so an agent can query it directly instead of scraping a page or shipping a copy of the dataset in a prompt. It’s public, read-only, and requires no API key: point any MCP-capable client at the endpoint and four tools are immediately available.
This exists because the niche is empty. There is no standing incident radar most coding agents can query mid-session to ask “has this model had jailbreak reports lately?” or “what’s this week’s severity breakdown?” — this server is that lookup, wired straight into the environments where agents already run.
Tools
| Tool | Arguments | What it returns |
|---|---|---|
latest_incident_index | none | The most recent weekly aggregate — totals by severity (S1–S4) and category (hallucination/jailbreak/refusal/bias), that week’s top mentioned models — plus the dataset’s generation timestamp. |
search_incidents | model?, category?, severity?, since?, limit? (default 20, max 100) | Individual incident records matching all given filters, newest first. model is a case-insensitive substring match, so "claude" matches "Claude", "Claude Opus 4.8", "Anthropic Claude Fable 5", etc. |
model_scorecard | model | One model’s history: incident counts by severity and category, how many distinct weeks had at least one flagged incident, and its 5 most recent incidents. |
list_models | none | Every model name mentioned anywhere in the index, with incident counts, most-mentioned first — useful for discovering exact name strings before calling search_incidents or model_scorecard. |
Every response — success or error — is wrapped with the same three fields so a caller always knows where the data came from and how it can be reused:
{
"license": "CC-BY-4.0",
"attribution": "Grounding — grounding.fyi",
"source": "https://grounding.fyi/incidents/Hallucination-Incident-Index"
}If the upstream dataset is temporarily unreachable, a tool call returns an MCP error result with a plain-text reason instead of failing silently or serving stale data past its cache window (responses are cached for up to an hour).
Example queries
Once connected, ask your agent things like:
- “Call
latest_incident_indexand tell me this week’s severity breakdown.” - “Use
search_incidentsto find S1/S2 jailbreak incidents since 2026-06-01.” - “Run
model_scorecardfor Fable 5 — how many weeks has it shown up in, and what’s the most recent incident?” - “Call
list_modelsand tell me which models have never had an S1 incident.” (combine withsearch_incidentsper model)
Connect a client
Claude Code:
claude mcp add --transport http grounding https://mcp.grounding.fyi/mcpclaude.ai: Settings → Connectors → Add custom connector → paste the same https://mcp.grounding.fyi/mcp URL. No API key or OAuth step — the server is unauthenticated and read-only.
Any other MCP client: point it at https://mcp.grounding.fyi/mcp (Streamable HTTP, recommended) or https://mcp.grounding.fyi/sse (legacy SSE fallback, for older clients only). A plain GET to /health on the same host returns a machine-readable status and endpoint summary.
The server is a small, stateless Cloudflare Worker: no auth, no user data, no write operations — every tool call just re-reads the same public dataset above and re-derives its answer from it, so pointing a client at the endpoint is the only setup step.
Data and methodology
The server has no data of its own: every tool call reads the same public dataset described in Open Dataset: LLM Incident Index, including its methodology caveats (this is an MVP proxy index, not a verified incident registry — see that page before citing a number). If you’d rather consume the raw files directly, they’re at /static/data/incidents.json and /static/data/incidents.csv.
For the same data as a live, human-readable page, see the Hallucination Incident Index itself, or subscribe to updates via RSS.