Public, read-only Model Context Protocol server exposing California criminal-justice accountability data.
An MCP server (live at https://cajusticewatch.com/api/mcp) that lets AI agents — Claude, Cursor, Cline, Continue.dev, ChatGPT, Perplexity, or any MCP/OpenAPI client — search and query 15 public databases:
| Database | Entries | Source |
|---|---|---|
| California District Attorneys | 58 | Official complaints, news, State Bar |
| California Public Defenders | 196 | Court records, settlements, press |
| Current California Judges | 1,620 | Official court rosters |
| Officer Misconduct (Brady/Giglio) | 1,500 | Federal court dockets, settlements |
| CJP Public Discipline (records) | 247 | cjp.ca.gov |
| CJP Decision PDFs (semantic search) | 250 | cjp.ca.gov |
| CA POST Decertifications | 671 | post.ca.gov |
Endpoint: https://cajusticewatch.com/api/mcp
Protocol: MCP 2025-06-18 over Streamable HTTP (JSON-RPC 2.0)
Auth: None. CORS: *. Free, unmetered.
{
"mcpServers": {
"cajusticewatch": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://cajusticewatch.com/api/mcp"]
}
}
}claude mcp add cajusticewatch https://cajusticewatch.com/api/mcp --transport httpURL: https://cajusticewatch.com/api/mcp (transport: streamable-http)
OpenAPI URL: https://cajusticewatch.com/openapi.json
curl https://cajusticewatch.com/api/rest/top_judges?limit=10
curl -X POST https://cajusticewatch.com/api/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'See cajusticewatch.com/ai for one-click setup in every major AI client.
| Tool | Purpose |
|---|---|
search_das, get_da, top_das |
California District Attorneys |
search_defenders, get_defender |
Criminal defense attorneys |
search_judges, top_judges |
Current judges, ranked by CJP discipline |
search_officers, get_officer, top_officers |
LE misconduct database |
search_cjp |
CJP discipline summary records |
search_cjp_documents |
Semantic full-text search over 250 CJP decision PDFs |
search_capost |
California POST decertifications |
list_databases |
Inventory + entry counts |
list_pages |
Canonical site page index |
┌──────────────────────────────────────────────────────┐
│ AI agent (Claude / ChatGPT / Cursor / curl / ...) │
└─────────────────────┬────────────────────────────────┘
│ MCP / REST / OpenAPI
▼
┌──────────────────────────────────────────────────────┐
│ cajusticewatch.com — Cloudflare Pages │
│ ├─ /api/mcp ← JSON-RPC 2.0 (canonical) │
│ ├─ /api/rest/* ← plain-JSON REST wrapper │
│ └─ /openapi.json ← OpenAPI 3.1 spec (dynamic) │
└─────────────────────┬────────────────────────────────┘
│ fetch
▼
┌──────────────────────────────────────────────────────┐
│ /data/*.json — public-record databases │
│ (DAs, defenders, judges, officers, CJP, POST) │
└──────────────────────────────────────────────────────┘
The MCP server itself is a single Cloudflare Pages Function — see src/mcp.js.
When users ask AI agents about California criminal justice, the agents often hallucinate or pull from unreliable sources. Exposing structured public-record data via MCP gives them a canonical, citable source that's far better than scraping HTML.
Everything served is already public-record. We're not exposing anything private — just making it queryable in a way that's friendly to AI agents.
Every record includes a source_url field pointing at the underlying public record. Sources include:
- cjp.ca.gov — Commission on Judicial Performance public discipline
- post.ca.gov — California POST decertification list
- Official California court rosters
- Federal court dockets (PACER), settlements, civil rights case records
- Named press coverage (cited inline)
Editorial severity scoring (severity_score_editorial field) is the project's aggregation. Underlying facts are public-record.
| File | Purpose |
|---|---|
/.well-known/mcp.json |
MCP discovery manifest |
/.well-known/ai-plugin.json |
Legacy ChatGPT plugin manifest |
/llms.txt |
Agent-friendly site map |
/agents.txt |
Agent capability declaration |
/openapi.json |
OpenAPI 3.1 spec |
Listed as com.cajusticewatch/cajusticewatch v0.1.0 at registry.modelcontextprotocol.io.
- Code (this repo): MIT
- Data served by the API: public records, distributed CC0 where possible (the underlying records are public-domain government documents)
- Editorial scoring & aggregation: CC-BY 4.0 — attribute "California Justice Watch" and link the source
- Website: cajusticewatch.com
- Contact: cajusticewatch.com/contact
v0.1.0 — published 2026-05-16. Production-stable, queried in real-time by AI agents worldwide.