Scans your local development machine for leaked credentials in environment files, shell history, and config files across AWS, Docker, GitHub CLI, npm, SSH, and 35+ secret patterns. Exposes two tools: scan_secrets for a full report with file paths and line numbers, and scan_summary for a quick health score from 0 to 100. Everything runs locally with no network calls. You'd reach for this when you want Claude to audit your machine for API keys you've accidentally left in .env files, pasted into bash history, or stored in ~/.aws/credentials, then get specific remediation steps for each finding.
Find every leaked secret on your machine.
GhostHunt is an MCP server that scans your development machine for API keys, tokens, and credentials hiding in places you forgot to check: .env files scattered across projects, shell history, AWS/SSH/Docker configs, and more.
Everything runs locally. No data leaves your machine.
.env, .env.local, .env.production, etc. under your home directory~/.aws/credentials and session tokens~/.ssh/~/.docker/config.json~/.npmrc, ~/.pypirc auth tokens~/.config/gh/hosts.ymlbash, zsh, or fish commands~/.kube/config credentials~/.netrc passwordsAdd to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"ghosthunt": {
"command": "npx",
"args": ["-y", "ghosthunt"]
}
}
}
Restart Claude Desktop. Then ask Claude: "Scan my machine for leaked secrets"
npx ghosthunt
scan_secretsFull detailed scan. Returns every finding with file paths, line numbers, severity ratings, and remediation steps.
Example prompt: "Run a full GhostHunt scan and show me everything"
scan_summaryQuick health check. Returns your health score (0-100) and a count by severity. Run this first to see if you have a problem.
Example prompt: "Give me a quick GhostHunt health check"
# GhostHunt Scan Report
**Health Score: 37/100** (Critical)
- Secrets found: **12**
- Critical: 3 | High: 5 | Medium: 2 | Low: 2
- Locations scanned: 47
- Scan time: 142ms
## Environment Files (.env)
- **[CRITICAL]** Stripe Live Secret Key
- File: `/Users/you/project-a/.env:4`
- Context: `STRIPE_SECRET_KEY`
- Value: `sk_l****_8xQ`
- **[CRITICAL]** OpenAI API Key
- File: `/Users/you/side-project/.env.local:12`
- Context: `OPENAI_API_KEY`
- Value: `sk-p****kFJ9`
## Shell History
- **[HIGH]** Bearer Token in Header
- File: `/Users/you/.zsh_history:8847`
- Context: `curl -H "Authorization: Bearer sk_live_...`
- Value: `sk_l****_m3K`
## Recommendations
1. **Rotate critical secrets immediately.** Any API key marked CRITICAL
should be revoked and regenerated from the provider's dashboard.
2. **Clear your shell history** of sensitive commands.
3. **Audit your .env files.** Ensure they are in .gitignore.
Your score starts at 100 and drops based on what GhostHunt finds:
| Finding | Penalty |
|---|---|
| Critical secret | -15 |
| High severity | -8 |
| Medium severity | -3 |
| Low severity | -1 |
A score below 50 means you have secrets that need immediate attention.
GhostHunt runs entirely on your local machine. It does not:
Your secrets stay on your machine. The scan results stay in your Claude conversation.
MIT
YOUR_API_KEY*secretYour API key for the service
ray0907/git-mcp-server
cyanheads/git-mcp-server
io.github.b1ff/atlassian-dc-mcp-bitbucket
io.github.b1ff/atlassian-dc-mcp-jira
com.mcparmory/atlassian-jira
sirlordt/vscode-terminal-mcp