MCP Shield

Registre officiel Sécurité

Security scanner for MCP servers. SSRF, path traversal, injection, auth, secrets. Grade A-F.

Que pouvez-vous faire avec MCP Shield ?

  • Zero dependencies — Pure Python, no pip installs required
  • 20 security rules across SSRF, path traversal, injection, auth, config, and logging
  • CWE references — Every finding maps to a Common Weakness Enumeration ID
  • Actionable fixes — Each finding includes specific remediation steps
  • A-F grading — Instant security posture assessment
  • Dual mode — Run as CLI or as an MCP server inside Claude Code
  • Fast — Scans a typical MCP server in under 1 second

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

NPM package @sophiacave/mcp-shield
Claude Code
claude mcp add mcp-shield -- npx -y @sophiacave/mcp-shield@1.0.7
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "mcp-shield": {
            "command": "npx",
            "args": [
                "-y",
                "@sophiacave/mcp-shield@1.0.7"
            ]
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. MCP Shield
  2. Quick Start
  3. What It Checks (20 Rules)
  4. Testing
  5. MCP Server Integration
  6. Example Output
  7. Features
  8. Why This Exists
  9. License

MCP Shield

Open-source security scanner for MCP servers. 20 rules across 6 categories. Scan any server in seconds. Get a grade from A to F.

36.7% of MCP servers are SSRF-vulnerable (BlueRock, 2026). 82% have path traversal flaws. Only 17% are production-ready. MCP Shield finds the vulnerabilities before attackers do.

Quick Start

git clone https://github.com/sophiacave/mcp-shield
cd mcp-shield

# Scan a file
python3 src/cli.py scan path/to/mcp_server.py

# Scan a project
python3 src/cli.py scan path/to/mcp-project/

What It Checks (20 Rules)

RuleSeverityWhat It Detects
SSRF-01CriticalUser input in HTTP request URLs
SSRF-02MediumDynamic URLs without validation
SSRF-03MediumDNS rebinding (URL validated but no IP pinning)
PATH-01HighUser input in file paths
PATH-02MediumNo path traversal protection
PATH-03MediumSymlink following without check
INJ-01Criticaleval/exec on user input
INJ-02CriticalSQL string interpolation
INJ-03Highsubprocess with shell=True
INJ-04HighTemplate injection via .format()
INJ-05CriticalUnsafe deserialization (pickle/yaml)
AUTH-01MediumNo auth on tool handlers
AUTH-02CriticalHardcoded secrets/API keys (OpenAI, Stripe, GitHub, AWS)
AUTH-03LowNo rate limiting on tool endpoints
SEC-01HighSSL verification disabled
SEC-02MediumWildcard CORS
SEC-03MediumStack traces/error details exposed to client
SEC-04LowNo input length validation (DoS risk)
LOG-01LowNo logging/audit trail on tool invocations

Testing

python3 tests/test_integration.py
# 28 tests, 0 failures

MCP Server Integration

Add to ~/.claude/mcp.json:

{
  "mcpServers": {
    "mcp-shield": {
      "command": "python3",
      "args": ["/path/to/mcp-shield/src/mcp_server.py"]
    }
  }
}

Claude Code tools: shield_scan_file, shield_scan_directory, shield_scan_code

Example Output

MCP Shield: my-server/ — 3 finding(s)

  [CRIT] SSRF-01: Potential SSRF: Dynamic URL from user input
    requests call with dynamic URL that may include user input
    Location: server.py:45
    Fix: Validate URL against allowlist. Block internal IPs.
    CWE: CWE-918

  [HIGH] INJ-03: Command injection: subprocess with shell=True
    subprocess called with shell=True. User input in args = RCE.
    Location: tools.py:112
    Fix: Use subprocess with shell=False and pass args as list.
    CWE: CWE-78

  [MED] AUTH-01: No authentication detected on tool handlers
    MCP tool handlers found but no auth logic detected
    Fix: Add authentication middleware.
    CWE: CWE-306

Grade: F | 1 critical, 1 high, 1 medium

Features

  • Zero dependencies — Pure Python, no pip installs required
  • 20 security rules across SSRF, path traversal, injection, auth, config, and logging
  • CWE references — Every finding maps to a Common Weakness Enumeration ID
  • Actionable fixes — Each finding includes specific remediation steps
  • A-F grading — Instant security posture assessment
  • Dual mode — Run as CLI or as an MCP server inside Claude Code
  • Fast — Scans a typical MCP server in under 1 second

Why This Exists

The MCP ecosystem has 9,400+ servers and 97M monthly SDK downloads. Security tooling hasn't kept up. We built MCP Shield because every MCP server deployed without a security scan is a liability.

Built by Like One, a 501(c)(3) nonprofit. Security tooling should be free.

License

MIT — Like One

Questions fréquentes

Qu'est-ce que MCP Shield ?

Security scanner for MCP servers. SSRF, path traversal, injection, auth, secrets. Grade A-F.

Comment installer MCP Shield ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add mcp-shield -- npx -y @sophiacave/mcp-shield@1.0.7. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour MCP Shield ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

MCP Shield est-il open source ?

Son code est public sur GitHub, mais le dépôt ne déclare pas de licence standard.

Qui maintient MCP Shield ?

Il est publié par sophiacave. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.