Skip to main content
Glama

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]

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=dark

Despué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=dark

Inicio rápido

Requisitos:

  • Node.js 20+

  • pnpm

Instalar dependencias:

pnpm install

Ejecutar en un archivo de muestra:

pnpm dev -- --file ./examples/sample.log

Pasar texto a través de stdin:

pnpm dev -- < ./examples/sample.log

Archivos de ejemplo

Este repositorio incluye entradas de muestra que puedes usar para pruebas locales y demostraciones:

  • examples/sample.log

  • examples/sample.env

  • examples/sample.json

  • examples/sample.yaml

  • examples/mcp-redact.config.json

Todos los valores de muestra son falsos.

Uso de CLI

Leer desde stdin

pnpm dev -- < ./examples/sample.log

Leer desde un archivo

pnpm dev -- --file ./examples/sample.log
pnpm dev -- --file ./examples/sample.env

Escribir salida en un archivo

pnpm dev -- --file ./examples/sample.env --output ./sanitized.env

Salida JSON

pnpm dev -- --file ./examples/sample.log --format json

Ejemplo 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-only

Ejemplo de salida:

Total matches: 4
By type:
- authorization_header: 1
- cookie_header: 1
- email: 1
- sensitive_url: 1

Limitar grupos habilitados

Ejecutar solo detectores personales:

pnpm dev -- --file ./examples/sample.log --only personal

Deshabilitar un grupo en tiempo de ejecución:

pnpm dev -- --file ./examples/sample.log --disable http

Usar un archivo de configuración

pnpm dev -- --file ./examples/sample.log --config ./examples/mcp-redact.config.json

La 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:dev

Construir y ejecutar:

pnpm build
pnpm mcp:start

Herramientas 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:dev

  • salida 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.json

Si 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 enumerados

  • disabledDetectors: deshabilita detectores por nombre, como email o github-token

  • customRules: 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:dev

Hoja 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

A
license - permissive license
-
quality - not tested
C
maintenance

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