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

A
Calidad de la descripción
100%
Integridad del esquema
100%
Calidad de los nombres
100%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~985Tokens (definiciones de herramientas)
~4.8 KBTamaño de respuesta típico
Impacto moderado en la atención (0.77% del contexto de 128k)

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

npm@docweave/mcp0.2.0stdio

Puntos de conexión remotos

https://docweave.dev/api/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (2)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
⚪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

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada2 herramientas
verificadoversión no registrada2 herramientas
verificadoversión no registrada2 herramientas