docweave-mcp
Generate and read PDFs for AI agents: a generate_pdf and a read_pdf tool, priced per document.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"docweave-mcp": {
"command": "npx",
"args": [
"@docweave/mcp"
]
}
}
}Ausführbare Pakete
0.2.0stdioRemote-Endpunkte
https://docweave.dev/api/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (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.
Eingabe-Schema
{
"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"
]
}Ausgabe-Schema
{
"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.
Eingabe-Schema
{
"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"
]
}Ausgabe-Schema
{
"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."
}Community
Nachweis