MCP server for legal: contracts, NDAs, compliance, safety, document management. Business legal tools.
All 5 tools have minimal, generic descriptions (10-30 chars) that fail to explain WHAT the tool does, WHEN to use it, or what it returns. Input schemas are present but trivial: all tools accept a single 'input' string parameter with no type validation, format guidance, or constraints. No output schemas documented. No error handling guidance. Tools lack verb-based naming (e.g., 'contract_generator' vs 'generate_contract'). No parameter descriptions beyond 'Input data (JSON)'. No indication of idempotency, side effects, or prerequisites. Descriptions fall well below the 50-200 char baseline for LLM-optimized tools and lack actionable context.
Legal contract generator
Document text extraction
Technical document translator
NDA generator
SDS/MSDS analyzer
All tool descriptions are under 20 characters and provide no actionable context. 'Legal contract generator' and 'NDA generator' do not explain when to use each tool, what data they expect, or what they return. LLMs cannot distinguish between similar tools or plan multi-step workflows.
All tools accept a single 'input' parameter of type string with description 'Input data (JSON)'. No schema validation, format constraints, or examples. LLMs cannot know what JSON structure to pass, leading to malformed requests and failures.
No output schemas documented. Callers cannot know what fields to expect from responses, preventing downstream tool chaining and forcing LLMs to parse unstructured JSON.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 28 | 2026-07-28+ | v2 |
Tool names use noun-only or gerund forms ('contract_generator', 'document_ocr') instead of verb_noun pattern ('generate_contract', 'extract_document_text'). LLMs cannot infer action intent from names alone.
No error handling guidance. callBankr() catches exceptions and returns {status: 'error', error: e.message}, but tool descriptions do not explain recovery steps, retryability, or what errors mean to the LLM.