MCP server for accessing DocketBird legal case database and court documents API
Two tools with basic descriptions and minimal parameter documentation. get_case_details has a lengthy description (500+ chars) with embedded court/type reference material, violating the 10-1024 char guideline and wasting tokens. Both tools lack structured output schemas, error handling guidance, and parameter type definitions beyond strings. No enum constraints, no pagination support despite potential for large result sets. Naming is adequate (verb_noun pattern) but descriptions lack LLM-optimized clarity on WHEN to use each tool vs. alternatives.
Get comprehensive details about a case including all documents. Args: case_id: The DocketBird case ID to retrieve details for. Format: {court_id}-{district}:{year}-{type}-{number} Example: txnd-3:2007-cv-01697 court_id: Court identifier from the list below: Federal Courts: - Circuit Courts of Appeals: - ca1: 1st Circuit - ca2: 2nd Circuit - ca3: 3rd Circuit - ca4: 4th Circuit - ca5: 5th Circuit - ca6: 6th Circuit - ca7: 7th Circuit - ca8: 8th Circuit - ca9: 9th Circuit - ca10: 10th Circuit - ca11: 11th Circuit - cadc: D.C. Circuit - cafc: Federal Circuit - District Courts: - cacd: Central District of California - cand: Northern District of California - nysd: Southern District of New York - ilnd: Northern District of Illinois - caed: Eastern District of California - njd: District of New Jersey - txed: Eastern District of Texas - flsd: Southern District of Florida - dcd: District of Columbia - mied: Eastern District of Michigan - Bankruptcy Courts (partial list): - txsb: Southern District of Texas - deb: District of Delaware - nvb: District of Nevada - flsb: Southern District of Florida - nysb: Southern District of New York - cacb: Central District of California district: District number (e.g. 3, 1, 5) year: Year case was filed (e.g. 2007, 2023) type: Case type (e.g. cv for civil, wr for writ) number: Case number (e.g. 01697, 08028) For more information on courts, see list_courts_and_types tool Returns: A formatted string containing comprehensive case details including: - Basic case information (title, court, filing dates) - Party information - Document list with metadata - URLs and identifiers
Search for specific documents within a case using a search term. Args: case_id: The DocketBird case ID to search in search_term: Term to search for in document titles and descriptions
No output schemas documented. LLMs cannot plan downstream calls or extract structured data from responses. Both tools return 'formatted string' with no field definitions.
get_case_details description exceeds 1024 chars and embeds reference material (court codes, district lists). This wastes tokens and violates pattern:tool-description (10-1024 char guideline). Move reference data to separate discovery tool or config.
Parameters lack type definitions in visible schema. case_id and search_term are declared as strings with descriptions, but no format constraints, regex patterns, or enum values. LLMs cannot validate input before calling.
No error handling guidance. If case_id is malformed or not found, no recovery path documented. No distinction between retryable (timeout) vs. user-fixable (invalid format) vs. fatal errors.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
No pagination support despite potential for large document lists. search_case_documents may return hundreds of results; no limit, offset, or cursor parameters documented.