CA Justice Watch tracks prosecutorial injustice across all 58 California counties. Every fact sourced from public records.

MCP Server

Looking for copy-paste configs? Visit /ai for one-click setup in Claude, ChatGPT, Cursor, Cline, Continue, and Perplexity.

CA Justice Watch exposes its public-actor databases through the Model Context Protocol (MCP) so AI agents — Claude, Cursor, ChatGPT MCP, custom agents — can search and pull entries directly without scraping the site.

Endpoint: https://cajusticewatch.com/api/mcp  ·  Transport: Streamable HTTP (POST JSON-RPC 2.0)  ·  Auth: none — public read-only.

Databases exposed

58District Attorneys
196Defense Attorneys
1,500Officers (misconduct)
1,620Current Judges
247CJP Public Discipline
671CA POST Decertifications

Tools (15)

ToolDescription
list_databasesInventory of all exposed databases with entry counts and last-updated dates.
list_pagesCanonical list of site pages (slug, URL, label, purpose). Useful before claiming “page X doesn’t exist”.
search_dasSearch California District Attorneys with documented misconduct or controversy. Filters: query, county, limit.
get_daGet full DA record by name (exact or close partial match).
top_dasTop-N California DAs by editorial severity score (descending). Optional county filter.
search_defendersSearch public defenders + private criminal defense with documented case outcomes / failures. Filters: query, county, status.
get_defenderGet full defender record by Bar number id or name.
search_judgesSearch current California judges by name and/or court type (superior, appeal, supreme).
top_judgesTop-N California judges by CJP discipline severity (removal > censure > admonishment).
search_officersSearch law enforcement officers with documented misconduct or Brady/Giglio entries. Filters: query, agency.
get_officerGet full officer record by name (with optional agency filter).
top_officersTop-N California LE officers by editorial severity score (descending). Optional agency filter.
search_cjpSearch CA Commission on Judicial Performance public-discipline records — judges censured, admonished, or removed.
search_cjp_documentsSemantic full-text search over 250 CJP decision PDFs. Returns matching passages with citations. Use for topic questions (“racial bias”, “ex parte”), not just summary records.
search_capostSearch CA POST decertification list — officers stripped of POST certification.

Connect

The friendlier copy-paste configs for all major AI clients (Claude Desktop, Claude Code, Cursor, Cline, Continue.dev, ChatGPT Custom Actions, Perplexity Spaces, raw curl) are at /ai. Quick reference below.

Claude Desktop — add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or the equivalent on Windows / Linux:

{
  "mcpServers": {
    "cajusticewatch": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://cajusticewatch.com/api/mcp"]
    }
  }
}

Claude Code (CLI):

claude mcp add cajusticewatch https://cajusticewatch.com/api/mcp --transport http

Cursor / Cline / Continue.dev — URL https://cajusticewatch.com/api/mcp, transport streamable-http.

ChatGPT Custom Actions / Perplexity Spaces — import OpenAPI 3.1 spec from /openapi.json.

REST wrapper (no MCP client required)

The same 15 tools are available as plain-JSON REST endpoints at /api/rest and /api/rest/<tool>. Useful for curl, fetch(), and agents without MCP support:

curl https://cajusticewatch.com/api/rest/list_databases | jq .
curl "https://cajusticewatch.com/api/rest/top_judges?limit=5" | jq .

Listed at the official MCP Registry

com.cajusticewatch/cajusticewatch v0.1.0 — verify. Major aggregators (Smithery, glama.ai, mcp.so, mcp.directory) auto-mirror from there.

Test from the command line

curl -s -X POST https://cajusticewatch.com/api/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | jq .

curl -s -X POST https://cajusticewatch.com/api/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
       "params":{"name":"search_das","arguments":{"county":"San Mateo"}}}' | jq .

What's NOT exposed

This server is read-only and exposes only public-actor data. It does not expose: members, sessions, forum posts, follows, video uploads, authentication endpoints, or anything case-specific. The members system is on a separate D1 database and is not reachable via MCP.

Source & method

All data comes from public records — California State Bar, Commission on Judicial Performance, POST decertification lists, court dockets, news reporting. See About for the full methodology and source-tier conventions. The MCP server is live now; source code is open at github.com/cajusticewatch/mcp-server (MIT licensed).

Live stats

Per-tool call counts, country distribution, transport mix (MCP vs REST), 95th-percentile latency. Updated every 5 min from Cloudflare Analytics Engine: /api/stats/mcp (JSON).

Server version 0.1.0 · Protocol 2025-06-18 · First shipped 2026-05-06 · Tool count last updated 2026-05-16.