mcp-redact
mcp-redact
CLI y servidor MCP local-first para redactar texto sensible antes de compartir registros, configuraciones y errores con herramientas de IA.
mcp-redact te ayuda a hacer una cosa antes de pegar texto en Claude Code, Cursor u otras herramientas de IA: redactar secretos y datos sensibles primero.
Por qué existe esto
Los desarrolladores a menudo pegan registros, archivos .env, encabezados de solicitud, seguimientos de pila y fragmentos de configuración en herramientas de IA. Esos fragmentos pueden contener claves de API, tokens de portador (bearer tokens), cookies, correos electrónicos y otros valores sensibles.
mcp-redact está diseñado para hacer ese flujo más seguro:
local-first
redacción determinista basada en expresiones regulares
motor compartido tanto para CLI como para MCP
marcadores de posición legibles como
[REDACTED_EMAIL]
Related MCP server: phi-redact-mcp
Antes / Después
Antes
Authorization: Bearer abcdefghijklmnop123456
user_email=user@example.com
callback=https://example.com/callback?token=secret123&lang=en
Cookie: session=abcdef123456; theme=darkDespués
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=darkInicio rápido
Requisitos:
Node.js 20+
pnpm
Instalar dependencias:
pnpm installEjecutar en un archivo de muestra:
pnpm dev -- --file ./examples/sample.logPasar texto a través de stdin:
pnpm dev -- < ./examples/sample.logArchivos de ejemplo
Este repositorio incluye entradas de muestra que puedes usar para pruebas locales y demostraciones:
examples/sample.logexamples/sample.envexamples/sample.jsonexamples/sample.yamlexamples/mcp-redact.config.json
Todos los valores de muestra son falsos.
Uso de CLI
Leer desde stdin
pnpm dev -- < ./examples/sample.logLeer desde un archivo
pnpm dev -- --file ./examples/sample.logpnpm dev -- --file ./examples/sample.envEscribir salida en un archivo
pnpm dev -- --file ./examples/sample.env --output ./sanitized.envSalida JSON
pnpm dev -- --file ./examples/sample.log --format jsonEjemplo de salida:
{
"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
}
}
}Salida solo de resumen
pnpm dev -- --file ./examples/sample.log --summary-onlyEjemplo de salida:
Total matches: 4
By type:
- authorization_header: 1
- cookie_header: 1
- email: 1
- sensitive_url: 1Limitar grupos habilitados
Ejecutar solo detectores personales:
pnpm dev -- --file ./examples/sample.log --only personalDeshabilitar un grupo en tiempo de ejecución:
pnpm dev -- --file ./examples/sample.log --disable httpUsar un archivo de configuración
pnpm dev -- --file ./examples/sample.log --config ./examples/mcp-redact.config.jsonLa configuración de ejemplo habilita solo los grupos personal y custom, deshabilita el detector email integrado y agrega una regla personalizada internal-ticket. Con esa configuración, sample.log se deja sin cambios porque no contiene ningún valor de ticket personalizado y la redacción de correo electrónico está deshabilitada.
Uso de MCP
Iniciar el servidor MCP
Modo de desarrollo:
pnpm mcp:devConstruir y ejecutar:
pnpm build
pnpm mcp:startHerramientas MCP
redact_text
Entrada:
{
"text": "Authorization: Bearer abcdefghijklmnop123456",
"groups": ["http"],
"configPath": "./examples/mcp-redact.config.json"
}redact_file
Entrada:
{
"filePath": "./examples/sample.log",
"groups": ["http"],
"configPath": "./examples/mcp-redact.config.json"
}Ambas herramientas devuelven la misma estructura:
{
"redactedText": "...",
"summary": {
"totalMatches": 4,
"byType": {
"authorization_header": 1,
"email": 1
}
}
}Conexión desde un cliente MCP
Usa el comando de servidor que se ajuste a tu entorno:
desarrollo:
pnpm mcp:devsalida construida:
pnpm mcp:start
Si tu cliente MCP espera un comando más argumentos, apúntalo al proyecto local y ejecuta el servidor a través de stdio. El servidor expone dos herramientas: redact_text y redact_file.
Configuración
Nombre del archivo de configuración predeterminado:
mcp-redact.config.jsonSi no se proporciona una ruta de configuración explícita, mcp-redact intentará leer ese archivo desde el directorio de trabajo actual. Si falta el archivo predeterminado, la ejecución continúa normalmente. Si pasas explícitamente una ruta de configuración inexistente, el comando fallará.
Configuración de ejemplo:
{
"enabledGroups": ["personal", "custom"],
"disabledDetectors": ["email"],
"customRules": [
{
"name": "internal-ticket",
"pattern": "TICKET-[0-9]{6}",
"placeholder": "[REDACTED_TICKET]"
}
]
}Campos de configuración
enabledGroups: restringe los detectores integrados y personalizados a los grupos enumeradosdisabledDetectors: deshabilita detectores por nombre, comoemailogithub-tokencustomRules: agrega detectores locales basados en expresiones regulares que utilizan la misma tubería que las reglas integradas
Detectores admitidos
secrets
Token de portador (Bearer token)
JWT
Token de GitHub
Clave de API estilo OpenAI
Clave de API estilo Anthropic
ID de clave de acceso de AWS
Secretos de clave-valor como
password=,token=,secret=,api_key=Bloques de clave privada
personal
Correo electrónico
Teléfono
IPv4
http
Valor de portador del encabezado de autorización
Valor sensible del encabezado de cookie
Valor sensible de consulta de URL como
token=
Desarrollo local
Comandos comunes:
pnpm install
pnpm test
pnpm lint
pnpm typecheck
pnpm build
pnpm mcp:devHoja de ruta
Más patrones de tokens y claves de API
Mejor supresión de falsos positivos
Más ejemplos de registros y configuraciones del mundo real
Más ejemplos de clientes MCP de extremo a extremo
This server cannot be deployed
Maintenance
Related MCP Connectors
Detect and redact PII and secrets before text reaches an LLM, with reversible placeholders.
Redact personal data from text before your agent sends it to a model or stores it: names, contact details, ID numbers, financial and health identifiers, card numbers, plus any exact terms you add. Nothing stored, no third-party AI. Tools - redact_text: returns the redacted text and a count of what was removed, by type. Never the removed values. Options: restrict to particular data types, add exact terms to remove, choose the replacement style (a type label such as <PERSON> by default) and set a confidence threshold. - list_entity_types: lists the detectable data types. Free. Data handling - Nothing you send is stored. Text is processed in memory and discarded when the call returns. - No third-party AI. Text is never sent to OpenAI, Anthropic, Google or any other outside model. - Tool arguments are never logged. Only counts are kept: credits used, a timestamp and how many of each type were found. PDFs, including scanned pages, are handled by the REST API with the same key and credits. They aren't offered as an MCP tool because a file doesn't fit in a tool call. Pricing: 1 credit per call plus 1 per 1,000 characters. 10 free credits on sign-up, no card. Credit packs from $5; purchased credits never expire. Failed calls and repeated identical calls are free. Setup and API key: https://eleyed.com/mcp?utm_source=glama&utm_medium=directory&utm_campaign=listing
Stateless PII redaction over MCP/REST. Free ≤1000 words or $0.01/call; file upload supported.
Security & DLP proxy for MCP: tool-poisoning scans, PII redaction on tool args/results. Beta.
Related MCP Servers
- AlicenseAqualityDmaintenanceA 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
- AlicenseAqualityBmaintenanceAn MCP server that redacts PII/PHI from text before it ever reaches an LLM — self-hosted, fail-closed, and HIPAA-aware.336 PyPIMIT
- AlicenseAqualityAmaintenanceSanitizes text and files by removing PII, secrets, and custom patterns locally before sending to LLMs, with optional reverse-scrubbing.31,224 npm2MIT
- AlicenseNot gradedqualityCmaintenanceScans 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