docweave-mcp
Generate and read PDFs for AI agents: a generate_pdf and a read_pdf tool, priced per document.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"docweave-mcp": {
"command": "npx",
"args": [
"@docweave/mcp"
]
}
}
}Paquetes ejecutables
0.2.0stdioPuntos de conexión remotos
https://docweave.dev/api/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (2)
⚪generate_pdf(source, options, idempotencyKey)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"source": {
"type": "object",
"description": "What to render. Provide exactly one of: html, url, or (template|templateId) with data.",
"properties": {
"type": {
"type": "string",
"enum": [
"html",
"url",
"template"
],
"description": "Source kind: 'html' for a raw HTML string, 'url' for a public web page, 'template' for a template filled with data."
},
"html": {
"type": "string",
"description": "Raw HTML to render (when type is 'html')."
},
"url": {
"type": "string",
"description": "Public URL to render (when type is 'url'). Private/internal addresses are blocked."
},
"template": {
"type": "string",
"description": "Inline HTML template with {{ placeholders }} (when type is 'template')."
},
"templateId": {
"type": "string",
"description": "ID of a template stored on your account (alternative to an inline template)."
},
"data": {
"type": "object",
"description": "Values bound into the template's {{ placeholders }}.",
"additionalProperties": true
}
},
"required": [
"type"
]
},
"options": {
"type": "object",
"description": "Optional page and print settings.",
"properties": {
"format": {
"type": "string",
"enum": [
"A4",
"A3",
"Letter",
"Legal",
"Tabloid"
],
"description": "Paper size. Defaults to A4."
},
"landscape": {
"type": "boolean",
"description": "Use landscape orientation. Defaults to false."
},
"margin": {
"type": "string",
"description": "Page margin, e.g. '20mm' or '1in'."
},
"printBackground": {
"type": "boolean",
"description": "Render background colors and images. Defaults to true."
}
}
},
"idempotencyKey": {
"type": "string",
"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."
}
},
"required": [
"source"
]
}Esquema de salida
{
"type": "object",
"properties": {
"bytesBase64": {
"type": "string",
"description": "The generated PDF, base64-encoded."
},
"byteSize": {
"type": "number",
"description": "Size of the PDF in bytes."
},
"pageCount": {
"type": "number",
"description": "Number of pages in the PDF."
}
},
"required": [
"bytesBase64"
],
"description": "The generated document."
}🟢read_pdf(source, options, idempotencyKey)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"source": {
"type": "object",
"description": "The PDF to read. Provide exactly one of: url or base64.",
"properties": {
"type": {
"type": "string",
"enum": [
"url",
"base64"
],
"description": "'url' for a public PDF URL, 'base64' for inline PDF bytes."
},
"url": {
"type": "string",
"description": "Public URL of the PDF (when type is 'url'). Private/internal addresses are blocked."
},
"base64": {
"type": "string",
"description": "Base64-encoded PDF bytes (when type is 'base64')."
}
},
"required": [
"type"
]
},
"options": {
"type": "object",
"description": "Optional read settings.",
"properties": {
"format": {
"type": "string",
"enum": [
"markdown",
"text"
],
"description": "Output shape. Defaults to markdown."
},
"maxPages": {
"type": "number",
"description": "Cap the number of pages extracted."
}
}
},
"idempotencyKey": {
"type": "string",
"description": "A stable key. Repeat calls with the same key return the stored result instead of re-reading or re-billing."
}
},
"required": [
"source"
]
}Esquema de salida
{
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "Extracted text in the requested format."
},
"pageCount": {
"type": "number",
"description": "Number of pages read."
},
"needsOcr": {
"type": "boolean",
"description": "True when the PDF is scanned (no text layer) and needs OCR."
}
},
"required": [
"content"
],
"description": "The extracted document."
}Comunidad
Evidencia