The most comprehensive MCP security scanner

One command finds cross-server attack paths, tool poisoning, typosquats, CVEs, trust issues, and supply chain risks. More signal than running Snyk + MCPShield + Enkrypt combined.

Scan your config in 10 seconds:

npx mcphound

Zero install. Auto-detects Claude Desktop, Cursor, and VS Code configs.

Instant security grade

Every scan produces a single letter grade from attack paths, warnings, and CVEs.

A

90-100

Clean — minimal risk

B

75-89

Good — minor issues

C

55-74

Fair — notable risks

D

35-54

Poor — significant exposure

F

0-34

Failing — critical issues

What we detect

Tool Poisoning DetectionCritical

10 compiled regex patterns scan every tool description for prompt injection attacks: hidden instructions, safety overrides, data exfiltration commands, unicode tricks, and cross-tool manipulation.

"Ignore all previous instructions""Do not tell the user""Send data to https://evil.com"Invisible zero-width Unicode characters
Typosquat DetectionHigh

Catches malicious packages with names suspiciously similar to legitimate ones. Uses Levenshtein distance and dehyphenation matching against 60+ known MCP packages.

server-filesystm vs server-filesystemmcpserverfetch vs mcp-server-fetch1-2 character differences flagged
Behavioral MismatchMedium

Compares what a server says it does versus what it can actually do. Flags opaque tools with no descriptions, suspiciously long descriptions (injection surface), and capability/description mismatches.

Tool with no description = opaque behaviorDescription over 2000 chars = injection surfaceshell_exec capability but no tool mentions "shell"
Trust Scoring & CVEs

Each server gets a 0-100 trust score based on package age, weekly downloads, maintainer count, and Smithery verification. Known CVEs are pulled from Google's OSV.dev database in real time.

Trusted (90+) / Established (70+) / Unknown (40+) / Suspicious (<40)CVE count per server from OSV.devnpm + PyPI registry lookups
Rug-Pull DetectionCritical

MCPhound hashes every server's tool definitions on each scan. If a package's tools change between scans, you get a Critical alert — the package may have been compromised in a supply chain attack.

SHA-256 tool definition pinningDetects added/removed/modified toolsSupply chain attack early warning

Cross-server attack paths we find

CriticalData Exfiltration

filesystem MCP

reads files from your Mac

combined with

fetch / web MCP

makes HTTP requests

attacker gets

Your SSH keys, .env files, source code — POSTed to an attacker

A hidden instruction in any webpage Claude visits tells it to read ~/.ssh/id_rsa and send it to attacker.com. Both servers are doing exactly what they're supposed to. The combination is the attack.

CriticalShell Code Execution via Git

filesystem MCP

writes files anywhere

combined with

git MCP

runs git operations

attacker gets

Arbitrary shell commands executed on your machine

Claude writes a .gitattributes file with a filter that executes shell commands on checkout. Then uses the git MCP to trigger a git operation. Git's own filter mechanism runs the payload. Neither mcp-scan nor any individual server scanner catches this — it requires the combination.

HighMemory Poisoning

filesystem / fetch MCP

reads external content

combined with

memory MCP

writes to AI persistent memory

attacker gets

Permanent backdoor in your AI's long-term memory

A malicious document or webpage injects a hidden instruction. Claude stores it in your AI memory server as a 'helpful reminder'. Every future Claude session starts poisoned — even months later, even in different contexts.

How MCPhound compares

CapabilitySnykMCPShieldEnkryptCiscoMCPhound
Cross-server attack paths----Yes
Tool poisoning detectionLLM---Regex
Typosquat detection-Yes--Yes
CVE per server--Yes-Yes
Behavioral mismatch---CodeYes
Trust scoring----Yes
Rug-pull detectionLLM---Hash
Security grade (A-F)----Yes
Remediation plan----Yes
GitHub Actions / SARIFYes---Yes
No LLM required-YesYes-Yes

How it works

1

Run npx mcphound

Auto-detects your MCP config file

2

Scan & enrich

Check for poisoning, typosquats, CVEs, and trust scores

3

Map attack paths

Graph analysis finds cross-server attack chains

4

Get your grade

A-F score with prioritized fixes

CI / CD Integration

Block PRs that introduce risky MCP configs. Fails on critical/high attack paths or warnings.

- uses: tayler-id/mcphound-action@v0
  with:
    api_token: ${{ secrets.MCPHOUND_API_TOKEN }}

Get your token at mcphound.ai/ci/setup

Or paste your config here

Prefer a web UI? Paste your claude_desktop_config.json below. For faster results, use npx mcphound in your terminal.

Every server is checked for poisoning, typosquats, and behavioral mismatches. Every combination is tested against 16 cross-server attack patterns. Secrets are stripped before analysis.

Click to upload claude_desktop_config.json

No file selected — or paste JSON below

or paste JSON

API keys and env vars are stripped before storage. No LLM required — all checks are deterministic.