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%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~985토큰 (도구 정의)
~4.8 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 0.77%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`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개