docweave-mcp

Generate and read PDFs for AI agents: a generate_pdf and a read_pdf tool, priced per document.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
100%
命名质量
100%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~985token 数(工具定义)
~4.8 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 0.77%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "docweave-mcp": {
      "command": "npx",
      "args": [
        "@docweave/mcp"
      ]
    }
  }
}

可运行的软件包

npm@docweave/mcp0.2.0stdio

远程端点

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

它能做什么

工具清单

工具(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.

输入模式

{
  "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"
  ]
}

输出模式

{
  "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.

输入模式

{
  "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"
  ]
}

输出模式

{
  "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."
}

社区

评价此服务器

证据

最近观测

已验证未记录版本2 个工具
已验证未记录版本2 个工具
已验证未记录版本2 个工具