mcp-redact
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=darkNachher
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=darkSchnellstart
Voraussetzungen:
Node.js 20+
pnpm
Abhängigkeiten installieren:
pnpm installAuf einer Beispieldatei ausführen:
pnpm dev -- --file ./examples/sample.logText über stdin weiterleiten:
pnpm dev -- < ./examples/sample.logBeispieldateien
Dieses Repository enthält Beispiel-Inputs, die Sie für lokale Tests und Demos verwenden können:
examples/sample.logexamples/sample.envexamples/sample.jsonexamples/sample.yamlexamples/mcp-redact.config.json
Alle Beispielwerte sind fiktiv.
CLI-Nutzung
Von stdin lesen
pnpm dev -- < ./examples/sample.logAus einer Datei lesen
pnpm dev -- --file ./examples/sample.logpnpm dev -- --file ./examples/sample.envAusgabe in eine Datei schreiben
pnpm dev -- --file ./examples/sample.env --output ./sanitized.envJSON-Ausgabe
pnpm dev -- --file ./examples/sample.log --format jsonBeispielausgabe:
{
"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-onlyBeispielausgabe:
Total matches: 4
By type:
- authorization_header: 1
- cookie_header: 1
- email: 1
- sensitive_url: 1Aktivierte Gruppen einschränken
Nur persönliche Detektoren ausführen:
pnpm dev -- --file ./examples/sample.log --only personalEine Gruppe zur Laufzeit deaktivieren:
pnpm dev -- --file ./examples/sample.log --disable httpEine Konfigurationsdatei verwenden
pnpm dev -- --file ./examples/sample.log --config ./examples/mcp-redact.config.jsonDie 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:devBauen und ausführen:
pnpm build
pnpm mcp:startMCP-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:devBuild-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.jsonWenn 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 GruppendisabledDetectors: deaktiviert Detektoren nach Namen, wie z. B.emailodergithub-tokencustomRules: 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:devRoadmap
Mehr Token- und API-Schlüssel-Muster
Bessere Unterdrückung von Fehlalarmen
Mehr praxisnahe Log- und Konfigurationsbeispiele
Mehr End-to-End MCP-Client-Beispiele
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