Model Context Provider (MCP) for Penetration Testing
About
MCP server for authorized pentest workflows: Nmap/Gobuster orchestration, context aggregation, AI-assisted triage, and reporting.
Details
- Author
- allsmog
- GitHub stars
- 22
- Downloads
- 401
- Categories
- Other
Jump to
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Model Context Provider (MCP) for Penetration TestingCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install by cloning the repository, running pip install -e . and pip install mcp, then executing python server.py to start the stdio MCP server. For use with Claude Desktop, add the server to `claude_desktop
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"model context provider (mcp) for penetration testing": {
"mcp-pentest": {
"command": "python",
"args": [
"server.py"
]
}
}
}
}
McpServers
{
"mcp-pentest": {
"command": "python",
"args": [
"server.py"
]
}
}
mcp-pentest
Authorized penetration-testing MCP server for AI-assisted security operators.
It orchestrates common assessment tools, normalizes engagement context, and
keeps the human pentester in control of scope, methodology, and reporting.

<div align="center">

<br>
<em>An AI-driven assistant and middleware for penetration testing engagements</em>
<br><br>
</div>
At a glance
| Area | What mcp-pentest provides |
| --- | --- |
| MCP surface | Local stdio server that exposes pentest tools to compatible AI clients |
| Tooling | Nmap, Gobuster, and extensible integrations for authorized assessments |
| Workflow | Reconnaissance, scanning, exploitation support, post-exploitation notes, and reporting |
| Output | Normalized scan events, engagement context, findings, and report-ready notes |
| Safety | Built for legal testing with explicit authorization and human operator control |
Status
mcp-pentest is in alpha and under active development. Contributors are welcome
for new tool integrations, UI/UX, documentation, testing, and reporting
workflows. See CONTRIBUTING.md for how to get started.
π Overview
The Model Context Provider (MCP) is an open-source framework that bridges AI with penetration testing tools. MCP interfaces with a wide array of pentesting tools, parses and enriches their output in real-time, and strictly follows the standard penetration testing process. It guides human pentesters through each phase β from reconnaissance and scanning to exploitation, post-exploitation, and reporting β aligning with established methodologies.
> β οΈ Disclaimer: This tool is intended for legal security testing with proper authorization. Misuse of this software for unauthorized access to systems is illegal and unethical.
β¨ Key Features
- Methodology Enforcement: Ensures each engagement progresses through proper phases (reconnaissance β scanning β exploitation β post-exploitation β reporting) in order.
- Real-time Context Aggregation: Captures tool outputs, normalizes the data into a unified engagement context, and stores it for analysis.
- LLM-Powered Insights: Leverages a large language model to interpret findings and provide guidance during the engagement.
- Seamless Tool Integration: Acts as a middleware layer that hooks into major pentest tools, converting their results into a common event format.
- Secure Data Handling: Enforces strict security on processed data, including sanitization when interacting with the LLM.
- Reporting and Knowledge Retention: Logs all findings and actions in a structured format for report generation.
ποΈ Architecture
MCP is built on a microservices-based, event-driven system deployed in a containerized environment:
- Core Context Processing Engine: Central brain that aggregates and normalizes data from all tools
- AI-Powered Attack Path Analyzer: Identifies potential attack paths and prioritizes targets
- Plugin-Based Integration Framework: Extensible system for interfacing with external tools
- Secure Logging & Reporting Module: Maintains engagement logs and produces reports
- Real-Time LLM Query Interface: Provides natural language interface for querying findings
- Role-Based Access Control: Enforces security across all operations
π§° Integrated Tools
MCP currently integrates with the following tools:
Network Scanning & Enumeration
- Nmap: Network discovery and security auditing - Masscan: High-speed port scannerWeb Enumeration
- Gobuster: Directory and file brute forcing - Nikto: Web server scanner for vulnerabilitiesExploitation & Post-Exploitation
- Metasploit Framework: Exploitation frameworkPassword Attacks
- Hydra: Network login brute-force tool - John the Ripper: Offline password crackerPrivilege Escalation
- LinPEAS: Linux Privilege Escalation enumeration scriptπ Getting Started
Prerequisites
- Python 3.8+
- Nmap (for network scanning)
- Gobuster (for web enumeration)
- Proper authorizations and scope definitions for penetration testing
Installation
1. Clone this repository:
git clone https://github.com/allsmog/mcp-pentest.git
cd mcp-pentest
2. Install the MCP server:
pip install -e .
3. Install required dependencies:
pip install mcp
Testing with Claude Desktop
1. Add this MCP server to your Claude Desktop configuration. Edit your claude_desktop_config.json:
{
"mcpServers": {
"mcp-pentest": {
"command": "python",
"args": ["/path/to/mcp-pentest/server.py"],
"env": {}
}
}
}
2. Restart Claude Desktop
3. You should now see the penetration testing tools available in Claude Desktop. Try commands like:
- "Run an nmap scan on 127.0.0.1"
- "Perform a gobuster directory scan on https://httpbin.org"
- "Show me the latest scan events"
Manual Testing
You can also test the server directly:
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




