Deterministic no-LLM MCP server that scrubs secrets before they reach an agent. Never leaks values.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by MCP Secret Scrub.
redactCallable MCP tool function
maskCallable MCP tool function
hashCallable MCP tool function
mcp-name: io.github.sudo-ai-git/mcp-secret-scrub
Deterministic, no-LLM MCP server that scrubs secrets from text, logs, and transcripts before they enter agent context β and never leaks the value.
No LLM. No network. Pure structural detection. MIT. Crown-jewel-free.
Before you hand raw text to an agent (or store it, or pass it to a tool), you
often don't know whether it contains a live secret. Platform scrubbers miss
patterns all the time β a private key, an nvapi- token, a github_pat_
token, an api_key= assignment mid-log. If that text reaches an LLM context
or a persisted transcript, the secret is effectively exfiltrated.
This server answers, deterministically:
Which secrets are in this text, and can you redact them safely before it goes anywhere?
| family | examples |
|---|---|
| AI provider keys | sk-proj-β¦, sk-ant-apiβ¦, sk-or-v1-β¦, sk-β¦, nvapi-β¦ |
| Cloud / GitHub | AKIAβ¦, aws_secret_access_key=, ghp_β¦, gho_β¦, ghu_β¦, ghs_β¦, ghr_β¦, github_pat_β¦ |
| Identity / auth | JWTs (eyJβ¦), PEM private keys, Bearer β¦, Basic β¦, OAuth client secrets |
| Assignments | api_key=, token=, secret=, password=, client_secret=, webhook_secret= |
| Endpoints / DSNs | Discord webhooks, Slack xoxβ¦, SQL/Redis/Mongo/AMQP connection strings |
The scan never returns the secret value β only its type, count, and position. That is a hard safety contract, enforced by test.
| tool | purpose |
|---|---|
scrub_text(text, mode, keep_label) | redact / mask / hash secrets; returns scrubbed text (never the value) |
scan_text(text) | detect which secret types are present (no mutation) |
report_full(text) | scan + redact in one call, scrubbed preview + findings |
secret_profiles() | list all supported detection profiles |
Modes:
redact (default) β [REDACTED:TYPE]mask β shows first 4 + last 2 charshash β deterministic SHA-256 prefix (reproducible across calls)Or via uv/pipx for an installable console entry:
MCP client config:
scan_text and scrub_text never emit the original token;
_deterministic_hash is SHA-256 (no salt) so output is reproducible.python3 test_detector.py β 14/14 core checks (detection, redaction,
determinism, no-leak contract, benign/unicode/empty input, bad-mode)python3 test_e2e.py β drives the real MCP stdio transport and asserts
the secret does NOT cross the wireMIT. Part of the sudo-ai-git deterministic no-LLM agent-trust MCP family
(mcp-skill-sec Β· mcp-verify-claim Β· mcp-benchmark-hygiene Β·
mcp-secret-scrub).
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/mcp-secret-scrub)<a href="https://allmcps.com/mcp/mcp-secret-scrub"><img src="https://allmcps.com/api/badge/mcp-secret-scrub?style=directory" alt="MCP Secret Scrub on AllMCPs" /></a>