MCPwner
Automated Security Vulnerabilities Pentesting
MCPwner
Beware of the Badger
Model Context Protocol server for security research automation
Compatible with:
Overview
MCPwner is a Model Context Protocol (MCP) server that integrates security testing tools into LLM-driven workflows. It provides a unified interface for secret scanning, static analysis (SAST), software composition analysis (SCA), and vulnerability research including 0-day discovery.
Instead of manually chaining tools and pasting outputs into your LLM, MCPwner standardizes and streams results directly into the model's working context. This enables continuous reasoning, correlation, and attack path discovery across the entire security research lifecycle - from identifying known vulnerabilities to uncovering novel attack vectors.
Note: This project is under active development. Learn more about MCPs here.
Key Features
- 🔧 Unified Interface: Single MCP server integrating multiple security tools (SAST, SCA, secrets detection)
- 🤖 LLM Integration: Structured output formats (SARIF/JSON) for direct consumption by AI assistants
- 🔍 Continuous Analysis: Correlate findings across multiple tools to identify attack paths and 0-day vulnerabilities
- 🏗️ Multi-Agent Architecture: Designed for specialized agents collaborating across security phases
- 🐳 Containerized Execution: Isolated tool environments for reproducible scans
- 💾 Automatic Persistence: Workspace and database metadata survives container restarts
- 🔌 Extensible: Plugin architecture for adding new security tools
Integrated Tools
Static Application Security Testing (SAST) Scanning Tools
![]() | ![]() | ![]() | ![]() | ![]() |
|---|---|---|---|---|
| CodeQL | Psalm | Gosec | Bandit | Semgrep |
![]() | ![]() |
|---|---|
| Brakeman | PMD |
Secrets Scanning Tools
![]() | ![]() | ![]() | ![]() | ![]() |
|---|---|---|---|---|
| Gitleaks | TruffleHog | detect-secrets | Whispers | Hawk-Eye |
Software Composition Analysis (SCA) Tools
![]() ![]() | ![]() | ![]() |
|---|---|---|
| Grype & Syft | OSV-Scanner | Retire.js |
Future Tools
The following tools are planned for future releases:
Reconnaissance
- Amass, Subfinder, httpx, Katana, gau, Nmap, Arjun, FFUF, Akto
Dynamic Application Security Testing (DAST)
- OWASP ZAP, Wapiti, Nikto, SQLmap, SSRFmap, SSTImap, Nuclei, Dalfox, XSStrike, jwt_tool, Interactsh, Frida
Infrastructure & IaC Security
- Prowler, Checkov, KICS, Terrascan, TFSec, Hadolint
Exploitation & PoC Development
- Metasploit, Interactsh
Usage Examples
Scan a GitHub Repository for Secrets
"Scan https://github.com/example/repo for secrets"
→ MCPwner runs Gitleaks, TruffleHog, detect-secrets and correlates findings
Security Audit
"Run a security audit on my Python project"
→ MCPwner runs Bandit (SAST), OSV-Scanner (SCA), and secrets scanning
Attack Path Analysis
"Find vulnerabilities in the authentication module"
→ MCPwner runs CodeQL queries, cross-references with secrets and SCA results
Installation
Prerequisites
System Requirements:
- Docker Engine 20.10+ and Docker Compose 2.0+
- 8GB RAM minimum (16GB recommended for running multiple tools)
- 20GB free disk space (security tool images are large)
- Supported platforms: Linux, macOS, Windows (with WSL2)
MCP Client:
- Claude Desktop, Cursor, Kiro, or any MCP-compatible client
Setup
-
Clone the repository:
git clone https://github.com/yourusername/mcpwner.git cd mcpwner -
Configure the server:
cp config/config.yaml.example config/config.yaml # Edit config/config.yaml as needed -
Start the services:
docker-compose up -d --build -
Verify services are running:
docker-compose ps
Connect Your IDE
Once Docker containers are running, add MCPwner to your MCP client:
Configuration File Locations:
- Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) - Cursor/Kiro:
mcp.jsonin your project or settings directory
One-Click Install (requires Docker running):
Manual Configuration:
Add the following to your MCP configuration file:
{
"mcpServers": {
"mcpwner": {
"command": "docker",
"args": ["exec", "-i", "mcpwner-server", "python", "src/server.py"],
"env": {}
}
}
}
Restart your MCP client to load the new server configuration.
Scanning Local Projects
To scan projects from your host machine, mount them into the container by adding a volume in docker-compose.yaml:
services:
mcpwner:
volumes:
- /path/to/your/projects:/mnt/projects:ro
Then use the create_workspace tool with:
source_type="local"source="/mnt/projects/my-project"
Data Persistence
MCPwner automatically persists workspace and CodeQL database metadata across container restarts using file-based storage in the shared Docker volume (/workspaces/.metadata/). No configuration required - the system loads existing data on startup and saves after every operation using atomic writes to prevent corruption.
Workspace Cleanup Control:
The cleanup_workspace tool provides granular control:
delete_files=True, delete_metadata=False- Free disk space but preserve workspace history (recommended)delete_files=True, delete_metadata=True- Complete removal of workspace and metadatadelete_files=False, delete_metadata=True- Remove from list but keep files on disk
Backup:
# Backup entire workspaces volume
docker run --rm -v mcpwner_workspaces:/data -v $(pwd):/backup \
alpine tar czf /backup/workspaces-backup.tar.gz /data
# Restore volume
docker run --rm -v mcpwner_workspaces:/data -v $(pwd):/backup \
alpine tar xzf /backup/workspaces-backup.tar.gz -C /
Architecture
MCPwner uses HTTP-based communication between containers to support future remote deployments. While currently optimized for local usage, the architecture can be adapted for remote server deployments with minimal modifications.
Design Principles:
- Container isolation for security tool execution
- Standardized output formats for LLM consumption (SARIF/JSON)
- Extensible plugin architecture for new tools
- Stateless API (memories are managed by user)
Architecture Overview:
graph LR
subgraph IDE[" "]
LLM[🤖<br/>LLM]
Client[MCP Client]
LLM -.-> Client
end
Server[MCPwner Server]
SAST[SAST Tools]
Secrets[Secrets Scanning]
SCA[SCA Tools]
DAST[DAST Tools]
Recon[Reconnaissance]
IaC[IaC Security]
Exploit[Exploitation]
CodeQL[CodeQL Service]
Linguist[Language Detection]
Client -->|JSON-RPC 2.0| Server
Server -->|HTTP| SAST
Server -->|HTTP| Secrets
Server -->|HTTP| SCA
Server -->|HTTP| DAST
Server -->|HTTP| Recon
Server -->|HTTP| IaC
Server -->|HTTP| Exploit
Server -->|HTTP| CodeQL
Server -->|HTTP| Linguist
style LLM fill:#7C3AED,stroke:#5B21B6,stroke-width:3px,color:#fff
style Client fill:#4A90E2,stroke:#2E5C8A,stroke-width:3px,color:#fff
style Server fill:#F5A623,stroke:#C17D11,stroke-width:3px,color:#fff
style SAST fill:#E74C3C,stroke:#C0392B,stroke-width:2px,color:#fff
style Secrets fill:#9B59B6,stroke:#7D3C98,stroke-width:2px,color:#fff
style SCA fill:#1ABC9C,stroke:#16A085,stroke-width:2px,color:#fff
style DAST fill:#E91E63,stroke:#C2185B,stroke-width:2px,color:#fff
style Recon fill:#00BCD4,stroke:#0097A7,stroke-width:2px,color:#fff
style IaC fill:#8BC34A,stroke:#689F38,stroke-width:2px,color:#fff
style Exploit fill:#FF5722,stroke:#E64A19,stroke-width:2px,color:#fff
style CodeQL fill:#E67E22,stroke:#CA6F1E,stroke-width:2px,color:#fff
style Linguist fill:#3498DB,stroke:#2874A6,stroke-width:2px,color:#fff
style IDE fill:none,stroke:#ddd,stroke-width:2px,stroke-dasharray: 5 5
Workflows
Data Flow - Analysis Results:
sequenceDiagram
participant LLM as 🤖 LLM
participant MCP as MCP Client
participant Server as MCPwner Server
participant Tools as Security Tools
LLM->>MCP: Request security scan
MCP->>Server: Execute scan command
Server->>Tools: Run analysis
Tools-->>Server: Raw results
Server-->>MCP: SARIF/JSON reports
MCP-->>LLM: Structured findings
Note over LLM: Correlate vulnerabilities<br/>Generate insights<br/>Suggest remediation
Available MCP Tools
MCPwner exposes the following tools through the MCP interface:
Workspace Management:
create_workspace- Initialize scanning workspace from local path, Git URL, or GitHub repolist_workspaces- List all available workspacescleanup_workspace- Remove workspace and associated data
SAST (Static Analysis):
sast_scan- Run static analysis tools (CodeQL, Semgrep, Bandit, Gosec, etc.)sast_get_report- Retrieve SAST scan resultssast_list_tools- List available SAST tools
Secrets Detection:
secrets_scan- Run secrets scanning tools (Gitleaks, TruffleHog, etc.)secrets_get_report- Retrieve secrets scan resultssecrets_list_tools- List available secrets scanning tools
SCA (Software Composition Analysis):
sca_scan- Analyze dependencies for vulnerabilities (Grype, OSV-Scanner, etc.)sca_get_report- Retrieve SCA scan resultssca_list_tools- List available SCA tools
CodeQL Specific:
codeql_detect_languages- Detect languages in codebasecodeql_create_database- Create CodeQL database for analysiscodeql_list_databases- List available CodeQL databasescodeql_list_query_packs- List available query packscodeql_execute_query- Run specific CodeQL queries
Health & Monitoring:
health_check- Check server and tool availabilitylist_tools- List all available tools and their status
Contributing
Contributions are welcome! Please review the contribution guidelines before submitting pull requests.
Priority Areas:
- Testing infrastructure (e2e and unit tests)
- Container lifecycle management and optimization
- Multi-stage Docker builds for reduced image sizes
- Enhanced error handling and timeout mechanisms
- Additional security tool integrations
Contribution Guidelines:
- Submit focused pull requests with manageable scope
- Include tests for new features
- Follow existing code style and patterns
- Update documentation as needed
See the Future Tools section for our development roadmap.
Security Considerations
MCPwner executes security tools that may perform intrusive operations. Only use on systems and codebases you own or have explicit permission to test - unauthorized access is illegal. Restrict MCP server access to authorized users and consider network isolation for production deployments. Review tool configurations before running scans as some tools can generate significant network traffic or system load. Log tool execution and results, keeping in mind that security scans can trigger alerts in monitoring systems. Follow responsible disclosure practices when reporting vulnerabilities discovered using MCPwner. Keep Docker images updated and scan containers for vulnerabilities regularly. Never commit API keys, tokens, or credentials to configuration files - use environment variables or secret management systems instead.
関連サーバー
Scout Monitoring MCP
スポンサーPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
スポンサーAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
BrainBox
Hebbian memory for AI agents — learns file access patterns, builds neural pathways, predicts next tools/files, saves tokens
Voiceflow MCP Client
A Node.js client that integrates with remote MCP servers to provide tools for Voiceflow Agents.
Apifox MCP Server
Provides API documentation from Apifox projects as a data source for AI programming tools that support MCP.
Android ADB Server
Control Android devices using the Android Debug Bridge (ADB).
Code Scanner Server
Scans code files for definitions, respects .gitignore, and outputs in LLM-friendly formats like XML or Markdown.
mcp4eda
A collection of MCP servers for Electronic Design Automation (EDA) workflows, including tools for die yield calculation and Verilog/SystemVerilog analysis.
ID Generator MCP
Generate unique IDs using various algorithms like UUID, CUID2, Nanoid, and ULID.
Sugar
Autonomous AI development system for Claude Code with task queue management and workflow automation.
MCP Image Generator
An MCP server for generating images using Together AI or Replicate models.
Context Portal MCP (ConPort)
A server for managing structured project context using SQLite, with support for vector embeddings for semantic search and Retrieval Augmented Generation (RAG).















