cloakllm/cloakllm-mcp
GitHub: cloakllm/cloakllm-mcp
为Claude Desktop等MCP客户端提供PII检测与脱敏的工具集,支持可逆的敏感信息替换机制,让用户在享受AI辅助的同时保护隐私数据。
Stars: 0 | Forks: 0
# CloakLLM MCP 服务器
MCP server,将 CloakLLM 的 Python SDK 封装为 Claude Desktop 及其他兼容 MCP 客户端的工具。
## 工具
| Tool | Description |
|------|-------------|
| `sanitize` | 检测并掩盖 PII,返回脱敏文本 + token map ID + entity_details。传递 `mode: "redact"` 可进行不可逆的 PII 移除(不返回 token_map_id)。 |
| `desanitize` | 使用 token map ID 还原原始值 |
| `analyze` | 检测 PII 但不进行掩盖(纯分析) |
## 安装
```
cd cloakllm-mcp
pip install -e .
```
## Claude Desktop 配置
添加到您的 `claude_desktop_config.json`:
```
{
"mcpServers": {
"cloakllm": {
"command": "python",
"args": ["/path/to/cloakllm-mcp/server.py"],
"env": {
"CLOAKLLM_LOG_DIR": "./cloakllm_audit",
"CLOAKLLM_LLM_DETECTION": "false"
}
}
}
}
```
或使用 `uvx`:
```
{
"mcpServers": {
"cloakllm": {
"command": "uvx",
"args": ["mcp", "run", "/path/to/cloakllm-mcp/server.py"]
}
}
}
```
## 使用示例
### 发送到 LLM 前对文本进行脱敏
**Tool 调用:** `sanitize`
```
{
"text": "Email john@acme.com about the meeting with Sarah Johnson at 742 Evergreen Terrace",
"model": "claude-sonnet-4-20250514",
"token_map_id": "optional-id-for-multi-turn"
}
```
**响应:**
```
{
"sanitized": "Email [EMAIL_0] about the meeting with [PERSON_0] at 742 Evergreen Terrace",
"token_map_id": "a1b2c3d4-...",
"entity_count": 2,
"categories": {"EMAIL": 1, "PERSON": 1},
"entity_details": [
{"category": "EMAIL", "start": 6, "end": 19, "length": 13, "confidence": 0.95, "source": "regex", "token": "[EMAIL_0]"},
{"category": "PERSON", "start": 42, "end": 56, "length": 14, "confidence": 0.85, "source": "spacy", "token": "[PERSON_0]"}
]
}
```
### 还原原始值
**Tool 调用:** `desanitize`
```
{
"text": "I've drafted an email to [EMAIL_0] regarding [PERSON_0]'s request.",
"token_map_id": "a1b2c3d4-..."
}
```
**响应:**
```
{
"restored": "I've drafted an email to john@acme.com regarding Sarah Johnson's request."
}
```
### 分析文本中的 PII(不掩盖)
**Tool 调用:** `analyze`
```
{
"text": "Contact john@acme.com, SSN 123-45-6789"
}
```
**响应:**
```
{
"entity_count": 2,
"entities": [
{"text": "john@acme.com", "category": "EMAIL", "start": 8, "end": 21, "confidence": 0.95, "source": "regex"},
{"text": "123-45-6789", "category": "SSN", "start": 27, "end": 38, "confidence": 0.95, "source": "regex"}
]
}
```
## 环境变量
| Variable | Default | Description |
|----------|---------|-------------|
| `CLOAKLLM_LOG_DIR` | `./cloakllm_audit` | 审计日志目录 |
| `CLOAKLLM_AUDIT_ENABLED` | `true` | 启用/禁用审计日志 |
| `CLOAKLLM_SPACY_MODEL` | `en_core_web_sm` | 用于 NER 的 spaCy 模型 |
| `CLOAKLLM_LLM_DETECTION` | `false` | 启用基于 LLM 的检测 |
| `CLOAKLLM_LLM_MODEL` | `llama3.2` | 用于 LLM 检测的 Ollama 模型 |
| `CLOAKLLM_OLLAMA_URL` | `http://localhost:11434` | Ollama 端点 |
## 测试
```
# 使用 MCP inspector 测试
python -m mcp dev server.py
# 或直接运行
python server.py
```
## 另见
- [CloakLLM Hub](https://github.com/cloakllm/CloakLLM) — 项目概览、架构及链接
- [CloakLLM Python SDK](https://github.com/cloakllm/CloakLLM-PY) — 带有 spaCy NER + OpenAI / LiteLLM 中间件的 Python 库
- [CloakLLM JS SDK](https://github.com/cloakllm/CloakLLM-JS) — 带有 OpenAI + Vercel AI 中间件的 JavaScript 库
## 许可证
MIT
标签:AI 工具, AI风险缓解, Claude Desktop, CloakLLM, LLM 安全, MCP Server, PII 检测, Python SDK, 信息屏蔽, 敏感信息过滤, 数据合规, 数据脱敏, 数据还原, 文本分析, 模型上下文协议, 瑞士军刀, 网络安全, 网络安全, 逆向工具, 隐私保护, 隐私保护