pdf-tools

Free PDF tools for AI agents: merge, split, rotate, watermark, page numbers, metadata, flatten.

我该使用它吗

质量与安全性

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

发现(5)

  • LOWTool 'merge_pdfs' description lacks action verb在 merge_pdfs 中
  • LOWTool 'extract_pages' description lacks action verb在 extract_pages 中
  • LOWTool 'watermark_pdf' description lacks action verb在 watermark_pdf 中
  • LOWTool 'add_page_numbers' description lacks action verb在 add_page_numbers 中
  • LOWTool 'flatten_pdf' description lacks action verb在 flatten_pdf 中

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

上下文开销

~1,085token 数(工具定义)
~806 B典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 0.85%)

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

安装

一键安装

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

{
  "mcpServers": {
    "pdf-tools": {
      "url": "https://pdfia.com/mcp"
    }
  }
}

远程端点

https://pdfia.com/mcpstreamable-http

它能做什么

工具清单

工具(10)

🟢 只读🟡 写入🔴 删除⚪ 未知
⚪merge_pdfs(files)

Merge multiple PDF files into one, in the order given. Returns the merged PDF as base64.

输入模式

{
  "type": "object",
  "properties": {
    "files": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "The PDF file, base64-encoded (max 10 MB)"
      },
      "description": "2+ PDFs, base64-encoded, in merge order"
    }
  },
  "required": [
    "files"
  ]
}
🟢split_pdf(file, ranges)

Split a PDF into parts. Provide ranges like "1-3, 5, 8-10" (each comma group becomes one output PDF), or omit ranges to get every page as its own PDF. Returns base64 files.

输入模式

{
  "type": "object",
  "properties": {
    "file": {
      "type": "string",
      "description": "The PDF file, base64-encoded (max 10 MB)"
    },
    "ranges": {
      "type": "string",
      "description": "e.g. \"1-3, 5, 8-10\"; omit for one file per page"
    }
  },
  "required": [
    "file"
  ]
}
🟢extract_pages(file, pages)

Extract the given pages into a new PDF (original order). Returns base64.

输入模式

{
  "type": "object",
  "properties": {
    "file": {
      "type": "string",
      "description": "The PDF file, base64-encoded (max 10 MB)"
    },
    "pages": {
      "type": "string",
      "description": "Page list like \"2, 5-7\" (1-based)"
    }
  },
  "required": [
    "file",
    "pages"
  ]
}
🔴remove_pages(file, pages)

Delete the given pages from a PDF. Returns the remaining document as base64.

输入模式

{
  "type": "object",
  "properties": {
    "file": {
      "type": "string",
      "description": "The PDF file, base64-encoded (max 10 MB)"
    },
    "pages": {
      "type": "string",
      "description": "Page list like \"2, 5-7\" (1-based)"
    }
  },
  "required": [
    "file",
    "pages"
  ]
}
🟢rotate_pdf(file, degrees, pages)

Rotate pages clockwise by 90, 180, or 270 degrees. Rotates all pages unless a page list is given. Returns base64.

输入模式

{
  "type": "object",
  "properties": {
    "file": {
      "type": "string",
      "description": "The PDF file, base64-encoded (max 10 MB)"
    },
    "degrees": {
      "type": "number",
      "enum": [
        90,
        180,
        270
      ]
    },
    "pages": {
      "type": "string",
      "description": "Optional page list like \"1, 3\"; omit to rotate all"
    }
  },
  "required": [
    "file",
    "degrees"
  ]
}
⚪watermark_pdf(file, text, opacity, size, color)

Stamp a diagonal text watermark (e.g. "CONFIDENTIAL", "DRAFT") across every page. Returns base64.

输入模式

{
  "type": "object",
  "properties": {
    "file": {
      "type": "string",
      "description": "The PDF file, base64-encoded (max 10 MB)"
    },
    "text": {
      "type": "string",
      "description": "Watermark text"
    },
    "opacity": {
      "type": "number",
      "description": "0.02–1, default 0.15"
    },
    "size": {
      "type": "number",
      "description": "Font size in points, 8–200, default 60"
    },
    "color": {
      "type": "string",
      "enum": [
        "gray",
        "red",
        "blue"
      ],
      "description": "Default gray"
    }
  },
  "required": [
    "file",
    "text"
  ]
}
🟡add_page_numbers(file, position, start, format, size)

Stamp page numbers onto every page of a PDF. Returns base64.

输入模式

{
  "type": "object",
  "properties": {
    "file": {
      "type": "string",
      "description": "The PDF file, base64-encoded (max 10 MB)"
    },
    "position": {
      "type": "string",
      "enum": [
        "bottom-center",
        "bottom-right",
        "bottom-left",
        "top-center"
      ],
      "description": "Default bottom-center"
    },
    "start": {
      "type": "number",
      "description": "First number, default 1"
    },
    "format": {
      "type": "string",
      "enum": [
        "n",
        "page-n",
        "n-of-total"
      ],
      "description": "Default n"
    },
    "size": {
      "type": "number",
      "description": "Font size 6–24, default 12"
    }
  },
  "required": [
    "file"
  ]
}
🟢get_pdf_metadata(file)

Read a PDF's document properties (title, author, subject, keywords, creator, producer, dates, page count).

输入模式

{
  "type": "object",
  "properties": {
    "file": {
      "type": "string",
      "description": "The PDF file, base64-encoded (max 10 MB)"
    }
  },
  "required": [
    "file"
  ]
}
🟡set_pdf_metadata(file, title, author, subject, keywords, ...)

Rewrite a PDF's document properties. Pass empty strings to strip identifying metadata before sharing. Returns base64.

输入模式

{
  "type": "object",
  "properties": {
    "file": {
      "type": "string",
      "description": "The PDF file, base64-encoded (max 10 MB)"
    },
    "title": {
      "type": "string"
    },
    "author": {
      "type": "string"
    },
    "subject": {
      "type": "string"
    },
    "keywords": {
      "type": "string",
      "description": "Comma-separated"
    },
    "creator": {
      "type": "string"
    },
    "producer": {
      "type": "string"
    }
  },
  "required": [
    "file"
  ]
}
⚪flatten_pdf(file)

Flatten fillable form fields into permanent page content so answers can't be edited. Returns base64.

输入模式

{
  "type": "object",
  "properties": {
    "file": {
      "type": "string",
      "description": "The PDF file, base64-encoded (max 10 MB)"
    }
  },
  "required": [
    "file"
  ]
}

社区

评价此服务器

证据

最近观测

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