Sponsored by Deepsite.site

Model Context Provider (MCP) for Penetration Testing

Created By
allsmog9 months ago
An MCP server for pentesting. Contributors wanted!
Content

Model Context Provider (MCP) for Penetration Testing

MCP Logo
An AI-driven assistant and middleware for penetration testing engagements

License: MIT Python 3.8+ Docker Status: WIP

⚠️ 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

  • Nmap: Network discovery and security auditing
  • Masscan: High-speed port scanner

Web Enumeration

  • Gobuster: Directory and file brute forcing
  • Nikto: Web server scanner for vulnerabilities

Exploitation & Post-Exploitation

Password Attacks

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

  1. Clone this repository:
git clone https://github.com/allsmog/mcp-pentest.git
cd mcp-pentest
  1. Build the Docker containers:
docker-compose build
  1. Start the MCP services:
docker-compose up -d

Basic Usage

  1. 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"]}}'
  1. 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"}}'
  1. 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:

  1. Tool Integrations: Adding support for more security tools
  2. Testing: Real-world testing and bug reporting
  3. Documentation: Improving and expanding guides
  4. UI Development: Building the web interface
  5. 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
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
CursorThe AI Code Editor
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
WindsurfThe new purpose-built IDE to harness magic
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Amap Maps高德地图官方 MCP Server
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
DeepChatYour AI Partner on Desktop
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
Playwright McpPlaywright MCP server
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
ChatWiseThe second fastest AI chatbot™
Serper MCP ServerA Serper MCP Server
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
Tavily Mcp
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.