mcp-redact
mcp-redact
本地优先的 CLI 和 MCP 服务器,用于在与 AI 工具共享日志、配置和错误之前对敏感文本进行脱敏处理。
mcp-redact 可以帮助你在将文本粘贴到 Claude Code、Cursor 或其他 AI 工具之前完成一件事:先对密钥和敏感数据进行脱敏。
为什么会有这个工具
开发者经常将日志、.env 文件、请求头、堆栈跟踪和配置片段粘贴到 AI 工具中。这些片段可能包含 API 密钥、Bearer 令牌、Cookie、电子邮件和其他敏感值。
mcp-redact 旨在让这一流程更安全:
本地优先
基于确定性正则表达式的脱敏
CLI 和 MCP 共享引擎
可读的占位符,如
[REDACTED_EMAIL]
处理前 / 处理后
处理前
Authorization: Bearer abcdefghijklmnop123456
user_email=user@example.com
callback=https://example.com/callback?token=secret123&lang=en
Cookie: session=abcdef123456; theme=dark处理后
Authorization: Bearer [REDACTED_AUTHORIZATION_HEADER]
user_email=[REDACTED_EMAIL]
callback=https://example.com/callback?token=[REDACTED_SENSITIVE_URL]&lang=en
Cookie: session=[REDACTED_COOKIE_HEADER]; theme=dark快速开始
要求:
Node.js 20+
pnpm
安装依赖:
pnpm install在示例文件上运行:
pnpm dev -- --file ./examples/sample.log通过标准输入 (stdin) 管道传输文本:
pnpm dev -- < ./examples/sample.log示例文件
本仓库包含可用于本地测试和演示的示例输入:
examples/sample.logexamples/sample.envexamples/sample.jsonexamples/sample.yamlexamples/mcp-redact.config.json
所有示例值均为虚构。
CLI 使用方法
从标准输入读取
pnpm dev -- < ./examples/sample.log从文件读取
pnpm dev -- --file ./examples/sample.logpnpm dev -- --file ./examples/sample.env将输出写入文件
pnpm dev -- --file ./examples/sample.env --output ./sanitized.envJSON 输出
pnpm dev -- --file ./examples/sample.log --format json输出示例:
{
"redactedText": "Authorization: Bearer [REDACTED_AUTHORIZATION_HEADER]\nuser_email=[REDACTED_EMAIL]\ncallback=https://example.com/callback?token=[REDACTED_SENSITIVE_URL]&lang=en\nCookie: session=[REDACTED_COOKIE_HEADER]; theme=dark\n",
"summary": {
"totalMatches": 4,
"byType": {
"authorization_header": 1,
"email": 1,
"sensitive_url": 1,
"cookie_header": 1
}
}
}仅摘要输出
pnpm dev -- --file ./examples/sample.log --summary-only输出示例:
Total matches: 4
By type:
- authorization_header: 1
- cookie_header: 1
- email: 1
- sensitive_url: 1限制启用的组
仅运行个人信息检测器:
pnpm dev -- --file ./examples/sample.log --only personal在运行时禁用某个组:
pnpm dev -- --file ./examples/sample.log --disable http使用配置文件
pnpm dev -- --file ./examples/sample.log --config ./examples/mcp-redact.config.json示例配置仅启用了 personal 和 custom 组,禁用了内置的 email 检测器,并添加了一个自定义的 internal-ticket 规则。使用该配置时,sample.log 将保持不变,因为它不包含任何自定义工单值,且电子邮件脱敏已被禁用。
MCP 使用方法
启动 MCP 服务器
开发模式:
pnpm mcp:dev构建并运行:
pnpm build
pnpm mcp:startMCP 工具
redact_text
输入:
{
"text": "Authorization: Bearer abcdefghijklmnop123456",
"groups": ["http"],
"configPath": "./examples/mcp-redact.config.json"
}redact_file
输入:
{
"filePath": "./examples/sample.log",
"groups": ["http"],
"configPath": "./examples/mcp-redact.config.json"
}两个工具返回相同的结构化格式:
{
"redactedText": "...",
"summary": {
"totalMatches": 4,
"byType": {
"authorization_header": 1,
"email": 1
}
}
}从 MCP 客户端连接
使用适合你环境的服务器命令:
开发环境:
pnpm mcp:dev构建输出:
pnpm mcp:start
如果你的 MCP 客户端需要命令加参数,请将其指向本地项目并通过 stdio 运行服务器。该服务器公开了两个工具:redact_text 和 redact_file。
配置
默认配置文件名:
mcp-redact.config.json如果没有提供明确的配置路径,mcp-redact 将尝试从当前工作目录读取该文件。如果默认文件不存在,执行将正常继续。如果你明确传递了一个不存在的配置路径,命令将会失败。
配置示例:
{
"enabledGroups": ["personal", "custom"],
"disabledDetectors": ["email"],
"customRules": [
{
"name": "internal-ticket",
"pattern": "TICKET-[0-9]{6}",
"placeholder": "[REDACTED_TICKET]"
}
]
}配置字段
enabledGroups:将内置和自定义检测器限制为列出的组disabledDetectors:按名称禁用检测器,例如email或github-tokencustomRules:添加基于正则表达式的本地检测器,使用与内置规则相同的管道
支持的检测器
secrets
Bearer 令牌
JWT
GitHub 令牌
OpenAI 风格的 API 密钥
Anthropic 风格的 API 密钥
AWS 访问密钥 ID
键值对密钥,如
password=、token=、secret=、api_key=私钥块
personal
电子邮件
电话号码
IPv4 地址
http
Authorization 请求头 Bearer 值
Cookie 请求头敏感值
敏感 URL 查询参数值,如
token=
本地开发
常用命令:
pnpm install
pnpm test
pnpm lint
pnpm typecheck
pnpm build
pnpm mcp:dev路线图
更多的令牌和 API 密钥模式
更好的误报抑制
更多真实的日志和配置示例
更多端到端的 MCP 客户端示例
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nine710/mcp-redact'
If you have feedback or need assistance with the MCP directory API, please join our Discord server