Pentester-MCP

Pentester-MCP

Enables AI assistants to autonomously execute over 200 open-source penetration testing tools via MCP, including reconnaissance, web exploitation, and brute-forcing, through a unified server architecture with Docker sandboxing for safe execution.

Category
Visit Server

README

<h1 align="center">Pentester-MCP</h1>

<p align="center"> <strong>Empower your AI assistants with the ultimate open-source penetration testing arsenal.</strong> </p>

<p align="center"> <img alt="Tools" src="https://img.shields.io/badge/Tools-235%2B-blue"> <img alt="Python" src="https://img.shields.io/badge/Python-3.10%2B-blue"> <img alt="FastMCP" src="https://img.shields.io/badge/Powered%20By-FastMCP-orange"> <img alt="Docker" src="https://img.shields.io/badge/Integration-Docker-cyan"> </p>


Overview

Pentester-MCP provides Model Context Protocol (MCP) integration for over 200+ of the most popular open-source cybersecurity and penetration testing tools.

By adding Pentester-MCP to an AI assistant (like Claude Desktop, Cursor, or specialized agents), the AI gains the autonomous ability to act as a penetration tester:

  • It can run nmap scans, analyze open ports, and automatically decide to run ffuf on discovered web servers.
  • It can execute sqlmap against parameters it identifies as vulnerable.
  • It understands tool arguments, required flags, and syntaxes thanks to AI-optimized documentation strings injected into every MCP tool.

All 235 Python *_mcp.py tools were generated intelligently from cheat sheets to ensure safe execution (e.g., preventing shell injection, enforcing timeouts, and handling huge terminal outputs).

The Arsenal

The tools/ directory includes MCP servers for almost every category:

  • Reconnaissance: nmap, masscan, recon-ng, amass, subfinder, nuclei
  • Web Exploitation: sqlmap, commix, ffuf, gobuster, dirsearch, nikto
  • Active Directory & Network: impacket (full suite), bloodhound, responder, evil-winrm
  • Brute-Forcing & Password: hydra, medusa, john, hashcat, nxc
  • And 200+ more covering WiFi, Cloud, Kubernetes, Android, and reversing.

Installation & Usage

Because of the massive amount of tools, installing everything on your host machine can be messy. Therefore, Pentester-MCP offers two primary ways to run: Local Execution and Docker Sandbox (Recommended).

Method A: Docker Sandbox (Recommended & Secure)

Running tools via Docker isolates the execution from your host operating system and avoids polluting your system with hundreds of dependencies.

  1. Clone the repository:

    git clone https://github.com/halilkirazkaya/pentester-mcp.git
    cd pentester-mcp
    
  2. Select your Tools (configs/*.yaml): Open your target configuration file in the configs/ directory (e.g., example-config.yaml) and set true for any tool you wish to enable. By default, the docker-compose.yml points to example-config.yaml.

  3. Build and Run the Sandbox:

    docker compose up -d --build
    

    Your container is now running silently in the background.

  4. Add to your AI Client: Open your MCP client's configuration (e.g., claude_desktop_config.json) and route the commands directly to the server.py entrypoint. See mcp-config.json for a ready-to-use snippet.


Method B: Local Execution (Fastest Setup)

If you already have Kali Linux, Parrot OS, or you specifically only want to use the tools already installed on your host system:

  1. Clone and Setup Virtual Environment:

    git clone https://github.com/halilkirazkaya/pentester-mcp.git
    cd pentester-mcp
    python3 -m venv .venv
    source .venv/bin/activate
    pip install -r requirements.txt
    
  2. Add to your AI Client: Direct the AI client to execute the specific tool using your local python environment. You will need to extract the tool definitions from the configs/ directory and replace the "docker exec -i pentester-mcp /app/.venv/bin/python" arguments with your host machine's python path.

    Note: If the tool binary (e.g., nmap or gobuster) is not installed on your host system, the AI will gracefully receive a FileNotFoundError and inform you.


🔧 Configuring MCP Clients (Claude, Cursor, etc.)

Unlike legacy setups requiring you to register a server per tool out of 235 options, Pentester-MCP now uses a Unified Server Architecture.

  1. Define which tools you want available by editing a configuration file in configs/ (e.g., example-config.yaml).
  2. Add the single Unified Server to your Claude/Cursor configuration.

Claude Desktop Example

Simply copy the contents of mcp-config.json into your claude_desktop_config.json file. It will look exactly like this:

{
  "mcpServers": {
    "pentester_mcp": {
      "command": "docker",
      "args": [
        "exec",
        "-i",
        "pentester-mcp",
        "/app/.venv/bin/python",
        "/app/server.py"
      ]
    }
  }
}

WARNING: The configs use docker exec -i pentester-mcp which targets the running Docker container named pentester-mcp. Ensure the container is running via docker compose up -d before using the AI assistant.


Contributing & Architecture

The Python scripts in the tools/ directory are auto-generated from YAML cheat sheets to guarantee consistent API design (proper timeouts, truncating outputs to >8000 chars, no shell=True vulnerabilities).

If you have a request for a new tool to be added, please feel free to open an issue.


Disclaimer

Legal Disclaimer: This project is created strictly for educational purposes, authorized auditing, and ethical hacking. The developers of Pentester-MCP assume no liability and are not responsible for any misuse or damage caused by this software. Never use these tools against environments you do not own or do not have explicit, written permission to test.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured