Token导航 LogoToken导航TokenDH.com
redact MCP logo
文档知识stdio官方级别未说明来源级核验

redact MCP

MCP Server

一个基于PyMuPDF的PDF脱敏服务器,提供批量文本脱敏、区域脱敏和脱敏跟踪功能,适用于处理敏感文档。

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
PDF处理PythonClaude批量处理Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

marc-hanheide

提供方

marc-hanheide

最后核验

2026/5/17 20:19

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m redact_mcp.server

详细介绍

PDF编辑MCP服务器

一个使用PyMuPDF(fitz)实现的PDF编辑模型上下文协议(MCP)服务器。该服务器提供了加载PDF文件、识别并编辑敏感文本以及保存编辑后的文档的工具。

特性/特点

  • 📄 代表一张纸或文档的符号。 加载并阅读PDF文件 - 从PDF中提取文本内容以供审阅
  • 🔍 看起来像是放大镜的符号,通常用于表示查看、搜索或放大查看某物。在中文中,可以简单地翻译为“🔍(放大镜)”或者根据上下文,用“查看”、“搜索”或“放大查看”等词来表达其含义。 批量文本编辑 - 一次性搜索并编辑多个文本字符串,以实现最大效率
  • 📋 翻译为中文是:清单/条目列表。 编辑跟踪 - 记录已编辑过的内容,以避免重复工作
  • 🔎(放大镜图标,通常表示搜索或查看细节) 列出已应用的编辑 - 审计追踪,显示哪些文本已被标记为需删除
  • 尺子 基于区域的编辑或修改 - 通过坐标绘制特定的矩形区域
  • 💾 磁盘/存储设备 保存已编辑过的PDF文件 - 应用编辑并自动命名保存
  • 🎨(彩绘/艺术创作) 可自定义的编辑外观 - 选择修订填充颜色
  • 🔒(锁形符号,通常表示安全、保密或锁定的状态) 错误处理 - 通过MCP协议提供全面的错误信息

安装

这个项目使用 uv 用于包管理。安装方法:

# Clone the repository
git clone 
cd redact_mcp

# Install with uv
uv pip install -e .

使用方法

运行服务器

你可以直接使用Python脚本或FastMCP命令行界面来运行服务器:

选项1:直接执行Python(标准I/O传输)

python -m redact_mcp.server

选项2:使用FastMCP命令行界面(CLI)

# Stdio transport (default)
fastmcp run redact_mcp.server:mcp

# HTTP transport for remote access
fastmcp run redact_mcp.server:mcp --transport http --port 8000

在MCP客户端上安装

Claude Desktop(可译为“Claude桌面版”或根据具体语境简化为“Claude桌面应用”)

在您的Claude桌面配置文件中添加:

macOS(苹果电脑操作系统)~/Library/Application Support/Claude/claude_desktop_config.json Windows%APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "pdf-redaction": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/redact_mcp",
        "run",
        "fastmcp",
        "run",
        "redact_mcp.server:mcp"
      ]
    }
  }
}

其他MCP客户端

使用 FastMCP CLI 为其他客户端生成配置:

# For Cursor
fastmcp install cursor redact_mcp.server:mcp

# For Gemini CLI
fastmcp install gemini-cli redact_mcp.server:mcp

# Generate generic MCP JSON configuration
fastmcp install mcp-json redact_mcp.server:mcp

可用工具

1. load_pdf

加载一个PDF文件并提取其文本内容。

参数:

  • pdf_path (字符串):要加载的PDF文件的路径

返回值: PDF的全文内容,按页面组织

示例:

Load the PDF at /path/to/document.pdf

2. redact_text

在已加载的PDF中删除所有特定文本的实例。 这个工具现在可以同时处理多段文本 用于高效批量编辑。它会自动追踪哪些文本已经过编辑,以避免重复工作。

参数:

  • pdf_path (字符串):已加载PDF文件的路径
  • texts_to_redact (字符串列表):要搜索并编辑的文本字符串列表
  • fill_color (元组,可选):遮蔽框的RGB颜色(0-1范围)。默认:(0, 0, 0) - 黑色

返回值: 编辑操作总结,包括哪些文本是新编辑的,哪些是跳过的(已编辑过的)

示例:

# Single text
Redact ["confidential"] in /path/to/document.pdf

# Multiple texts at once (recommended for efficiency)
Redact ["John Doe", "123-45-6789", "john.doe@email.com"] in /path/to/document.pdf

注: 该工具会追踪哪些文本已被编辑,并会跳过任何已处理过的文本,以防止重复编辑。

3. redact_area

在PDF页面上划定一个特定的矩形区域。

参数:

  • pdf_path (字符串):已加载PDF文件的路径
  • page_number (int): 页码(从1开始计数)
  • x0 (float): 左边的x坐标
  • y0 (float): 顶部y坐标
  • x1 (float): 右侧x坐标
  • y1 (浮点数): 底部y坐标
  • fill_color (元组,可选):用于遮盖框的RGB颜色(0-1范围)。默认值:(0, 0, 0) - 黑色

返回值: 确认信息

示例:

Redact the area from (100, 100) to (300, 150) on page 1 of /path/to/document.pdf

4. save_redacted_pdf

应用所有待处理的遮蔽内容并保存PDF文件。

