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.