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

Use AI to research California criminal justice

Add California Justice Watch as a tool in any AI agent — Claude, ChatGPT, Cursor, Cline, Continue, or anything that speaks MCP, REST, or OpenAPI. Pick your client below, copy the config, restart. Your agent now searches our data directly instead of guessing.

58District Attorneys
196Defense Attorneys
1,500Officers (misconduct)
1,620Current Judges
247CJP Discipline Records
250CJP Decision PDFs (RAG)
671CA POST Decertifications

What you can ask

"What's the most-disciplined judge in California?"
"Has San Mateo County's DA ever been cited for misconduct?"
"Find CJP decisions involving racial bias."
"Show all officers decertified from the Bakersfield Police Department."
"Compare misconduct rates across Bay Area counties."

Pick your AI client

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows). Restart Claude.

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

Claude Code (CLI)

One command from your terminal:

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

Cursor

Settings → MCP Servers → Add new server. Or paste in ~/.cursor/mcp.json:

{
  "mcpServers": {
    "cajusticewatch": {
      "url": "https://cajusticewatch.com/api/mcp"
    }
  }
}

Cline (VS Code)

Cline → MCP Servers → Add remote. Or edit cline_mcp_settings.json:

{
  "mcpServers": {
    "cajusticewatch": {
      "type": "streamableHttp",
      "url": "https://cajusticewatch.com/api/mcp"
    }
  }
}

Continue.dev

Add to ~/.continue/config.json under mcpServers:

{
  "mcpServers": [{
    "name": "cajusticewatch",
    "url": "https://cajusticewatch.com/api/mcp",
    "transport": "streamable-http"
  }]
}

ChatGPT (Custom GPT / Actions)

Create a Custom GPT → Configure → Actions → Import from URL:

https://cajusticewatch.com/openapi.json

Authentication: None. The 15 tools become callable actions.

Perplexity Spaces

Spaces → Custom Connectors → Add OpenAPI URL:

https://cajusticewatch.com/openapi.json

Anything else (raw curl)

Plain HTTP. Works from any language, agent, or shell:

curl https://cajusticewatch.com/api/rest/top_judges?limit=5

The 15 tools your agent gets

Pick your protocol

ProtocolEndpointBest for
Model Context Protocol (MCP) /api/mcp Claude, Cursor, Cline, Continue, any MCP client. JSON-RPC 2.0 over HTTP. Canonical.
REST (plain JSON) /api/rest/<tool> curl, fetch(), any HTTP client. Discover at /api/rest.
OpenAPI 3.1 /openapi.json ChatGPT custom actions, Perplexity Spaces, Postman, OpenAPI generators.

Discovery files (for AI crawlers and registries)

FilePurpose
/.well-known/mcp.jsonMCP server discovery manifest (tools, endpoint, data sources).
/.well-known/ai-plugin.jsonLegacy ChatGPT plugin manifest (still respected by some agents).
/.well-known/mcp-registry-authPublic-key proof for the official MCP Registry.
/llms.txtAgent-friendly site map.
/agents.txtAgent capability declaration.
/openapi.jsonOpenAPI 3.1 spec (dynamically generated from MCP tools).
/robots.txtIncludes Allow: rules for all of the above.

Official MCP Registry

Listed at the canonical Model Context Protocol registry:

com.cajusticewatch/cajusticewatch  v0.1.0  status: active

Verify: registry.modelcontextprotocol.io. Major aggregators (Smithery, glama.ai, mcp.so, mcp.directory) auto-mirror from there.

Test from your terminal

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

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

What's not exposed

Read-only and limited to public-actor accountability data. The MCP/REST API does not expose: member accounts, 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 from here.

Citing our data

Every record includes a source_url pointing at the underlying public record (cjp.ca.gov, post.ca.gov, court dockets, named press coverage). Please link those when citing. Editorial severity scores (severity_score_editorial) are our aggregation; underlying facts are public-record. License: CC0 for data, CC-BY 4.0 for editorial scoring. See methodology.

Need the technical reference? See the full MCP server documentation. Questions? Contact us.