{"serverId":"mcp-registry/com.cajusticewatch/cajusticewatch","tools":[{"name":"get_da","fixed":{"name":"get_da","description":"Get a full DA record by name (exact or close partial match).","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"DA name"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":59,"tokensAfter":59},{"name":"get_defender","fixed":{"name":"get_defender","description":"Get a full defender record by Bar number id or name.","inputSchema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":52,"tokensAfter":52},{"name":"get_officer","fixed":{"name":"get_officer","description":"Get a full officer record by name (with optional agency filter for disambiguation).","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"agency":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"list_databases","fixed":{"name":"list_databases","description":"List all public databases exposed by this MCP server with their metadata (entry counts, last updated, descriptions).","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":58,"tokensAfter":58},{"name":"list_pages","fixed":{"name":"list_pages","description":"Return the canonical list of pages on cajusticewatch.com — slug, URL, label, and purpose. Use this when the user asks about features/pages/tools of the site, OR when you need to recommend a page, OR before saying \"I do not have access to X\" — the page may actually exist.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":100,"tokensAfter":100},{"name":"search_capost","fixed":{"name":"search_capost","description":"Search the California POST decertification database — law enforcement officers stripped of their POST certification. Source: post.ca.gov public records.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":20,"maximum":100,"minimum":1},"query":{"type":"string"},"agency":{"type":"string","description":"Police department or agency name"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":114,"tokensAfter":114},{"name":"search_cjp","fixed":{"name":"search_cjp","description":"Search the California Commission on Judicial Performance (CJP) public-discipline records — judges censured, admonished, or removed for misconduct. Source: cjp.ca.gov public decisions.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":20,"maximum":100,"minimum":1},"query":{"type":"string","description":"Free-text query against any field"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":114,"tokensAfter":114},{"name":"search_cjp_documents","fixed":{"name":"search_cjp_documents","description":"Semantic search over the full text of CJP public-discipline decisions (250 PDFs ingested). Use this for topic questions (\"racial bias\", \"drug-related misconduct\", \"ex parte communications\") or when you need passages, not just summary records. Returns matching passages with citations. Distinct from search_cjp (which searches the summary-record JSON).","inputSchema":{"type":"object","required":["query"],"properties":{"year":{"type":"integer","description":"Optional year filter (e.g. 2020)"},"judge":{"type":"string","description":"Optional judge-name filter (substring match)"},"limit":{"type":"integer","default":5,"maximum":20,"minimum":1},"query":{"type":"string","description":"Topic or phrase to find in the decision text"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":219,"tokensAfter":219},{"name":"search_das","fixed":{"name":"search_das","description":"Search the public database of California District Attorneys with documented misconduct or controversy. Returns name, county, in-office date, misconduct type, description, source URL.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":20,"maximum":100,"minimum":1},"query":{"type":"string","description":"Free-text query — matched against any field"},"county":{"type":"string","description":"Filter to a specific California county"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":140,"tokensAfter":140},{"name":"search_defenders","fixed":{"name":"search_defenders","description":"Search the public database of California public defenders with documented case outcomes, failures, or systemic-context entries. Includes Bar number, county, office, score.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":20,"maximum":100,"minimum":1},"query":{"type":"string"},"county":{"type":"string"},"status":{"type":"string","description":"e.g. \"Active\", \"Suspended\""}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":127,"tokensAfter":127},{"name":"search_judges","fixed":{"name":"search_judges","description":"Search current California judges by name and/or court type (e.g., \"superior\", \"appeal\", \"supreme\"). Returns name + court type pairs.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":50,"maximum":500,"minimum":1},"query":{"type":"string"},"court_type":{"type":"string","description":"\"superior\", \"appeal\", \"supreme\", etc."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":114,"tokensAfter":114},{"name":"search_officers","fixed":{"name":"search_officers","description":"Search the public database of California law enforcement officers with documented misconduct or decertification. Includes name, agency, basis.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":20,"maximum":100,"minimum":1},"query":{"type":"string"},"agency":{"type":"string","description":"Police department or agency name"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":112,"tokensAfter":112}],"toolsChanged":12,"tokensSaved":0,"todo":[{"tool":"get_defender","params":["id","name"]},{"tool":"get_officer","params":["name","agency"]},{"tool":"search_capost","params":["limit","query"]},{"tool":"search_cjp","params":["limit"]},{"tool":"search_cjp_documents","params":["limit"]},{"tool":"search_das","params":["limit"]},{"tool":"search_defenders","params":["limit","query","county"]},{"tool":"search_judges","params":["limit","query"]},{"tool":"search_officers","params":["limit","query"]},{"tool":"top_das","params":["limit"]},{"tool":"top_judges","params":["limit"]},{"tool":"top_officers","params":["limit"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}