Model Context Provider (MCP) for Penetration Testing
An MCP server for pentesting. Contributors wanted!
allsmog
README
Model Context Provider (MCP) for Penetration Testing
<div align="center"> <img src="docs/images/mcp-logo.png" alt="MCP Logo" width="300" /> <br> <em>An AI-driven assistant and middleware for penetration testing engagements</em> <br><br>
⚠️ Work In Progress - Contributors Wanted!
MCP is currently under active development and in alpha stage. We're looking for contributors to help build out this exciting project! Whether you're interested in:
- Implementing new tool integrations
- Improving the AI assistant's capabilities
- Enhancing the UI/UX
- Writing documentation
- Testing the system
Your contributions are welcome! 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
Web Enumeration
Exploitation & Post-Exploitation
- Metasploit Framework: Exploitation framework
Password Attacks
- Hydra: Network login brute-force tool
- John the Ripper: Offline password cracker
Privilege Escalation
- LinPEAS: Linux Privilege Escalation enumeration script
🚀 Getting Started
Prerequisites
- Docker and Docker Compose
- Python 3.8+
- Network connectivity to target environments
- Proper authorizations and scope definitions for penetration testing
Installation
- Clone this repository:
git clone https://github.com/allsmog/mcp-pentest.git
cd mcp-pentest
- Build the Docker containers:
docker-compose build
- Start the MCP services:
docker-compose up -d
Basic Usage
- Create a new penetration testing engagement:
curl -X POST http://localhost:8000/api/engagements -H "Content-Type: application/json" -d '{"name": "Example Corp Assessment", "scope": {"ip_ranges": ["192.168.1.0/24"], "domains": ["example.com"]}}'
- Start a reconnaissance scan:
curl -X POST http://localhost:8000/api/tasks -H "Content-Type: application/json" -d '{"engagement_id": "YOUR_ENGAGEMENT_ID", "tool": "theHarvester", "parameters": {"target": "example.com"}}'
- Query the AI assistant:
curl -X POST http://localhost:8000/api/query -H "Content-Type: application/json" -d '{"engagement_id": "YOUR_ENGAGEMENT_ID", "query": "What are the most promising attack vectors based on our current findings?"}'
See our documentation for complete API references and examples.
📋 Project Roadmap
Here's what we're currently working on:
- [ ] Completing core Context Engine implementation
- [ ] Finishing initial tool integrations
- [ ] Building the AI-powered attack path analyzer
- [ ] Developing the web UI
- [ ] Creating comprehensive test suite
- [ ] Adding additional tool integrations
- [ ] Implementing report generation
We welcome contributions to any of these areas!
🤝 Contributing
Contributions are welcome and appreciated! Please see CONTRIBUTING.md for guidelines.
How You Can Help
We're particularly looking for help with:
- Tool Integrations: Adding support for more security tools
- Testing: Real-world testing and bug reporting
- Documentation: Improving and expanding guides
- UI Development: Building the web interface
- AI Components: Enhancing LLM integration and attack path analysis
Adding New Tool Integrations
We especially welcome contributions for new tool integrations. See our Tool Integration Guide for how to add support for additional tools.
💬 Community
- Issues: Use GitHub issues for bug reports and feature requests
- Discussions: GitHub discussions for general questions and ideas
📜 License
This project is licensed under the MIT License - see the LICENSE file for details.
🔐 Security Considerations
Given the nature of this tool, please be especially mindful of security:
- Never commit credentials, API keys, or sensitive information
- Always follow responsible disclosure practices
- Ensure proper authorization before testing any systems
📚 Documentation
🙏 Acknowledgments
- Thanks to all the open-source penetration testing tools this project builds upon
- Special recognition to the security researchers and tool developers who inspire this work
Recommended Servers
Crypto Price & Market Analysis MCP Server
A Model Context Protocol (MCP) server that provides comprehensive cryptocurrency analysis using the CoinCap API. This server offers real-time price data, market analysis, and historical trends through an easy-to-use interface.
MCP PubMed Search
Server to search PubMed (PubMed is a free, online database that allows users to search for biomedical and life sciences literature). I have created on a day MCP came out but was on vacation, I saw someone post similar server in your DB, but figured to post mine.
dbt Semantic Layer MCP Server
A server that enables querying the dbt Semantic Layer through natural language conversations with Claude Desktop and other AI assistants, allowing users to discover metrics, create queries, analyze data, and visualize results.
mixpanel
Connect to your Mixpanel data. Query events, retention, and funnel data from Mixpanel analytics.

Sequential Thinking MCP Server
This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Nefino MCP Server
Provides large language models with access to news and information about renewable energy projects in Germany, allowing filtering by location, topic (solar, wind, hydrogen), and date range.
Vectorize
Vectorize MCP server for advanced retrieval, Private Deep Research, Anything-to-Markdown file extraction and text chunking.
Mathematica Documentation MCP server
A server that provides access to Mathematica documentation through FastMCP, enabling users to retrieve function documentation and list package symbols from Wolfram Mathematica.
kb-mcp-server
An MCP server aimed to be portable, local, easy and convenient to support semantic/graph based retrieval of txtai "all in one" embeddings database. Any txtai embeddings db in tar.gz form can be loaded
Research MCP Server
The server functions as an MCP server to interact with Notion for retrieving and creating survey data, integrating with the Claude Desktop Client for conducting and reviewing surveys.