Read-only MCP server exposing matter, notice, case, and document state for AI clients. Scoped to workspace; supports semantic search over indexed documents, hearing schedules, and case timelines.
MatterPilot exposes 5 read-only tools with consistent naming (verb_noun pattern: list_, get_, search_) and reasonable descriptions (avg ~150 chars). All tools have input schemas with types and enums where appropriate. However, parameter descriptions are sparse or missing for several fields (e.g., 'limit' in list_matters lacks guidance on why 50 is default). Output schemas are not documented, responses are JSON-stringified but field structure is not declared. Error handling is minimal; no recovery guidance for common failures (e.g., 'matter not found', 'RAG service unavailable'). Security is sound (read-only, no secrets in params, workspace-scoped), but composition could be tighter, search_matter_rag requires OPENAI_API_KEY server-side but this dependency is not surfaced in error messages or tool metadata.
Fetch every notice, hearing, and follow-up task on a single bankruptcy case. Notices are returned newest-first; tasks are returned soonest-due-first.
Fetch every document attached to a matter (court notices, contracts, email attachments, connector imports). Returns kind, source connector, mime, bytes, and review status if available.
List matters in the current workspace. Defaults to open matters; pass status to filter (open | on_hold | closed).
List bankruptcy hearings (341 meetings, motion hearings, etc.) scheduled within the next N days, with case number, debtor, and trustee/judge if known.
Semantic search over a matter's indexed document chunks (workspace + matter scoped). Returns the top-K chunks with similarity scores. Requires OPENAI_API_KEY on the server.
Output schemas not documented. Tools return JSON-stringified objects but field structure, types, and required fields are not declared. LLMs cannot reliably extract nested fields or plan downstream tool calls.
Parameter descriptions incomplete or generic. 'limit' in list_matters and list_upcoming_hearings lack rationale (why 50 or 14 as defaults?). 'k' in search_matter_rag not described. LLMs cannot reason about appropriate values.
No error recovery guidance. Tools return bare JSON (e.g., {found: false}) without actionable next steps. If search_matter_rag fails due to missing OPENAI_API_KEY, the LLM receives no hint to check server config.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
search_matter_rag has undocumented external dependency (OPENAI_API_KEY). Tool description mentions it but does not explain failure modes or recovery. If key is missing, error handling is opaque.
Result limits not enforced uniformly. get_matter_documents hardcodes limit(200), list_matters defaults to 50, list_upcoming_hearings defaults to 14. No pagination support (no cursor, offset, or next_token). Large result sets risk context window exhaustion.