MCP server providing document ingestion and legal reference search tools for a multi-agent legal document review pipeline
Three tools with reasonable descriptions (100-200 chars each) and clear use cases, but critical gaps in schema visibility and parameter documentation. read_document has a visible input schema with one parameter; list_legal_references and get_clause_template have parameter descriptions in the docstring but no explicit JSON Schema visible in the source code excerpt. The code snippet is truncated mid-function, preventing full assessment of error handling and output schema documentation. Tool names follow verb_noun convention (read_, list_, get_) which is good. However, without seeing complete schema definitions and output structures, scores are capped conservatively.
Returns a template for drafting a safer alternative clause of a given type. The Protector Agent uses these templates as starting points when drafting safer, more balanced alternative language for high-risk clauses. Available clause types: - "indemnification" — Indemnification clause template - "ip" — Intellectual property clause template - "limitation_of_liability" — Limitation of liability clause template
Returns the content of a legal reference document for a given category. The legal library contains reference standards that define what constitutes a 'fair' or 'dangerous' clause in standard business contracts. The Risk Analyst Agent uses these standards to evaluate each extracted clause. Available categories: - "indemnification" — Standards for indemnification clauses - "ip_ownership" — Standards for intellectual property ownership - "liability" — Standards for limitation of liability clauses - "termination" — Standards for termination and exit clauses
Reads a local document file and returns its full text content. Supports PDF (.pdf), Microsoft Word (.docx), and plain text (.txt) files. Validates that the file exists, is accessible, and does not exceed the maximum allowed size (10MB) before reading. This is the PRIMARY tool used by the Parser Agent to ingest a contract document for analysis.
Input schemas not fully visible for list_legal_references and get_clause_template. Source code is truncated; cannot verify JSON Schema structure, type definitions, or enum constraints for category/clause_type parameters.
Output schemas not documented. No visible description of what read_document, list_legal_references, or get_clause_template return. LLMs cannot plan downstream tool calls or extract structured data without knowing response fields.
No error handling guidance. If read_document fails (file not found, permission denied, exceeds 10MB), the tool should return actionable recovery hints. Currently no visible error classification or recovery paths.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | <=2025-11-25 | v2 |
list_legal_references and get_clause_template accept string parameters (category, clause_type) without enum constraints visible in schema. Descriptions mention 'Case-insensitive' but no formal enum or pattern constraint prevents LLM hallucination of invalid values.
read_document parameter 'file_path' description lacks format guidance. Should specify: absolute or relative paths accepted, supported extensions (.pdf, .docx, .txt), max size 10MB, and what happens if constraints violated.