Doc Sanitizer MCP服务器
一种本地容器化的MCP(模型上下文协议)服务器,在将内容发送到公共LLM服务之前,使用本地LLM(通过Ollama)通过删除或转换PII来对文档进行消毒。
特性
- 文档支持:Word(.docx)、PDF、Excel(.xlsx/.xls)、CSV、纯文本、电子邮件(.eml)
- PII检测:姓名、电子邮件、电话号码、公司、地址、财务数据、身份证
- 灵活的行动:删除、发明合成数据或保留部分信息
- 配置文件管理:通过CLI创建和管理多个净化配置文件
- MCP集成:与Claude Desktop、Claude.ai和Claude Code配合使用
- 隐私第一:所有处理都在本地进行,没有发送到外部服务
快速开始
先决条件
- Docker和Docker Compose
- Ollama(通过Docker自动安装)
安装
git clone https://github.com/yourusername/doc-sanitizer-mcp.git
cd doc-sanitizer-mcp
./setup.sh配置
编辑 .env 要自定义设置,请执行以下操作:
# Change LLM model (no rebuild required)
OLLAMA_MODEL=phi4:14b
# Alternative models:
# OLLAMA_MODEL=qwen2.5:7b # Faster, less RAM
# OLLAMA_MODEL=llama3.2:3b # Fastest, minimal RAM要切换型号,请执行以下操作:
# Pull new model
docker exec doc-sanitizer-ollama ollama pull qwen2.5:7b
# Update .env
sed -i '' 's/OLLAMA_MODEL=.*/OLLAMA_MODEL=qwen2.5:7b/' .env
# Restart
docker compose restart doc-sanitizerClaude桌面集成
添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"doc-sanitizer": {
"url": "http://localhost:8000/sse"
}
}
}用法
Via Claude(MCP工具)
配置后,您可以询问Claude:
- “列出可用的净化配置文件”
- “显示默认配置文件设置”
- “使用高隐私配置文件对此文档进行消毒”
通过CLI
# List profiles
doc-sanitizer profiles list
# Create a new profile
doc-sanitizer profiles create high_privacy
# Edit profile settings
doc-sanitizer profiles edit high_privacy --set person_name=delete --set company=delete
# Sanitize a document
doc-sanitizer sanitize document.docx --profile high_privacy配置文件管理
配置文件定义了如何处理每种PII类型:
| PII类型 | 可用操作 |
|---|---|
person_name | 删除、发明、保留_部分 |
email | 删除、保留_部分 |
phone | 删除、发明、保留_部分 |
company | 保持_零件,发明 |
address | 删除、发明 |
financial | 删除、发明 |
id_numbers | 删除、发明 |
date_of_birth | 删除、发明 |
配置文件在容器重启时保持不变(存储在 ~/.doc-sanitizer/).
文档
许可证
MIT许可证-请参阅 许可证 了解详情。
