Generate startup legal documents from attorney-drafted templates: NDAs, MSAs, DPAs, privacy policies, offer letters, and more. Download PDF, ODT, or Markdown through MCP or an agent skill. No account required.
ClauseAI has 3 tools with clear verb-noun naming (list_, get_, generate_). Descriptions are present and reasonably detailed (100-150 chars each). Input schemas are visible with type declarations. However, parameter descriptions are sparse or missing entirely, 'slug' and 'answers' lack guidance on format/constraints. Output schemas are not documented. Error handling is absent from tool definitions. The generate_document tool accepts 'answers' as a free-form object with no guidance on required vs optional fields or validation rules, forcing LLMs to guess. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels.
Generate a filled legal document (PDF, ODT, or Markdown) from a template slug and answers. No account required.
Get the fill-in fields for one legal template before generating a document.
List attorney-drafted startup legal templates (NDA, MSA, DPA, privacy policy, offer letter, and more).
Parameter 'answers' in generate_document lacks schema and validation guidance. Described as 'Map of field keys to values' with no indication of required fields, data types per field, or what happens with invalid keys. LLMs cannot determine which fields are mandatory.
No output schemas documented for any tool. list_templates and get_template_fields return unspecified structures. generate_document returns a file but no schema describes the response metadata (file path, size, format confirmation). LLMs cannot plan downstream operations.
Missing tool annotations despite explicit risk levels. generate_document is marked WRITE but has no destructiveHint annotation. list_templates and get_template_fields are READ_ONLY but lack readOnlyHint. Agents cannot infer safety/idempotency from tool definitions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Parameter 'slug' in get_template_fields and generate_document has minimal description ('Template slug identifier' / 'Template slug from list_templates'). No guidance on format, length, valid characters, or how to discover valid slugs beyond calling list_templates.
No error handling guidance in tool definitions. What happens if slug is invalid? If answers are incomplete? If format is unsupported? Tool descriptions do not indicate recovery paths or error categories (retryable vs user-fixable).