mcp-redact
mcp-redact
Локальный CLI и MCP-сервер для удаления конфиденциальной информации перед отправкой логов, конфигураций и ошибок в ИИ-инструменты.
mcp-redact помогает сделать одно важное действие перед вставкой текста в Claude Code, Cursor или другие ИИ-инструменты: сначала удалить секреты и конфиденциальные данные.
Зачем это нужно
Разработчики часто вставляют логи, .env файлы, заголовки запросов, трассировки стека и фрагменты конфигураций в ИИ-инструменты. Эти фрагменты могут содержать API-ключи, bearer-токены, cookies, адреса электронной почты и другие конфиденциальные значения.
mcp-redact создан, чтобы сделать этот процесс безопаснее:
локальная работа (local-first)
детерминированная замена на основе регулярных выражений
общий движок для CLI и MCP
читаемые плейсхолдеры, такие как
[REDACTED_EMAIL]
Related MCP server: phi-redact-mcp
До / После
До
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
Чтение из stdin
pnpm dev -- < ./examples/sample.logЧтение из файла
pnpm dev -- --file ./examples/sample.logpnpm dev -- --file ./examples/sample.envЗапись вывода в файл
pnpm dev -- --file ./examples/sample.env --output ./sanitized.envВывод в формате JSON
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 останется без изменений, так как он не содержит пользовательских значений тикетов, а удаление email отключено.
Использование 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-токен
API-ключ в стиле OpenAI
API-ключ в стиле Anthropic
AWS access key id
Секреты в формате ключ-значение, такие как
password=,token=,secret=,api_key=Блоки закрытых ключей (private key)
personal
Email
Телефон
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
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceA redaction engine and MCP server that scrubs sensitive identifiers (AWS keys, IPs, emails, etc.) from AI agent traces, enabling safe storage and sharing of war stories via submit, search, and retrieve tools.3Apache 2.0
- AlicenseAqualityAmaintenanceAn MCP server that redacts PII/PHI from text before it ever reaches an LLM — self-hosted, fail-closed, and HIPAA-aware.3MIT
- AlicenseAqualityBmaintenanceSanitizes text and files by removing PII, secrets, and custom patterns locally before sending to LLMs, with optional reverse-scrubbing.3114MIT
- Alicense-qualityAmaintenanceScans text and files for common secrets (AWS, GitHub, etc.) and redacts them to prevent credential leakage in AI-assisted development. Runs entirely locally with no telemetry.MIT
Related MCP Connectors
Scans MCP servers for tool poisoning, prompt injection and supply chain risks.
The WAF for agents. Pattern-based + heuristic firewall scans prompts, RAG documents, tool argume...
Deterministic trust gate for AI output: leaked-secret, prompt-injection & PII in one call.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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