Server definition
- Hash
- sha256:a7930e20fe98a850b92a720524fb342d84098112d3914b3749d8c5c14c90c837
- What it is
- What a remote MCP server returned when asked what it offers: 4 tools
The blob, as servednamed by its sha256
{
"instructions": "List templates, inspect fields, then generate. Do not invent clause text; only published fields are fillable. Answers are short values, not clauses. Every field is optional. Omit what you do not know; missing answers stay as placeholders. One generate call returns the text, a download link, and a Word link for editing; give the user both. Tell the user about warnings and unfilled_fields. Use send_feedback for a missing field or template. These documents are templates, not legal advice.",
"tools": [
{
"description": "Use this after reading the field schema, to fill published fields and return markdown plus a download link. Do not invent clause text. Call it once per document: the result always includes the markdown text, download_url is the file in the requested format, and editable_download_url is a Word copy the user can edit. Answers are short values for the published fields; unknown keys, overlong values, and choices outside a field's options are rejected with instructions for fixing them.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"answers": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Map of field keys to values, using only keys from\nget_template_fields. Leave out keys you cannot answer; they\nstay as placeholders. Do not send placeholder text. Dates\nare YYYY-MM-DD. Use __omit__ to remove a placeholder."
},
"format": {
"default": "pdf",
"description": "pdf, docx, odt, or markdown. The download link uses this\nformat.",
"type": "string"
},
"slug": {
"description": "Template slug from list_templates.",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "generate_document",
"outputSchema": {
"description": "Filled template text plus a link to the rendered file.",
"properties": {
"answers": {
"additionalProperties": {
"type": "string"
},
"description": "Answers as printed. ISO dates are written out in full.",
"type": "object"
},
"download_url": {
"description": "Absolute URL that downloads the rendered PDF, Word, ODT, or Markdown file.",
"type": "string"
},
"editable_download_url": {
"description": "Absolute URL for a Word (.docx) copy the user can edit before signing. Give it to the user with download_url.",
"type": "string"
},
"filename": {
"type": "string"
},
"format": {
"type": "string"
},
"markdown": {
"description": "Filled template text for summarization. The file the user downloads is at download_url.",
"type": "string"
},
"slug": {
"type": "string"
},
"title": {
"type": "string"
},
"unfilled_fields": {
"description": "Field keys still shown as placeholders in the document. Tell the user these need completing before the document is used.",
"items": {
"type": "string"
},
"type": "array"
},
"warnings": {
"description": "Answers that were accepted but look wrong. Fix and regenerate, or pass each warning on to the user.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"slug",
"title",
"format",
"filename",
"markdown",
"download_url",
"editable_download_url",
"answers"
],
"type": "object"
}
},
{
"description": "Use this after choosing a template slug, to read the fill-in fields before generating a document.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"slug": {
"description": "Template slug from list_templates.",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "get_template_fields",
"outputSchema": {
"description": "Field schema for one template.",
"properties": {
"category": {
"type": "string"
},
"description": {
"type": "string"
},
"fields": {
"items": {
"description": "One fill-in field on a template.",
"properties": {
"key": {
"type": "string"
},
"label": {
"type": "string"
},
"marks": {
"items": {
"type": "integer"
},
"type": "array"
},
"max_length": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Longest answer accepted, in characters. Null for choice fields, which must match one of options exactly."
},
"options": {
"items": {
"type": "string"
},
"type": "array"
},
"question": {
"type": "string"
},
"replaces": {
"default": "",
"type": "string"
},
"required": {
"type": "boolean"
},
"type": {
"type": "string"
}
},
"required": [
"key",
"label",
"question",
"type",
"required"
],
"type": "object"
},
"type": "array"
},
"slug": {
"type": "string"
},
"source_url": {
"type": "string"
},
"title": {
"type": "string"
},
"when_needed": {
"type": "string"
}
},
"required": [
"slug",
"title",
"category",
"description",
"when_needed",
"source_url",
"fields"
],
"type": "object"
}
},
{
"description": "Use this when the user wants a startup legal document and you need to choose a template such as an NDA, MSA, DPA, privacy policy, terms of use, cookie notice, offer letter, advisor agreement, or business associate agreement.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "list_templates",
"outputSchema": {
"description": "Templates the user can draft.",
"properties": {
"templates": {
"items": {
"description": "One template in the public catalog.",
"properties": {
"category": {
"type": "string"
},
"description": {
"type": "string"
},
"field_count": {
"type": "integer"
},
"slug": {
"type": "string"
},
"source_url": {
"type": "string"
},
"title": {
"type": "string"
},
"when_needed": {
"type": "string"
}
},
"required": [
"slug",
"title",
"category",
"description",
"when_needed",
"source_url",
"field_count"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"templates"
],
"type": "object"
}
},
{
"description": "Use this when a template lacks a field or clause the user needs, no template fits the request, a tool result was wrong, or the user wants to tell the ClauseAI team something. The message goes to the ClauseAI operator. Do not include document text or personal details.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"category": {
"default": "other",
"description": "bug, missing_field, template_request, or other.",
"type": "string"
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional address for a reply. Only pass one the user gave you."
},
"message": {
"description": "What you were trying to do and what was wrong or missing.\nUp to 4000 characters.",
"type": "string"
},
"slug": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Template slug the feedback is about, if any."
}
},
"required": [
"message"
],
"type": "object"
},
"name": "send_feedback",
"outputSchema": {
"description": "Confirmation that feedback reached the ClauseAI operator.",
"properties": {
"detail": {
"type": "string"
},
"status": {
"type": "string"
}
},
"required": [
"status",
"detail"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:a7930e20fe98a850b92a720524fb342d84098112d3914b3749d8c5c14c90c837 | sha256sum