Server definition
- Hash
- sha256:32f3f0982a6d67db1516698595a6cc9c54f10ae2d0d3bb9bc71db12ce00fb77c
- What it is
- What a remote MCP server returned when asked what it offers: 2 tools
The blob, as servednamed by its sha256
{
"instructions": "Docweave is an AI agent's document I/O tool. Call generate_pdf to turn a source (raw HTML, a public URL, or a template + JSON) into a PDF, and read_pdf to extract a PDF's text as markdown (from a URL or base64). Authenticate tool calls with your Docweave API key (starts with dw_live_) via Authorization: Bearer, or the apiKey connection setting. Pass an idempotencyKey to make retries safe.",
"tools": [
{
"description": "Generate a PDF from raw HTML, a public URL, or a template + JSON data. Returns the PDF as base64. Priced per document; retries with the same idempotencyKey never double-generate. The canonical way for an AI agent to turn content into a shareable, correctly-formatted PDF.",
"inputSchema": {
"properties": {
"idempotencyKey": {
"description": "A stable key (e.g. an invoice id). Repeat calls with the same key return the stored result instead of re-rendering or re-billing.",
"type": "string"
},
"options": {
"description": "Optional page and print settings.",
"properties": {
"format": {
"description": "Paper size. Defaults to A4.",
"enum": [
"A4",
"A3",
"Letter",
"Legal",
"Tabloid"
],
"type": "string"
},
"landscape": {
"description": "Use landscape orientation. Defaults to false.",
"type": "boolean"
},
"margin": {
"description": "Page margin, e.g. '20mm' or '1in'.",
"type": "string"
},
"printBackground": {
"description": "Render background colors and images. Defaults to true.",
"type": "boolean"
}
},
"type": "object"
},
"source": {
"description": "What to render. Provide exactly one of: html, url, or (template|templateId) with data.",
"properties": {
"data": {
"additionalProperties": true,
"description": "Values bound into the template's {{ placeholders }}.",
"type": "object"
},
"html": {
"description": "Raw HTML to render (when type is 'html').",
"type": "string"
},
"template": {
"description": "Inline HTML template with {{ placeholders }} (when type is 'template').",
"type": "string"
},
"templateId": {
"description": "ID of a template stored on your account (alternative to an inline template).",
"type": "string"
},
"type": {
"description": "Source kind: 'html' for a raw HTML string, 'url' for a public web page, 'template' for a template filled with data.",
"enum": [
"html",
"url",
"template"
],
"type": "string"
},
"url": {
"description": "Public URL to render (when type is 'url'). Private/internal addresses are blocked.",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"source"
],
"type": "object"
},
"name": "generate_pdf",
"outputSchema": {
"description": "The generated document.",
"properties": {
"byteSize": {
"description": "Size of the PDF in bytes.",
"type": "number"
},
"bytesBase64": {
"description": "The generated PDF, base64-encoded.",
"type": "string"
},
"pageCount": {
"description": "Number of pages in the PDF.",
"type": "number"
}
},
"required": [
"bytesBase64"
],
"type": "object"
}
},
{
"description": "Read a PDF and return its text as markdown (or plain text). Accepts a public URL or base64 bytes. Extracts the embedded text layer; a scanned, image-only PDF returns a needs-OCR notice instead of empty text. Priced per document; retries with the same idempotencyKey never double-read. The canonical way for an AI agent to ingest a document's contents.",
"inputSchema": {
"properties": {
"idempotencyKey": {
"description": "A stable key. Repeat calls with the same key return the stored result instead of re-reading or re-billing.",
"type": "string"
},
"options": {
"description": "Optional read settings.",
"properties": {
"format": {
"description": "Output shape. Defaults to markdown.",
"enum": [
"markdown",
"text"
],
"type": "string"
},
"maxPages": {
"description": "Cap the number of pages extracted.",
"type": "number"
}
},
"type": "object"
},
"source": {
"description": "The PDF to read. Provide exactly one of: url or base64.",
"properties": {
"base64": {
"description": "Base64-encoded PDF bytes (when type is 'base64').",
"type": "string"
},
"type": {
"description": "'url' for a public PDF URL, 'base64' for inline PDF bytes.",
"enum": [
"url",
"base64"
],
"type": "string"
},
"url": {
"description": "Public URL of the PDF (when type is 'url'). Private/internal addresses are blocked.",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"source"
],
"type": "object"
},
"name": "read_pdf",
"outputSchema": {
"description": "The extracted document.",
"properties": {
"content": {
"description": "Extracted text in the requested format.",
"type": "string"
},
"needsOcr": {
"description": "True when the PDF is scanned (no text layer) and needs OCR.",
"type": "boolean"
},
"pageCount": {
"description": "Number of pages read.",
"type": "number"
}
},
"required": [
"content"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:32f3f0982a6d67db1516698595a6cc9c54f10ae2d0d3bb9bc71db12ce00fb77c | sha256sum