California Justice Watch
Server Details
California criminal-justice accountability: DAs, defenders, judges, officers, CJP, POST.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4/5 across 15 of 15 tools scored. Lowest: 3.3/5.
Every tool has a clearly distinct purpose: get_* retrieves specific records, search_* queries databases, top_* provides rankings, and list_* enumerates metadata. The overlap between search_cjp and search_cjp_documents is explicitly resolved in their descriptions.
All tool names follow a consistent verb_noun pattern with underscore separators: get_, search_, list_, top_. The pluralization of search_das vs get_da matches the function, and search_capost is a clear abbreviation.
15 tools is well within the ideal range for a public-records server covering four entity types. Each tool earns its place, covering retrieval, search, ranking, and metadata listing without unnecessary bloat.
The surface covers the full read-only workflow: discover databases, search records, retrieve full details, rank by severity, and navigate site pages. No obvious gaps exist for the stated purpose of exposing California justice system records.
Available Tools
15 toolsget_daAInspect
Get a full DA record by name (exact or close partial match).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | DA name |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses that matching is not strict (allows close partial matches) and that the result is a full record, which are useful behavioral details. It does not mention error cases or access requirements, but for a simple read tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that wastes no words. It conveys the core purpose and a key behavioral nuance in an efficient manner.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter retrieval tool with no output schema, the description covers the essential aspects: what is returned (full record) and how it matches (exact or partial). It does not elaborate on return structure or edge cases, but given the simplicity this is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the description 'DA name', but the tool description adds meaningful semantics by explaining that the name can be an exact or close partial match. This clarifies the acceptable input format beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get'), the resource ('full DA record'), and the method ('by name'). It also adds matching detail ('exact or close partial match'), and the explicit 'DA' designation distinguishes it from sibling getters for defenders and officers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need a full DA record by name, but it does not explicitly compare with alternatives like search_das or provide exclusion criteria. The context is clear but lacks direct guidance on choosing this tool over similar search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_defenderAInspect
Get a full defender record by Bar number id or name.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| name | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It correctly indicates a read operation ('get') and adds useful context ('full record', 'by Bar number id or name'), but it does not disclose behavior when both parameters are supplied, when neither is provided, or error/return behavior. For a simple read tool, this is adequately transparent but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence, eleven words, front-loaded with the verb. No wasted words; every part is relevant. It is efficient and appropriately sized for a simple lookup tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, no annotations, and no required parameters. The description explains the core purpose and lookup methods, but lacks details about return shape, what 'full' includes, or failure modes. Given the simplicity, it is somewhat adequate but leaves gaps for an agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add meaning. It clarifies that 'id' refers to a Bar number and 'name' refers to the defender's name, and implies these are alternative lookup keys. However, it does not specify format, exact vs partial matching, or precedence when both are given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') with a clear resource ('full defender record') and explicitly states lookup keys ('Bar number id or name'). This distinguishes it from sibling like search_defenders, which likely returns partial results, and other role-specific get tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage when you have a Bar number or name and need the full record, but it does not explicitly say when to avoid this tool or use alternatives like search_defenders. No exclusions or alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_officerAInspect
Get a full officer record by name (with optional agency filter for disambiguation).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| agency | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It indicates a read operation ('Get') and promises a 'full officer record', implying non-destructive behavior. Yet it does not disclose edge cases like missing records, multiple matches without agency, or exact-match policies. This is tolerable for a simple getter but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly worded sentence that is front-loaded. Every phrase contributes value—'full officer record' sets expectations, 'by name' specifies the lookup method, and the parenthetical clarifies the agency parameter's role. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (two parameters, no output schema, no annotations), the description is largely complete. It covers the primary action and parameter purposes. The lack of return-structure detail is a minor gap, but 'full officer record' conveys that the result contains the complete data for the officer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no parameter descriptions (0% coverage), but the description explains both parameters: 'name' is the primary lookup key and 'agency' is optional for disambiguation. This adds meaningful semantics beyond the bare schema, effectively compensating for the lack of schema-level documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get a full officer record by name'. It uses a specific verb ('Get'), names the resource ('full officer record'), and specifies the lookup method ('by name'). This distinguishes it from sibling tools like search_officers (which implies search/partial match) and get_da/get_defender (which target different entities).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use this when you need a complete record for a known officer name. The optional agency filter's purpose ('for disambiguation') is explicitly explained. However, it does not explicitly contrast with search_officers or state when to use the alternative, so it falls short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_databasesAInspect
List all public databases exposed by this MCP server with their metadata (entry counts, last updated, descriptions).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly indicates a read-only listing operation with no side effects, which is inherent in the verb 'List'. However, it does not address potential pagination, response size limits, or what happens if no databases exist, leaving some behavioral aspects undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that fully captures the tool's function and output without any redundant wording. Every element earns its place, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (no parameters, no output schema), the description sufficiently covers what the tool does and returns. It lists the exact metadata fields, which provides adequate context for an agent to decide when to call it, though it could optionally mention the response format or pagination for extra completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema is empty, so there are no parameter semantics to explain. The baseline for 0 params is 4, and the description adds value by describing the output metadata (entry counts, last updated, descriptions), which gives the agent context for what to expect without needing parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'List' with a clear resource 'all public databases exposed by this MCP server' and explicitly mentions the metadata returned, making the tool's purpose unambiguous. It distinguishes from sibling tools like get_da or search_* which focus on individual entities or searches, while this tool provides a comprehensive catalog of available databases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies the tool is for discovery of all public databases, providing context for when to use it (e.g., to see what data sources are available) without needing to consider alternatives. While it does not explicitly name alternative tools or when not to use them, the scope 'all public databases' effectively separates it from the entity-specific siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_pagesAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden. It discloses that the tool returns a canonical list and includes fields like slug, URL, label, and purpose, implying a safe read-only operation. It also adds the behavioral note that a page may actually exist, guiding the agent to check before denying access. It does not mention auth or rate limits, but for a simple list operation this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first states the primary purpose and return fields, the second provides usage contexts. Every word earns its place, is front-loaded with the action, and there is no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description is complete. It specifies what is returned (slug, URL, label, purpose) and when to use it, including a critical edge case (checking before claiming lack of access). No additional context is necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema fully covers parameter semantics. The description adds no parameter details because none are needed. According to the rubric, 0 parameters warrants a baseline of 4, and the description does not detract from this.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Return the canonical list of pages on cajusticewatch.com — slug, URL, label, and purpose.' It names a specific resource (site pages) and the return fields, and it distinguishes itself from sibling tools that focus on specific entities (e.g., get_da, search_officers) or search operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit usage guidance is provided: '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.' This states when to use the tool and gives a specific scenario where it should be preferred over concluding lack of access.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_capostBInspect
Search the California POST decertification database — law enforcement officers stripped of their POST certification. Source: post.ca.gov public records.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| agency | No | Police department or agency name |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavior. It mentions the source is public records, which implies no authentication, but it does not describe the output format, pagination, or any other behavioral traits. The tool appears read-only, but that is not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that immediately communicates the tool's purpose and includes a relevant data source. It is concise with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and sparse parameter descriptions, the description is incomplete. It does not explain what the search returns, how to form queries, or any usage constraints, making it insufficient for an agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only agency is described), and the tool description does not elaborate on query or limit. The description adds no meaning beyond the schema, leaving the agent to infer how to use these parameters in the context of the search.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches the California POST decertification database for officers stripped of their certification, using a specific verb and resource. It distinguishes itself from siblings like search_officers and search_cjp by focusing on a unique database and subject.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for finding decertified law enforcement officers but provides no explicit when-to-use vs alternatives or exclusions. With sibling tools like search_officers and search_cjp, an agent would need more guidance to choose this tool correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_cjpAInspect
Search the California Commission on Judicial Performance (CJP) public-discipline records — judges censured, admonished, or removed for misconduct. Source: cjp.ca.gov public decisions.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | Free-text query against any field |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It discloses that the records are public and sourced from cjp.ca.gov, which implies read-only access. However, it does not mention pagination, response format, or query behavior beyond the schema, leaving gaps in behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the verb 'Search', and includes only essential information about the source and content. There is no wasted text or redundant repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with two parameters, but there is no output schema or annotations. The description explains the scope and source adequately for basic invocation, but it does not describe the return structure, pagination, or any additional behavior that an agent might need to know, making it only partially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%, with 'query' documented but 'limit' lacking a description. The tool description provides no parameter details, so it does not compensate for the incomplete schema. The limit parameter's meaning is somewhat inferred from its name and constraints, but the description adds no value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches California CJP public-discipline records, with a specific verb ('Search') and resource. It lists the types of records (censured, admonished, or removed) and cites the source, which distinguishes it from sibling tools like search_judges or search_capost.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: when searching for public judicial discipline records from California CJP. It implies usage for misconduct-related queries but does not explicitly state exclusions or name alternative tools for general judge information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_cjp_documentsAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Optional year filter (e.g. 2020) | |
| judge | No | Optional judge-name filter (substring match) | |
| limit | No | ||
| query | Yes | Topic or phrase to find in the decision text |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that it is a semantic search (not exact match), returns matching passages with citations, and covers 250 PDFs. Since no annotations are provided, this behavioral context is valuable. It doesn't mention any side effects, but search is inherently read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each serving a purpose: main function, usage examples, and distinction from sibling. No redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers what, when, and output expectations. It is complete for a search tool with no output schema, mentioning citations and context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 75% of parameters with descriptions. The description adds no additional parameter details beyond what schema already says. It mentions 'topic or phrase' but that's redundant with query parameter description. So it adds little semantic value, but baseline is 3 given moderate coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it performs semantic search over full text of CJP public-discipline decisions, with specific examples of topic queries. It explicitly distinguishes from sibling search_cjp by noting the difference in search target.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit when-to-use guidance: for topic questions or passages, and explicitly says it's distinct from search_cjp which searches summary-record JSON, thereby excluding when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_dasBInspect
Search the public database of California District Attorneys with documented misconduct or controversy. Returns name, county, in-office date, misconduct type, description, source URL.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | Free-text query — matched against any field | |
| county | No | Filter to a specific California county |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It does convey that the tool is a read operation (via 'Search') and lists return fields, which is useful. However, it does not disclose potential sorting/pagination behavior, data freshness, or any caveats about the database. It partially compensates but leaves gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff. It front-loads the primary purpose and immediately specifies the return fields. Every word earns its place, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with no output schema or annotations, the description is reasonably complete: it states the subject, the special filter, and the return fields. However, it lacks contextual details such as whether results are ordered, if the database is comprehensive, or how 'misconduct' is defined. Given the complexity (3 optional parameters), it is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, and the description adds no parameter-specific information. It does not explain the 'limit' parameter or any nuances beyond the schema. While the schema itself describes 'query' and 'county', the description does not help with the undocumented 'limit' or clarify parameter interactions. The description's mention of return fields does not relate to parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the tool's function with a specific verb ('Search'), a specific resource ('California District Attorneys'), and a specific scope ('documented misconduct or controversy'). It also lists the return fields, making the purpose unmistakable and distinguishing it from sibling tools for other roles (e.g., search_defenders, search_judges).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. While the purpose is clear, there is no mention of exclusions or scenarios where other search tools (e.g., search_defenders) would be more appropriate. The absence of any comparative or contextual usage notes limits the agent's ability to select between similar sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_defendersAInspect
Search the public database of California public defenders with documented case outcomes, failures, or systemic-context entries. Includes Bar number, county, office, score.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| county | No | ||
| status | No | e.g. "Active", "Suspended" |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does add useful context by specifying that the database includes only defenders with 'documented case outcomes, failures, or systemic-context entries' and lists result fields. However, it does not disclose pagination, sorting, rate limits, or the meaning of 'score', leaving gaps in behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff. The first sentence states the purpose and scope, and the second lists the included fields. It is front-loaded, efficient, and every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, no annotations, and four parameters, the description is too sparse for an agent to invoke the tool correctly. It explains what the tool searches but not how to construct a query, interpret the county filter, or understand the result format. The lack of parameter semantics and output details makes it incomplete for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has only 25% description coverage (only 'status' has an example), and the description does not mention any of the four parameters (limit, query, county, status). The description lists output fields ('Bar number, county, office, score') but provides no guidance on how to use the parameters, so it fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Search' and clearly identifies the resource as the 'public database of California public defenders'. It further narrows the scope to 'documented case outcomes, failures, or systemic-context entries', which distinguishes it from sibling search tools like search_das or search_officers, and from get_defender which likely retrieves a single record.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for searching public defenders, but it does not explicitly state when to use this over alternatives like get_defender or when not to use it. There is no mention of alternative tools or exclusion criteria, so usage guidance is only implied rather than explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_judgesAInspect
Search current California judges by name and/or court type (e.g., "superior", "appeal", "supreme"). Returns name + court type pairs.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| court_type | No | "superior", "appeal", "supreme", etc. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that the tool returns name/court type pairs and focuses on 'current' data, but it does not explain query matching behavior, limit behavior, or edge cases when no parameters are supplied. Some transparency is present, but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that states the purpose, criteria, and return value without any filler. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool, the description covers the core purpose and return format. However, with no annotations and no output schema, it leaves gaps such as default behavior with no arguments, limit handling, and the distinction between search_judges and related tools like top_judges. It is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers only court_type with a description (33% coverage). The description clarifies that 'query' refers to the judge's name and 'court_type' is the court type, adding meaning beyond the bare schema. However, it does not explain the 'limit' parameter or the matching semantics for query/court_type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches 'current California judges by name and/or court type', specifying the verb, resource, and criteria. It also indicates the return format, distinguishing it from sibling search tools for other roles like search_das and search_defenders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it: when searching for California judges by name or court type. It doesn't provide explicit alternatives or exclusions, but the context is clear enough for an agent to differentiate from sibling tools focused on other entity types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_officersAInspect
Search the public database of California law enforcement officers with documented misconduct or decertification. Includes name, agency, basis.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| agency | No | Police department or agency name |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the search nature (public database) and the returned fields (name, agency, basis), implying a read-only operation. However, it does not mention pagination, response format, or any edge-case behavior, leaving some gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It efficiently communicates the target database, the entity type, and the included fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool, the description covers the key purpose and data scope, but it lacks explicit guidance on query parameter usage and any limitations. Given the absence of an output schema and annotations, a bit more detail (e.g., how to construct a query) would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is low (33%, only agency has a description). The description mentions name, agency, and basis as data fields but does not explain the 'query' parameter or how it interacts with the other fields. It fails to compensate for the undocumented query and limit parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches a specific public database (California law enforcement officers with documented misconduct or decertification) and identifies the key data fields (name, agency, basis). This specific verb+resource+scope distinguishes it from sibling search tools like search_judges or search_capost.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use this tool: when looking for California law enforcement officers with misconduct or decertification history. It doesn't explicitly name alternatives, but the niche scope makes the use case obvious, and no exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
top_dasAInspect
Return the top-N California DAs by editorial severity score (descending). Use for "worst DA" / "most-disciplined DA" / ranking questions. Optional county filter. Only manually-scored records are returned.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| county | No | Optional county filter, e.g. "San Mateo" |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden. It discloses that only manually-scored records are returned, which is a key filter. It also specifies descending order, but does not cover edge cases like empty results or invalid county.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three succinct sentences with no filler. The main action, usage, and key filter are all included efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with no output schema and no annotations, the description covers purpose, usage, and a key data filter. It sufficiently informs the agent about what the tool returns and its constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 50% (county only), and limit lacks a description. The description clarifies 'top-N' which maps to limit, and states the county filter is optional. It adds behavioral context for both parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the top-N California DAs ranked by editorial severity score in descending order. It distinguishes from sibling tools like search_das and get_da by focusing on ranking and severity. The usage examples clarify its role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly identifies when to use: for 'worst DA' or 'most-disciplined DA' ranking questions. It doesn't mention alternatives or when not to use, but the context is clear given the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
top_judgesAInspect
Return the top-N California judges by CJP discipline severity (removal > censure > admonishment, descending). Use for "worst judge" / "most-disciplined judge" / ranking questions.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses the ranking order and descending sort, which is key behavior, but does not mention read-only status, output format, or any rate limits. For a simple read-only query, this is adequate but lacks extra context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It states the action, subject, ordering rule, and usage context efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple tool with one optional parameter and no output schema. The description covers the essential ranking logic and usage scenarios. It does not detail the return structure, but the tool name and context imply it returns judge objects. It is reasonably complete for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. The phrase 'top-N' implicitly explains the limit parameter's meaning, connecting the numeric limit to the number of judges returned. The schema provides default/min/max, and the description adds semantic clarity around the parameter's role.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the top-N California judges ranked by CJP discipline severity, with an explicit ordering hierarchy (removal > censure > admonishment). This specific verb and resource distinguish it from sibling search tools like search_judges and other 'top' tools (top_das, top_officers).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use for "worst judge" / "most-disciplined judge" / ranking questions,' giving clear when-to-use guidance. It does not explicitly mention alternatives or when not to use it, but the ranking use case is clearly delineated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
top_officersAInspect
Return the top-N California law enforcement officers by editorial severity score (descending). Use for "worst officer" / "most-disciplined officer" / ranking questions. Optional agency filter.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| agency | No | Optional agency filter, e.g. "Riverside County Sheriff" |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the transparency burden. It mentions the ranking order and optional agency filter, but does not disclose any side effects, limitations, or required permissions. It reads as a read-only query, but no additional behavioral context is given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose, followed by usage guidance and optional filter. No redundant wording or unnecessary details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With two parameters, no output schema, and no annotations, the description covers the core purpose and usage but does not describe the return format (e.g., officer fields, score details) or any edge cases like officers without scores. It is adequate for a simple ranking tool but lacks completeness for an agent relying solely on this text.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 50% description coverage: 'agency' has a description, but 'limit' does not. The tool description only says 'Optional agency filter' and 'top-N', which does not compensate for the missing limit semantics (default 10, max 25, min 1). It adds minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns top-N California law enforcement officers by editorial severity score descending, and explicitly frames it for 'worst officer' / 'most-disciplined officer' / ranking questions. This distinguishes it from sibling tools like search_officers or get_officer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance ('Use for ranking questions'), but it does not mention alternatives like search_officers or get_officer, nor does it state when not to use this tool. This is clear context but lacks exclusions or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityAmaintenancePublic-record corpus of AI litigation, regulation, and enforcement, anchored to EveryAILaw.8247MIT

caselegis-mcpofficial
Alicense-qualityDmaintenanceEnables searching, retrieving, and checking citation status of California legal opinions via the Caselegis API.MIT- AlicenseBqualityAmaintenanceLocal-first MCP server that transforms civil case PDFs into queryable cases with structural provenance, evidence IDs, and page-level verification for drafting and factual review.22Apache 2.0
- Alicense-qualityAmaintenanceDeterministic AI liability attribution engine. Scores fault across AI supply-chain participants (deployer, developer, vendor) with tamper-evident certificates and weekly cryptographic anchoring.’272Apache 2.0