Scan your Claude, Cursor, and VS Code MCP configs for hardcoded secrets, excessive permissions, and supply chain risks.
Drop your claude_desktop_config.json, .mcp.json, or any MCP config
8 checks scan for secrets, permissions, transport, and supply chain risks
Severity-rated findings with OWASP mapping and fix instructions
Each check maps to a category in the OWASP MCP Top 10, the industry standard for MCP security risks.
Scan configs programmatically. No auth required.
curl -X POST https://api.mcprotect.dev/api/scan \
-H "Content-Type: application/json" \
-d '{
"config_files": [{
"path": ".mcp.json",
"content": "{\"mcpServers\": ...}"
}]
}' {
"scan_id": "scan_abc123",
"status": "complete",
"summary": {
"servers_scanned": 2,
"findings_total": 4,
"findings_critical": 1,
"findings_high": 1,
"risk_score": 25
},
"findings": [
{
"check_id": "CE-001",
"severity": "critical",
"title": "hardcoded secret in MCP config",
"server_name": "github",
"remediation": "remove the hardcoded secret...",
"owasp_category": "M4 - Credential Exposure"
}
]
} claude_desktop_config.json (Claude Desktop).mcp.json (Claude Code)cline_mcp_settings.json (Cline / VS Code).cursor/mcp.json (Cursor).vscode/settings.json (VS Code / Copilot)mcp.config.json / mcp.config.tsScan locally without sending data anywhere.
# install (coming soon to npm) bun add -g @mcprotect/scanner # scan a config file mcprotect scan claude_desktop_config.json # scan with manifest fetching from npm mcprotect scan .mcp.json --fetch-manifests # json output for CI mcprotect scan .mcp.json --json
Scan MCP configs on every pull request.
# .github/workflows/mcprotect.yml
name: MCP Security Scan
on: [pull_request]
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: mcprotect/scan-action@v1 # coming soon