Skip to main content
Glama
sudo-ai-git

mcp-secret-scrub

mcp-secret-scrub

mcp-name: io.github.sudo-ai-git/mcp-secret-scrub

Servidor MCP determinista, sin LLM, que elimina secretos de texto, registros y transcripciones antes de que entren en el contexto del agente — y nunca filtra el valor.

Sin LLM. Sin red. Detección puramente estructural. MIT. Sin joyas de la corona.


El problema que resuelve

Antes de entregar texto sin procesar a un agente (o almacenarlo, o pasarlo a una herramienta), a menudo no sabes si contiene un secreto activo. Los limpiadores de plataforma pasan por alto patrones todo el tiempo: una clave privada, un token nvapi-, un token github_pat_, una asignación api_key= en medio de un registro. Si ese texto llega a un contexto de LLM o a una transcripción persistida, el secreto se exfiltra de facto.

Este servidor responde, de forma determinista:

¿Qué secretos hay en este texto, y puedes redactarlos de forma segura antes de que vaya a cualquier parte?

Related MCP server: ai-security-gateway-mcp

Cobertura de detección (perfiles deterministas)

familia

ejemplos

Claves de proveedores de IA

sk-proj-…, sk-ant-api…, sk-or-v1-…, sk-…, nvapi-…

Nube / GitHub

AKIA…, aws_secret_access_key=, ghp_…, gho_…, ghu_…, ghs_…, ghr_…, github_pat_…

Identidad / autenticación

JWT (eyJ…), claves privadas PEM, Bearer …, Basic …, secretos de cliente OAuth

Asignaciones

api_key=, token=, secret=, password=, client_secret=, webhook_secret=

Endpoints / DSN

webhooks de Discord, Slack xox…, cadenas de conexión SQL/Redis/Mongo/AMQP

El escaneo nunca devuelve el valor del secreto — solo su tipo, recuento y posición. Ese es un contrato de seguridad estricto, garantizado por pruebas.

Herramientas (MCP)

herramienta

propósito

scrub_text(text, mode, keep_label)

redactar / enmascarar / aplicar hash a secretos; devuelve texto depurado (nunca el valor)

scan_text(text)

detecta qué tipos de secreto están presentes (sin mutación)

report_full(text)

escaneo + redacción en una sola llamada, vista previa depurada + hallazgos

secret_profiles()

lista todos los perfiles de detección compatibles

Modos:

  • redact (predeterminado) → [REDACTED:TYPE]

  • mask → muestra los primeros 4 + últimos 2 caracteres

  • hash → prefijo SHA-256 determinista (reproducible entre llamadas)

Inicio rápido (stdio)

pip install mcp-secret-scrub
mcp-secret-scrub          # stdio (default)

O mediante uv/pipx para una entrada de consola instalable:

pipx install mcp-secret-scrub

Configuración del cliente MCP:

{ "mcpServers": {
    "secret-scrub": { "command": "mcp-secret-scrub" }
}}

HTTP transmisible (remoto / publicable en Smithery)

python3 mcp_server.py --http --port 8138   # serves on http://<host>:8138/mcp/

Garantías de determinismo y seguridad

  • Determinista: misma entrada → salida idéntica en todos los modos y en cada llamada.

  • Nunca filtra: scan_text y scrub_text nunca emiten el token original; _deterministic_hash es SHA-256 (sin sal) para que la salida sea reproducible.

  • Sin LLM, sin red: regex pura + detección de estructura alcanzable.

  • Seguro ante entradas: una entrada que no sea una cadena devuelve un error limpio, no un traceback.

Verificación

  • python3 test_detector.py — 14/14 comprobaciones principales (detección, redacción, determinismo, contrato de no filtración, entrada benigna/unicode/vacía, modo no válido)

  • python3 test_e2e.py — maneja el transporte stdio real de MCP y verifica que el secreto NO cruza el cable

Licencia y procedencia

MIT. Parte de la familia MCP determinista sin LLM de confianza para agentes de sudo-ai-git (mcp-skill-sec · mcp-verify-claim · mcp-benchmark-hygiene · mcp-secret-scrub).

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Sanitizes text and files by removing PII, secrets, and custom patterns locally before sending to LLMs, with optional reverse-scrubbing.
    3
    1,224 npm
    2
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    Detects and redacts sensitive personal information such as names, emails, phone numbers, ID numbers, and locations in text before it is processed by AI agents, using configurable mask, hash, or remove strategies.
    1
    -