Skip to main content
Glama

mcp-redact

Local-first CLI und MCP-Server zum Schwärzen sensibler Texte, bevor Logs, Konfigurationen und Fehler mit KI-Tools geteilt werden.

mcp-redact hilft Ihnen bei einer wichtigen Aufgabe, bevor Sie Text in Claude Code, Cursor oder andere KI-Tools einfügen: das Schwärzen von Geheimnissen und sensiblen Daten.

Warum gibt es dieses Tool?

Entwickler fügen häufig Logs, .env-Dateien, Request-Header, Stack-Traces und Konfigurations-Snippets in KI-Tools ein. Diese Snippets können API-Schlüssel, Bearer-Token, Cookies, E-Mails und andere sensible Werte enthalten.

mcp-redact wurde entwickelt, um diesen Prozess sicherer zu machen:

  • Local-first

  • Deterministische, Regex-basierte Schwärzung

  • Gemeinsame Engine für CLI und MCP

  • Lesbare Platzhalter wie [REDACTED_EMAIL]

Vorher / Nachher

Vorher

Authorization: Bearer abcdefghijklmnop123456
user_email=user@example.com
callback=https://example.com/callback?token=secret123&lang=en
Cookie: session=abcdef123456; theme=dark

Nachher

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

Schnellstart

Voraussetzungen:

  • Node.js 20+

  • pnpm

Abhängigkeiten installieren:

pnpm install

Auf einer Beispieldatei ausführen:

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

Text über stdin weiterleiten:

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

Beispieldateien

Dieses Repository enthält Beispiel-Inputs, die Sie für lokale Tests und Demos verwenden können:

  • examples/sample.log

  • examples/sample.env

  • examples/sample.json

  • examples/sample.yaml

  • examples/mcp-redact.config.json

Alle Beispielwerte sind fiktiv.

CLI-Nutzung

Von stdin lesen

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

Aus einer Datei lesen

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

Ausgabe in eine Datei schreiben

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

JSON-Ausgabe

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

Beispielausgabe:

{
  "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
    }
  }
}

Nur Zusammenfassung ausgeben

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

Beispielausgabe:

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

Aktivierte Gruppen einschränken

Nur persönliche Detektoren ausführen:

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

Eine Gruppe zur Laufzeit deaktivieren:

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

Eine Konfigurationsdatei verwenden

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

Die Beispielkonfiguration aktiviert nur die Gruppen personal und custom, deaktiviert den integrierten email-Detektor und fügt eine benutzerdefinierte internal-ticket-Regel hinzu. Mit dieser Konfiguration bleibt sample.log unverändert, da es keinen benutzerdefinierten Ticket-Wert enthält und die E-Mail-Schwärzung deaktiviert ist.

MCP-Nutzung

Den MCP-Server starten

Entwicklungsmodus:

pnpm mcp:dev

Bauen und ausführen:

pnpm build
pnpm mcp:start

MCP-Tools

redact_text

Input:

{
  "text": "Authorization: Bearer abcdefghijklmnop123456",
  "groups": ["http"],
  "configPath": "./examples/mcp-redact.config.json"
}

redact_file

Input:

{
  "filePath": "./examples/sample.log",
  "groups": ["http"],
  "configPath": "./examples/mcp-redact.config.json"
}

Beide Tools geben die gleiche strukturierte Form zurück:

{
  "redactedText": "...",
  "summary": {
    "totalMatches": 4,
    "byType": {
      "authorization_header": 1,
      "email": 1
    }
  }
}

Verbindung von einem MCP-Client herstellen

Verwenden Sie den Server-Befehl, der zu Ihrer Umgebung passt:

  • Entwicklung: pnpm mcp:dev

  • Build-Ausgabe: pnpm mcp:start

Wenn Ihr MCP-Client einen Befehl plus Argumente erwartet, verweisen Sie ihn auf das lokale Projekt und führen Sie den Server über stdio aus. Der Server stellt zwei Tools bereit: redact_text und redact_file.

Konfiguration

Standard-Konfigurationsdateiname:

mcp-redact.config.json

Wenn kein expliziter Konfigurationspfad angegeben ist, versucht mcp-redact, diese Datei aus dem aktuellen Arbeitsverzeichnis zu lesen. Wenn die Standarddatei fehlt, wird die Ausführung normal fortgesetzt. Wenn Sie explizit einen fehlenden Konfigurationspfad übergeben, schlägt der Befehl fehl.

Beispielkonfiguration:

{
  "enabledGroups": ["personal", "custom"],
  "disabledDetectors": ["email"],
  "customRules": [
    {
      "name": "internal-ticket",
      "pattern": "TICKET-[0-9]{6}",
      "placeholder": "[REDACTED_TICKET]"
    }
  ]
}

Konfigurationsfelder

  • enabledGroups: beschränkt integrierte und benutzerdefinierte Detektoren auf die aufgeführten Gruppen

  • disabledDetectors: deaktiviert Detektoren nach Namen, wie z. B. email oder github-token

  • customRules: fügt lokale Regex-basierte Detektoren hinzu, die dieselbe Pipeline wie integrierte Regeln verwenden

Unterstützte Detektoren

secrets

  • Bearer-Token

  • JWT

  • GitHub-Token

  • API-Schlüssel im OpenAI-Stil

  • API-Schlüssel im Anthropic-Stil

  • AWS Access Key ID

  • Schlüssel-Wert-Geheimnisse wie password=, token=, secret=, api_key=

  • Private-Key-Blöcke

personal

  • E-Mail

  • Telefonnummer

  • IPv4

http

  • Authorization-Header Bearer-Wert

  • Sensibler Cookie-Header-Wert

  • Sensibler URL-Query-Wert wie token=

Lokale Entwicklung

Allgemeine Befehle:

pnpm install
pnpm test
pnpm lint
pnpm typecheck
pnpm build
pnpm mcp:dev

Roadmap

  • Mehr Token- und API-Schlüssel-Muster

  • Bessere Unterdrückung von Fehlalarmen

  • Mehr praxisnahe Log- und Konfigurationsbeispiele

  • Mehr End-to-End MCP-Client-Beispiele

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