mcp-vanguard
A security pentesting MCP server with 89 tools across 10 categories, enabling comprehensive reconnaissance, web security, OSINT, and exploitation tasks. It features a native Windows/WSL bridge for Kali Linux tools and scope-aware permission tiers for safe and efficient scanning.
README
mcp-vanguard
A security pentesting MCP Server with 89 tools across 10 categories for Claude integration. Features native Windows/WSL bridge for using Kali Linux tools from any terminal — zero new npm dependencies.
Features
- 89 Security Tools across 10 categories: recon, web, OSINT, network, exploit, crypto, cloud, container, analysis, and utilities
- Registry Architecture: Auto-discoverable tools with self-describing schemas, permissions, and execution modes
- WSL Bridge: Transparently execute Kali Linux tools (nmap, john, enum4linux, etc.) from Windows
- Hybrid Execution: Native Node.js, external APIs, WSL subprocesses, or automatic fallback
- Scope Management: Prevent scanning outside authorized targets
- Permission Tiers: SAFE (passive) / DANGEROUS (active, scope required) / BLOCKED (unknown)
- Report Generation: Markdown and JSON reports, diff comparisons, risk scoring
- Attack Chain Detection: Correlate findings across tools to identify multi-step attack paths
- Security Hardening: Input sanitization, command allowlists, audit logging, safe error handling
- Caching & Rate Limiting: Built-in controls for efficient and safe scanning
Quick Start
git clone https://github.com/skyvanguard/mcp-vanguard.git
cd mcp-vanguard
npm install
npm run build
npm test
Configuration
Add to your Claude MCP configuration:
Claude Desktop (~/.claude/claude_desktop_config.json):
{
"mcpServers": {
"vanguard": {
"command": "node",
"args": ["/path/to/mcp-vanguard/dist/index.js"]
}
}
}
Claude Code (.mcp.json in project root):
{
"mcpServers": {
"vanguard": {
"command": "node",
"args": ["C:/path/to/mcp-vanguard/dist/index.js"]
}
}
}
Tools (89 total)
Reconnaissance (4 tools)
| Tool | Description | Permission |
|---|---|---|
vanguard_subdomain_enum |
Enumerate subdomains via crt.sh and DNS bruteforce | DANGEROUS |
vanguard_port_scan |
Port scanning with nmap or TCP connect fallback | DANGEROUS |
vanguard_whois |
WHOIS lookup for domains and IPs | SAFE |
vanguard_dns_records |
Query DNS records (A, AAAA, MX, NS, TXT, etc.) | SAFE |
Web Security (10 tools)
| Tool | Description | Permission |
|---|---|---|
vanguard_ffuf |
Web fuzzing with ffuf (FUZZ keyword) | DANGEROUS |
vanguard_nuclei_scan |
Vulnerability scanning with nuclei templates | DANGEROUS |
vanguard_param_miner |
Discover hidden HTTP parameters | DANGEROUS |
vanguard_headers_check |
Analyze security headers (HSTS, CSP, X-Frame-Options) | SAFE |
vanguard_tech_detect |
Technology fingerprinting (CMS, frameworks, CDN) | SAFE |
vanguard_wayback |
Wayback Machine URL history | SAFE |
vanguard_ssl_check |
SSL/TLS certificate and configuration analysis | SAFE |
vanguard_cors_check |
CORS misconfiguration detection | SAFE |
vanguard_robots_sitemap |
Parse robots.txt and sitemap.xml | SAFE |
vanguard_js_endpoints |
Extract endpoints and secrets from JavaScript | SAFE |
Network & Infrastructure (15 tools)
| Tool | Description | Permission |
|---|---|---|
vanguard_traceroute |
Trace network path to target | DANGEROUS |
vanguard_ping_sweep |
Discover live hosts in a network range | DANGEROUS |
vanguard_service_detect |
Detect services/versions with nmap -sV | DANGEROUS |
vanguard_os_detect |
OS fingerprinting with nmap | DANGEROUS |
vanguard_banner_grab |
Grab service banners via TCP | DANGEROUS |
vanguard_snmp_enum |
Enumerate SNMP data (WSL) | DANGEROUS |
vanguard_smb_enum |
Enumerate SMB shares and users (WSL) | DANGEROUS |
vanguard_ldap_enum |
Enumerate LDAP directory (WSL) | DANGEROUS |
vanguard_dns_zone_transfer |
Attempt DNS zone transfer (AXFR) | DANGEROUS |
vanguard_arp_scan |
ARP discovery on local network (WSL) | DANGEROUS |
vanguard_ftp_check |
Check FTP for anonymous access | SAFE |
vanguard_ssh_audit |
Audit SSH algorithms and configuration | SAFE |
vanguard_reverse_dns |
Reverse DNS (PTR) lookup | SAFE |
vanguard_network_cidr |
CIDR calculator and subnet operations | SAFE |
vanguard_http_methods |
Test allowed HTTP methods on a URL | SAFE |
OSINT (15 tools)
| Tool | Description | Permission |
|---|---|---|
vanguard_github_dorks |
Generate GitHub dork queries for sensitive data | DANGEROUS |
vanguard_cert_search |
Certificate transparency log search | SAFE |
vanguard_cve_lookup |
CVE database search (NVD) | SAFE |
vanguard_email_hunter |
Find email addresses for a domain | SAFE |
vanguard_social_media |
Check username across social platforms | SAFE |
vanguard_domain_reputation |
Domain/IP reputation check | SAFE |
vanguard_ip_geolocation |
IP geolocation (country, city, ISP, ASN) | SAFE |
vanguard_asn_lookup |
ASN lookup by number, IP, or organization | SAFE |
vanguard_google_dorks |
Generate Google dork queries for a target | SAFE |
vanguard_shodan_search |
Search Shodan for exposed services (API key required) | SAFE |
vanguard_breach_check |
Check email/domain in known data breaches | SAFE |
vanguard_metadata_extract |
Extract metadata from web pages | SAFE |
vanguard_dns_history |
Historical DNS record lookup | SAFE |
vanguard_favicon_hash |
Favicon hash for Shodan fingerprinting | SAFE |
vanguard_web_archive_diff |
Wayback Machine snapshot analysis | SAFE |
Exploitation (10 tools)
| Tool | Description | Permission |
|---|---|---|
vanguard_exploit_search |
Search exploits by product/CVE (searchsploit + APIs) | DANGEROUS |
vanguard_reverse_shell_gen |
Generate reverse shell payloads (bash, python, php, etc.) | DANGEROUS |
vanguard_sqli_test |
SQL injection testing (error, boolean, time, union) | DANGEROUS |
vanguard_xss_test |
Reflected XSS testing with multiple payloads | DANGEROUS |
vanguard_ssrf_test |
SSRF testing (localhost, cloud metadata, file://) | DANGEROUS |
vanguard_lfi_test |
Local File Inclusion (path traversal, PHP wrappers) | DANGEROUS |
vanguard_command_inject_test |
OS command injection testing | DANGEROUS |
vanguard_open_redirect_test |
Open redirect with bypass techniques | DANGEROUS |
vanguard_crlf_inject_test |
CRLF / HTTP header injection testing | DANGEROUS |
vanguard_deserialization_check |
Insecure deserialization detection (Java, PHP, .NET, Python) | DANGEROUS |
Password & Crypto (8 tools)
| Tool | Description | Permission |
|---|---|---|
vanguard_hash_crack |
Crack hashes with John the Ripper (WSL) | DANGEROUS |
vanguard_jwt_attack |
JWT vulnerabilities: none alg, weak secrets, alg confusion | DANGEROUS |
vanguard_password_gen |
Secure random passwords or CeWL-based wordlists | DANGEROUS |
vanguard_hash_identify |
Identify hash type (MD5, SHA, bcrypt, NTLM, etc.) | SAFE |
vanguard_password_policy |
Password strength analysis with entropy and crack time | SAFE |
vanguard_jwt_decode |
Decode JWT tokens with security checks | SAFE |
vanguard_crypto_audit |
HTTPS/TLS security headers and cookie audit | SAFE |
vanguard_base_decode |
Multi-format encode/decode (Base64, hex, URL, HTML, Unicode) | SAFE |
Cloud Security (8 tools)
| Tool | Description | Permission |
|---|---|---|
vanguard_cloud_metadata |
SSRF test for cloud metadata endpoints (AWS, GCP, Azure) | DANGEROUS |
vanguard_subdomain_takeover |
Dangling CNAME subdomain takeover detection | DANGEROUS |
vanguard_exposed_env_check |
Check for exposed .env, .git, config files | DANGEROUS |
vanguard_s3_bucket_check |
AWS S3 bucket public access check | SAFE |
vanguard_azure_blob_check |
Azure Blob Storage access check | SAFE |
vanguard_gcp_bucket_check |
Google Cloud Storage access check | SAFE |
vanguard_firebase_check |
Firebase project exposure check | SAFE |
vanguard_cloud_enum |
Enumerate cloud resources by keyword permutations | SAFE |
Container Security (5 tools)
| Tool | Description | Permission |
|---|---|---|
vanguard_docker_socket |
Check for exposed Docker daemon (TCP 2375/2376) | DANGEROUS |
vanguard_k8s_api |
Kubernetes API/Kubelet unauthenticated access check | DANGEROUS |
vanguard_container_escape |
Container escape vector detection (socket, caps, mounts) | DANGEROUS |
vanguard_registry_enum |
Docker Registry v2 repository/tag enumeration | DANGEROUS |
vanguard_helm_audit |
Helm chart security audit (privileged, capabilities, secrets) | SAFE |
Analysis & Reporting (9 tools)
| Tool | Description | Permission |
|---|---|---|
vanguard_vuln_correlate |
Cross-tool finding correlation and attack chain detection | SAFE |
vanguard_attack_surface |
Attack surface mapping from ports, techs, and subdomains | SAFE |
vanguard_risk_score |
Risk scoring with context multipliers | SAFE |
vanguard_remediation_plan |
Prioritized remediation plan generation | SAFE |
vanguard_encoding_detect |
Multi-layer encoding detection and decoding | SAFE |
vanguard_diff_report |
Before/after scan comparison (new, fixed, upgraded) | SAFE |
vanguard_timeline |
Pentest event timeline with phase analysis | SAFE |
vanguard_scope_manager |
Target scope management (set, add, remove, check) | SAFE |
vanguard_report_gen |
Security assessment reports in Markdown or JSON | SAFE |
Utilities (5 tools)
| Tool | Description | Permission |
|---|---|---|
vanguard_set_scope |
Define authorized target scope | SAFE |
vanguard_check_scope |
Verify if target is in scope | SAFE |
vanguard_generate_report |
Generate markdown security report | SAFE |
vanguard_export_html |
Convert report to styled HTML | SAFE |
vanguard_audit_stats |
View audit log and security events | SAFE |
Summary
| Category | Tools | SAFE | DANGEROUS |
|---|---|---|---|
| Reconnaissance | 4 | 2 | 2 |
| Web Security | 10 | 7 | 3 |
| Network | 15 | 5 | 10 |
| OSINT | 15 | 14 | 1 |
| Exploitation | 10 | 0 | 10 |
| Crypto | 8 | 5 | 3 |
| Cloud | 8 | 5 | 3 |
| Container | 5 | 1 | 4 |
| Analysis | 9 | 9 | 0 |
| Utilities | 5 | 5 | 0 |
| Total | 89 | 53 | 36 |
Permission Tiers
| Tier | Description | Example |
|---|---|---|
| SAFE | Passive operations, no direct target interaction | DNS lookups, hash identification, report generation |
| DANGEROUS | Active scanning, requires target authorization | Port scans, injection testing, fuzzing |
| BLOCKED | Unregistered/unknown tools (rejected automatically) | — |
Usage Examples
1. Set Scope
vanguard_set_scope with targets: ["example.com", "*.example.com"]
2. Passive Reconnaissance
vanguard_dns_records for example.com
vanguard_cert_search for example.com
vanguard_wayback for example.com
vanguard_ssl_check for example.com
vanguard_tech_detect for https://example.com
vanguard_asn_lookup for example.com
vanguard_favicon_hash for https://example.com
3. Security Analysis
vanguard_headers_check for https://example.com
vanguard_cors_check for https://api.example.com
vanguard_js_endpoints for https://example.com with deep: true
vanguard_cve_lookup for "nginx 1.20"
vanguard_crypto_audit for https://example.com
4. Active Scanning (requires authorization)
vanguard_subdomain_enum for example.com
vanguard_port_scan for example.com ports 1-1000
vanguard_service_detect for example.com ports [80, 443, 8080]
vanguard_nuclei_scan for https://example.com with severity ["high","critical"]
vanguard_sqli_test for https://example.com/search?q=test
vanguard_xss_test for https://example.com/search?q=test
5. Cloud & Container Checks
vanguard_s3_bucket_check for "company-backup"
vanguard_firebase_check for "my-project"
vanguard_subdomain_takeover for ["app.example.com", "api.example.com"]
vanguard_docker_socket for 10.0.0.5
vanguard_k8s_api for https://10.0.0.5:6443
6. Analysis & Reporting
vanguard_vuln_correlate with findings from multiple scans
vanguard_risk_score with context (public, auth, sensitive data)
vanguard_remediation_plan from findings
vanguard_diff_report comparing before/after scans
vanguard_report_gen with title "Security Assessment" and findings
Development
npm install # Install dependencies
npm run build # Build TypeScript
npm run dev # Watch mode
npm test # Run 178 tests
npm run test:coverage # Coverage report
npm run format # Format code
Security Features
Input Sanitization
- Shell metacharacter filtering
- Path traversal prevention
- URL validation (no credentials, no private IPs)
- Domain/IP format validation
Command Execution Safety
- Command Allowlist: Only permitted commands can execute via WSL or Windows
- Argument Escaping: All arguments are properly escaped for shell execution
- Timeout Protection: Configurable timeouts per command
Audit Logging
- All tool calls are logged with timestamps and duration
- Security events (blocked commands, scope violations) are tracked
- Rate limit violations are recorded
- View logs via
vanguard_audit_stats
Safe Error Handling
- Error messages are sanitized to prevent info leakage
- Paths, IPs, and sensitive data are masked in error output
- Stack traces are removed from user-facing errors
Architecture
mcp-vanguard/
├── src/
│ ├── index.ts # Entry point
│ ├── server.ts # MCP server + tool registration
│ ├── registry.ts # ToolRegistry (auto-discover, permissions)
│ ├── config.ts # Configuration + scope management
│ ├── types/
│ │ └── tool.ts # ToolDefinition interface
│ ├── executor/
│ │ ├── windows.ts # Windows executor (with allowlist)
│ │ └── wsl.ts # WSL bridge (with allowlist)
│ ├── tools/
│ │ ├── recon/ # 4 reconnaissance tools
│ │ ├── web/ # 10 web security tools
│ │ ├── network/ # 15 network/infrastructure tools
│ │ ├── osint/ # 15 OSINT tools
│ │ ├── exploit/ # 10 exploitation tools
│ │ ├── crypto/ # 8 password & crypto tools
│ │ ├── cloud/ # 8 cloud security tools
│ │ ├── container/ # 5 container security tools
│ │ ├── analysis/ # 9 analysis & reporting tools
│ │ └── utils/ # 5 utility tools
│ └── utils/
│ ├── cache.ts # Response caching
│ ├── rate-limiter.ts # Rate limiting
│ ├── sanitizer.ts # Input sanitization
│ ├── audit.ts # Audit logging
│ ├── safe-error.ts # Safe error handling
│ └── zod-to-json.ts # Zod schema → JSON Schema
├── tests/ # 178 Vitest tests
├── dist/ # Compiled output
└── package.json
Requirements
| Requirement | Version |
|---|---|
| Node.js | 18+ |
| TypeScript | 5.0+ (dev) |
Optional (for active scanning via WSL):
- nmap, ffuf, nuclei, dig, john, enum4linux, smbclient, ldapsearch, ssh-audit, arp-scan, snmpwalk, cewl, searchsploit
Legal Disclaimer
WARNING: Unauthorized access to computer systems is illegal. This tool is for authorized security testing only. Always obtain proper written authorization before scanning any target. The authors accept no liability for misuse.
License
MIT License — see LICENSE for details.
Author
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。