参数:

  • pdf_path (字符串):已加载PDF文件的路径
  • output_path (字符串,可选):自定义输出路径。如果未提供,则在原始文件名后追加“\_redacted”

返回: 保存的已编辑(或:已遮蔽)PDF文件的路径

示例:

Save the redacted version of /path/to/document.pdf

5. list_loaded_pdfs

列出当前加载的所有PDF文件。

参数:

返回值: 已加载PDF文件的路径列表及页数

6. list_applied_redactions

列出已应用于加载的PDF文件中的所有编辑操作。 新工具 用于跟踪编辑进度并避免重复工作。

参数:

  • pdf_path (字符串,可选):特定PDF文件的路径。如果未提供,则列出所有已加载PDF文件的遮蔽内容

返回值: 每个PDF中标记为需编辑的文本列表

示例:

# List redactions for a specific PDF
List applied redactions for /path/to/document.pdf

# List redactions for all loaded PDFs
List all applied redactions

用例:

  • 在添加更多遮蔽内容之前,请检查已遮蔽的部分
  • 在多步骤过程中验证编辑进度
  • 避免重复的编辑尝试
  • 生成一份关于被删节内容的报告

7. close_pdf

关闭已加载的PDF文件并释放其资源。这也会清除该PDF的遮蔽跟踪记录。

参数:

  • pdf_path (字符串):要关闭的PDF文件的路径

返回值: 确认信息

工作流示例

以下是使用此MCP服务器的典型工作流程:

  1. 加载一个PDF文件
   Load the PDF at /Users/me/documents/sensitive.pdf
  1. 审查内容

该工具将返回全文内容,您可以审阅以识别敏感信息。

  1. 编辑敏感文本(批处理模式 - 推荐)
   Redact ["Social Security Number", "123-45-6789", "John Doe", "jane.smith@email.com"] in /Users/me/documents/sensitive.pdf

专业小贴士: 一次性编辑多篇文本比多次调用工具要快得多。

  1. 检查已删除的内容(可选)
   List applied redactions for /Users/me/documents/sensitive.pdf

这显示了哪些文本已经被标记为需要编辑。

  1. 如有需要,请添加更多删节内容
   Redact ["Additional Text", "Another Secret"] in /Users/me/documents/sensitive.pdf

该工具将跳过步骤3中已进行遮蔽处理的任何文本。

  1. 编辑特定区域(可选)
   Redact the area from (50, 100) to (200, 120) on page 2 of /Users/me/documents/sensitive.pdf
  1. 保存已编辑过的PDF文件
   Save the redacted version of /Users/me/documents/sensitive.pdf

这将创建 /Users/me/documents/sensitive_redacted.pdf

  1. 关闭PDF文件(可选)
   Close /Users/me/documents/sensitive.pdf

技术细节

性能优化技巧

批量编辑速度更快:

# ❌ Slower: Multiple individual calls
Redact ["John Doe"] in document.pdf
Redact ["123-45-6789"] in document.pdf  
Redact ["jane@email.com"] in document.pdf

# ✅ Faster: Single batch call
Redact ["John Doe", "123-45-6789", "jane@email.com"] in document.pdf

为何批量编辑效果更佳:

  • 减少工具调用开销
  • 仅扫描一次PDF
  • 一次性应用所有遮蔽操作
  • 自动防止重复遮蔽
  • 提供所有操作的单一汇总

最佳实践: 先收集所有文本进行编辑,然后再一次性调用(处理)。

依赖项

  • FastMCP (>=2.12.0): 用于构建MCP服务器的Python框架
  • PyMuPDF(注:这是一个专有名词,通常直接保留原样,但为了说明其含义,可以理解为“Python的MuPDF库”或“用于Python的MuPDF工具”,不过在实际应用中,直接使用“PyMuPDF”这一名称更为常见) (>=1.24.0): PDF 操作库(作为 fitz

建筑学

  • 内存存储加载的PDF文件保存在内存中,以便在编辑操作时快速访问
  • 编辑追踪服务器会跟踪哪些文本已被编辑,以避免重复工作
  • 批处理通过单次工具调用即可编辑多篇文本,以提高性能
  • 惰性应用添加了编辑注释,但尚未应用,直到 save_redacted_pdf 被称为
  • 错误处理使用FastMCP的 ToolError 以便向MCP客户端正确传播错误
  • 上下文日志记录所有操作日志均记录在MCP上下文中,以确保透明度

(当前版本的)限制

  • 仅文本编辑(或:纯文本编辑)此版本专注于文本编辑功能。图像编辑功能尚未实现。
  • 内存使用情况加载时,PDF文件会保留在内存中。非常大的PDF文件可能会占用大量内存。
  • 单次会话内存存储在服务器重启后不会持久保存。

发展

运行测试

# Install development dependencies
uv pip install -e ".[dev]"

# Run tests (when implemented)
pytest

代码结构

redact_mcp/
├── src/
│   └── redact_mcp/
│       ├── __init__.py      # Package initialization
│       └── server.py         # Main MCP server implementation
├── pyproject.toml           # Package configuration
└── README.md               # This file

许可证

Apache-2.0(Apache许可证第2版)

贡献;助力

欢迎贡献!请随时提交问题或拉取请求。

致谢

目录标签

目录标签

PDF处理PythonClaude批量处理本地部署数据脱敏文档安全敏感信息保护

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP