MCP server for ClassiFinder — secret scanning tools for AI agents
Project description
ClassiFinder MCP Server
An MCP server that gives AI agents the ability to scan text for leaked secrets and redact them before they reach an LLM.
Installation
pip install classifinder-mcp
Setup
Get a free API key at classifinder.ai, then add to your agent config:
Claude Code
{
"mcpServers": {
"classifinder": {
"command": "classifinder-mcp",
"env": {
"CLASSIFINDER_API_KEY": "ss_live_your_key_here"
}
}
}
}
Cursor
Add to .cursor/mcp.json in your project:
{
"mcpServers": {
"classifinder": {
"command": "classifinder-mcp",
"env": {
"CLASSIFINDER_API_KEY": "ss_live_your_key_here"
}
}
}
}
Tools
classifinder_scan
Scan text for leaked secrets and credentials. Returns findings with type, severity, confidence, and remediation guidance.
Agent: "Check this config for secrets"
→ classifinder_scan(text="AWS_ACCESS_KEY_ID=AKIAJGKJHSKLDJFH3284")
→ Found 1 secret: aws_access_key (critical, confidence 0.95)
classifinder_redact
Replace all detected secrets with safe placeholders. Returns clean text safe to forward to any LLM.
Agent: "Clean this before sending to the model"
→ classifinder_redact(text="key=sk_live_EXAMPLE_KEY_HERE")
→ "key=[STRIPE_LIVE_SECRET_KEY_REDACTED]"
What It Detects
116 detection patterns:
- 106 secret types across 7 categories: AWS, GCP, Azure, Vercel, Fly.io, Doppler, HashiCorp Vault and other cloud/infra keys; Stripe, PayPal, Shopify, credit cards (Luhn-validated); GitHub, GitLab, Bitbucket, npm, PyPI, RubyGems and other CI/CD tokens; Slack, Twilio, SendGrid, Datadog, Sentry, PagerDuty, Notion, Linear and other SaaS keys; PostgreSQL/MySQL/MongoDB/Redis/Supabase connection strings; SSH/PEM private keys; JWTs; and 18 AI/LLM provider keys (OpenAI, Anthropic user + admin, Cohere, xAI, Mistral, DeepSeek, HuggingFace, Replicate, Groq, ElevenLabs, AssemblyAI, Deepgram, LangFuse, AWS Bedrock long + short-lived, Vercel AI Gateway, Weights & Biases).
- 10 prompt-injection markers for LLM input scanning — 4 phase-1 high-precision (chat-template role-hijack tokens like
<|im_start|>and[INST], tool-call tag injection, known jailbreak personas like DAN/AIM, Unicode bidirectional override / Trojan Source) + 6 phase-2 medium-precision (zero-width Unicode smuggling, fake "Assistant:" turns, system-prompt extraction, instruction override like "ignore previous instructions", persona override (context-gated), encoded-payload markers). Catches 20.6% of in-the-wild jailbreaks (validated against theverazuo/jailbreak_llmscorpus). Severity caps athigh— these are attack markers, not credentials.
One scan returns both secret findings and injection markers — no second vendor, no separate pipeline.
See Also
For CLI scanning instead of MCP, see cfsniff — a command-line tool that scans files, shell history, and configs for secrets (pipx install cfsniff).
Disclaimer
ClassiFinder is a detection aid, not a guarantee. No scanner catches 100% of secrets in 100% of formats. See our Terms of Service for full details.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file classifinder_mcp-0.1.3.tar.gz.
File metadata
- Download URL: classifinder_mcp-0.1.3.tar.gz
- Upload date:
- Size: 7.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d47d6cf66cac4177a50e3df2a1c9e2add5d0d460fb3c01c77ef6d52e8d3f7661
|
|
| MD5 |
b0932f8755d2b4c92cf94448dc5f7fc1
|
|
| BLAKE2b-256 |
7f45d5abe70f3d66358b23eb820010a348b487fca493d66899044f6e6e74148e
|
Provenance
The following attestation bundles were made for classifinder_mcp-0.1.3.tar.gz:
Publisher:
release.yml on ClassiFinder/classifinder-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
classifinder_mcp-0.1.3.tar.gz -
Subject digest:
d47d6cf66cac4177a50e3df2a1c9e2add5d0d460fb3c01c77ef6d52e8d3f7661 - Sigstore transparency entry: 1486346394
- Sigstore integration time:
-
Permalink:
ClassiFinder/classifinder-mcp@0aacfcf6786dc8d52f91cc749c6a35439396b575 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/ClassiFinder
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0aacfcf6786dc8d52f91cc749c6a35439396b575 -
Trigger Event:
push
-
Statement type:
File details
Details for the file classifinder_mcp-0.1.3-py3-none-any.whl.
File metadata
- Download URL: classifinder_mcp-0.1.3-py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41525194fa5467d9f0fd09381dd5391682201dc08df66fd943cac4840d12588b
|
|
| MD5 |
40a8b04d6759a82d63f8681b52b2edb1
|
|
| BLAKE2b-256 |
f5a9c4c722f5f488e7dca5c404446a8a9c09f926cd29f36eca41f55dc3adb2ea
|
Provenance
The following attestation bundles were made for classifinder_mcp-0.1.3-py3-none-any.whl:
Publisher:
release.yml on ClassiFinder/classifinder-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
classifinder_mcp-0.1.3-py3-none-any.whl -
Subject digest:
41525194fa5467d9f0fd09381dd5391682201dc08df66fd943cac4840d12588b - Sigstore transparency entry: 1486346495
- Sigstore integration time:
-
Permalink:
ClassiFinder/classifinder-mcp@0aacfcf6786dc8d52f91cc749c6a35439396b575 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/ClassiFinder
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0aacfcf6786dc8d52f91cc749c6a35439396b575 -
Trigger Event:
push
-
Statement type: