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.
What you can ask
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
search_das— DAs by query / countyget_da— Full DA record by nametop_das— Worst DAs by severity scoresearch_defenders— Defense attorneysget_defender— Defender by Bar # or namesearch_judges— All current CA judgestop_judges— Worst judges by CJP disciplinesearch_officers— Officer misconductget_officer— Officer by name / agencytop_officers— Worst officers by severitysearch_cjp— CJP discipline summary recordssearch_cjp_documents— Full-text RAG over 250 CJP PDFssearch_capost— POST decertificationslist_databases— Inventory + countslist_pages— Site page index
Pick your protocol
| Protocol | Endpoint | Best 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)
| File | Purpose |
|---|---|
/.well-known/mcp.json | MCP server discovery manifest (tools, endpoint, data sources). |
/.well-known/ai-plugin.json | Legacy ChatGPT plugin manifest (still respected by some agents). |
/.well-known/mcp-registry-auth | Public-key proof for the official MCP Registry. |
/llms.txt | Agent-friendly site map. |
/agents.txt | Agent capability declaration. |
/openapi.json | OpenAPI 3.1 spec (dynamically generated from MCP tools). |
/robots.txt | Includes 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.