Skip to main content
Glama
abhishektangudu

pdf-agent-toolkit-mcp

PDF Agent Toolkit & MCP Server(灵感来自 ihatepdf.cv)

一个全面的、隐私优先的 PDF 处理套件,以及面向 AI 代理(Claude Desktop、Cursor、Windsurf、LangChain、Claude Code)的 Model Context Protocol (MCP) 服务器。

核心设计理念

  1. 零云端上传:所有 PDF 处理(压缩、页面重排、旋转、遮盖和文本提取)均在纯 TypeScript 和 WebAssembly 中 100% 本地执行。

  2. 代理 Token 优化:避免在提示词中直接转储原始 PDF base64,从而消除上下文膨胀;按需返回结构化大纲和页面片段。

  3. 通用兼容性:开箱即用,支持 stdio JSON-RPC 2.0。


Related MCP server: pdfeverything

🛠️ 可用的 MCP 工具

工具名称

类别

描述

代理优化

compress_pdf

优化

通过流碎片整理和 DPI 预设(screen、ebook、printer)减小文件大小。

将下游 OCR/视觉 Token 权重降低最多 70%。

extract_pdf_content

智能

提取文档目录、大纲、字数统计和干净的 Markdown 文本。

与原始流转储相比,节省约 90% 的上下文 Token。

scan_and_redact_pii

安全

检测 SSN、电子邮件、信用卡、Aadhaar 号码和自定义关键词,并盖上黑色遮盖框。

在将文档发送给外部 LLM 之前确保符合 GDPR/HIPAA 要求。

organize_pdf

结构

复合工具:在一次原子操作中重排、删除、旋转(90/180/270°)并添加页码。

避免多轮往返。

split_pdf

结构

提取特定页面范围(例如 "1-3, 5, 8-12")。

允许代理检查特定章节。

merge_pdfs

结构

将多个输入 PDF 合并为单个文档。

快速的多文件文档汇编。

stamp_watermark

安全

以自定义旋转和不透明度盖上视觉文本水印(例如 "DRAFT"、"CONFIDENTIAL")。

视觉状态盖章。

create_pdf_from_text

创建

将干净的 Markdown/文本格式化为带风格化页眉横幅的 A4 PDF。

轻量级文档生成,无需无头浏览器的臃肿。

inspect_and_fill_form

表单

检查 AcroForm 字段并填写表单数据。

自动化发票、税务和合同处理。


🚀 面向代理的快速入门配置

1. Cursor IDE(.cursor/mcp.json)

{
  "mcpServers": {
    "pdf-agent-toolkit": {
      "command": "npx",
      "args": ["-y", "pdf-agent-toolkit-mcp@latest"]
    }
  }
}

2. Claude Desktop(claude_desktop_config.json)

{
  "mcpServers": {
    "pdf-tools": {
      "command": "npx",
      "args": ["-y", "pdf-agent-toolkit-mcp"]
    }
  }
}

3. LangChain 和 LangGraph(Python)

from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent
from langchain_google_genai import ChatGoogleGenerativeAI

async def main():
    async with MultiServerMCPClient({
        "pdf_tools": {
            "command": "npx",
            "args": ["-y", "pdf-agent-toolkit-mcp"],
            "transport": "stdio",
        }
    }) as client:
        tools = client.get_tools()
        model = ChatGoogleGenerativeAI(model="gemini-2.5-flash")
        agent = create_react_agent(model, tools)
        
        response = await agent.ainvoke({
            "messages": [("user", "Compress ./financials.pdf and blackout sensitive SSNs")]
        })
        print(response)

💻 在本地运行服务器

# Run MCP server on stdio
npm run mcp

# Start the interactive visual testing studio and playground
npm run dev

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents and users to process documents through natural language, supporting PDF operations like text extraction, redaction, splitting, form filling, annotations, and content search.
    45 npm
    62
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to perform 13 PDF operations (merge, split, compress, watermark, encrypt, and more) on local files via MCP.
    3
    -
  • A
    license
    C
    quality
    C
    maintenance
    Enables AI assistants to perform PDF operations like merge, split, compress, convert, encrypt, OCR, and summarize using natural language.
    98
    13 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to inspect PDFs, merge or extract pages, and clean text entirely offline through the Model Context Protocol, with no uploads, API keys, or network calls.
    4
    36 npm
    MIT