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]

Related MCP server: phi-redact-mcp

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

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

  • A
    license
    A
    quality
    D
    maintenance
    A 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.
    3
    Apache 2.0
  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that redacts PII/PHI from text before it ever reaches an LLM — self-hosted, fail-closed, and HIPAA-aware.
    3
    36 PyPI
    MIT
  • 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
  • A
    license
    Not graded
    quality
    C
    maintenance
    Scans 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