court_judge_lookup
Look up a judge profile by name or CourtListener person ID. Returns positions, education, and bench history.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Judge full or partial name, or numeric person ID. |
Look up a judge profile by name or CourtListener person ID. Returns positions, education, and bench history.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Judge full or partial name, or numeric person ID. |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the safety profile is well covered. The description adds the useful detail that the same parameter accepts either a full/partial name or a numeric ID, and that the response includes positions, education, and bench history, but it does not disclose edge cases like ambiguous matches or empty results.
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?
Two compact sentences convey purpose, input modes, and return content without redundancy. The opening verb directly states the action, and every clause adds distinct information.
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 lookup with no output schema, the description provides the essential return categories and input variants. It does not specify how multiple matches are handled or the exact response structure, but the scope is simple enough that these are minor gaps rather than blocking omissions.
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 input schema already documents the 'name' parameter fully, including that it accepts a full or partial name or numeric person ID, with 100% schema description coverage. The tool description adds no new parameter-level meaning beyond restating the lookup modes, so it meets the baseline without exceeding it.
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 states a specific verb ('look up'), a precise resource ('judge profile'), and the two accepted input forms ('by name or CourtListener person ID'). It also lists return content, clearly distinguishing it from sibling court tools that handle cases, dockets, or opinions.
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 a clear use case: retrieve a judge's biographical profile when you have a name or CourtListener person ID. However, it provides no explicit guidance on when to prefer this over alternatives like court_case_search or court_docket_lookup, and it does not state any exclusions or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Many tools overlap heavily across domains: caselaw_search vs court_case_search vs court_opinion_search, caselaw_citation_lookup vs court_citation_resolver, and a cluster of company due-diligence tools (company_trust_check, counterparty_risk_score, entity_dossier, issuer_diligence_dossier, kyb_aml_evidence_case_file) that all screen a company for sanctions/risk/standing. With 290 tools, an agent will frequently face multiple equally plausible choices for the same user intent.
The vast majority of tools follow a clean domain-prefix + snake_case pattern (census_, eia_, fmcsa_, npi_, cfpb_, etc.), but there are notable exceptions: entity_resolve and resolve_entity are reversed duplicates, reg_search (Federal Register) sits next to reg_cfr_search (CFR) with confusingly similar names, and carrier_monitor_recheck deviates from the carrier_vetting_* family.
290 tools is an extreme count under any rubric, far exceeding even the 50+ threshold for the lowest score. While the group-filtering mechanism and meta-tools like list_tool_groups and search_available_datasets mitigate the practical burden, the raw surface is still massively oversized for an agent to select from accurately and efficiently.
For a read-only data-aggregation server, coverage is remarkably comprehensive across 59 domains, and generic fallbacks like cdc_dataset_query, eia_series_lookup, fred_observations, and bls_series prevent most dead ends. Minor gaps exist (a single GitHub tool, demo-only property_lookup coverage, no write/update operations anywhere), but the stated data-access purpose is well served.