Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,533Letters: 13Defects: 1,322counted just now
teppi

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 yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:a7930e20fe98a850b92a720524fb342d84098112d3914b3749d8c5c14c90c837 | sha256sum