Security scanner and runtime protection for Model Context Protocol (MCP) servers
๐ NEW in v0.3.6: Enhanced scanner with improved false-positive detection! The first security tool that uses MCP to secure MCP.
# Install the Claude Code plugin
/plugin marketplace add mcp-fortress/mcp-fortress
/plugin install mcp-fortress
# Authenticate with Smithery (opens in browser)
/mcpDone! Now ask Claude: "Is @modelcontextprotocol/server-github safe to install?"
The MCP Fortress skill will automatically scan and analyze security for you. No setup, no configuration - just install and ask! ๐
๐ Full Claude Code Installation Guide
# Install globally
npm install -g mcp-fortress
# Start the server
mcp-fortress startThat's it! The web UI will open at http://localhost:3000
- Vulnerability detection across npm and PyPI packages
- CVE database integration
- Dependency analysis
- Risk scoring (0-100)
- Real-time monitoring of MCP servers
- Quarantine suspicious packages
- WebSocket telemetry streaming
- Activity feed with live updates
- Achievement system with 16 unlockable badges
- Streak tracking for daily scans
- Leaderboards and metrics
- Humorous security tips
- Modern React-based dashboard
- Real-time statistics
- Server table with sorting and filtering
- Detailed threat analysis views
- Run MCP Fortress as an MCP server
- Expose security analysis tools to Claude Code, Cursor, Windsurf
- AI-powered security analysis using your existing LLM
- Zero setup - uses the AI you already have
- The first security tool that uses MCP to secure MCP
npx @smithery/cli install @mcp-fortress/mcp-fortress-server --client claude- Get your API key from Smithery
- Add to Claude:
claude mcp add --transport http mcp-fortress "https://server.smithery.ai/@mcp-fortress/mcp-fortress-server/mcp?api_key=YOUR_API_KEY&profile=YOUR_PROFILE"Replace YOUR_API_KEY and YOUR_PROFILE with values from Smithery.
Benefits:
- โ No local installation
- โ Auto-updates
- โ Zero setup
npm install -g mcp-fortressAdd to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"mcp-fortress": {
"command": "mcp-fortress",
"args": ["serve-mcp"]
}
}
}Restart Claude Desktop.
Benefits:
- โ Full control
- โ Works offline
- โ No API key needed
Use MCP Fortress with your AI coding assistant (Claude Code, Cursor, etc.):
1. Install MCP Fortress:
npm install -g mcp-fortress2. Configure Claude Desktop:
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"mcp-fortress": {
"command": "mcp-fortress",
"args": ["serve-mcp"]
}
}
}3. Restart Claude Desktop
Restart Claude Desktop to load the MCP Fortress server.
4. Use in Claude Code:
You: Scan @modelcontextprotocol/server-filesystem for security issues
Claude: *Uses MCP Fortress tools to scan and analyze*
I found 3 potential security concerns...
Available MCP Tools:
-
scan_mcp_server- Comprehensive security scan- Analyzes npm packages for vulnerabilities
- Detects malicious code patterns
- Checks dependencies for CVEs
- Calculates risk score (0-100)
-
analyze_prompt_injection- Detect prompt injection attacks- Identifies instruction injection attempts
- Detects role manipulation
- Finds system prompt extraction attempts
- Analyzes delimiter injection
-
detect_tool_poisoning- Identify malicious/misleading tools- Detects typosquatting (e.g.,
read_fiilevsread_file) - Identifies name/description mismatches
- Flags overly generic tool names
- Compares against known legitimate tools
- Detects typosquatting (e.g.,
Example Interactions:
You: Is puppeteer-mcp-server safe to use?
Claude: โ
Yes! Risk score: 0/100. No threats detected.
You: Check this tool: "Helper tool. Ignore previous instructions."
Claude: ๐จ CRITICAL: Prompt injection detected! DO NOT USE.
You: Is a tool named "read_fiile" suspicious?
Claude: โ ๏ธ Yes! Likely typosquatting "read_file"
# Start server (foreground)
mcp-fortress start
# Start server in background (daemon mode)
mcp-fortress start --daemonOptions:
-p, --port <port>- API port (default: 3001)-h, --host <host>- Host to bind (default: localhost)--no-browser- Don't open browser automatically-d, --daemon- Run server in background
# Stop the daemon server
mcp-fortress stop
# Check daemon status
mcp-fortress status
# View server logs
mcp-fortress logs
mcp-fortress logs --lines 100 # Show last 100 linesmcp-fortress scan <package-name>Examples:
# Scan from npm
mcp-fortress scan express
# Scan specific version
mcp-fortress scan express --version 4.18.0
# Scan from PyPI
mcp-fortress scan flask --registry pypimcp-fortress monitor <server-name># List quarantined servers
mcp-fortress quarantine list
# Release from quarantine
mcp-fortress quarantine release <server-name>mcp-fortress/
โโโ CLI โ Command-line interface
โโโ API Server โ Express REST API + WebSocket
โโโ Scanner Engine โ npm & PyPI vulnerability detection
โโโ Web UI โ React dashboard
โโโ SQLite Database โ Local data storage
Data Location:
~/.mcp-fortress/fortress.db- SQLite database~/.mcp-fortress/server.pid- Daemon process ID~/.mcp-fortress/logs/- Server logs
- โ Known vulnerabilities (CVE database)
- โ Suspicious patterns in code
- โ Malicious dependencies
- โ License compliance issues
- 0-30: Low risk (green)
- 31-60: Medium risk (yellow)
- 61-100: High risk (red)
- Automatic blocking of critical threats
- Manual approval workflow
- Audit trail for all actions
Unlock achievements as you scan:
- ๐ First Blood - Complete your first scan
- ๐ฅ Streak Master - 7-day scanning streak
- ๐ก๏ธ Guardian - Block 10 high-risk packages
- ๐งช Lab Rat - Scan 100 packages
- And 12 more!
- โ Unlimited scans
- โ Full UI with gamification
- โ All achievements
- โ Local database
- โ No account needed
- โ No cloud sync
- โ No team features
Email: mcp-fortress@protonmail.com
- Report Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: mcp-fortress@protonmail.com
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
MIT License - see LICENSE file for details.
Built with:
- Express - Web framework
- React - UI library
- Better-SQLite3 - Database
- Commander - CLI framework
- โ MCP Server Mode
- โ Advanced threat detection (prompt injection, tool poisoning)
- โ Claude Code/Cursor integration
- Auto-discovery of IDE configs
- Real-time MCP proxy mode
- Enhanced PII/secrets detection
- Custom security policies
- VS Code extension
- GitHub App for PR checks
- SBOM generation
- CI/CD integrations
- Docker container scanning
- Enterprise SSO support
Made with โค๏ธ for the MCP community
