Pentest-mcp

Pentest-mcp

Unified penetration testing MCP server for Claude Desktop providing 34 security tools for reconnaissance, web scanning, code analysis, and authenticated testing.

Category
Visit Server

README

Pentest-mcp

Unified Penetration Testing MCP Server for Claude Desktop

Overview

A comprehensive penetration testing toolkit using Model Context Protocol (MCP). Works as a single unified MCP server that can be used directly from Claude Desktop.

Features

  • Claude Desktop Integration: All tools available via single MCP connection
  • 34 Security Tools: Reconnaissance, web scanning, SAST, SCA, taint analysis, 0-day discovery, AI security testing, authenticated testing
  • Pure MCP Architecture: No LangChain, simple and lightweight
  • Docker Ready: Easy deployment with Docker

Quick Start

Docker Setup (Recommended)

  1. Build the image:

    docker build -t pentest-mcp .
    
  2. Configure Claude Desktop:

    Edit your Claude Desktop config file:

    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
    {
      "mcpServers": {
        "pentest-mcp": {
          "command": "docker",
          "args": ["run", "--rm", "-i", "pentest-mcp"]
        }
      }
    }
    
  3. Restart Claude Desktop

Local Setup

# Install dependencies
pip install -r requirements.txt

# Run server
python pentest_mcp_server_stdio.py

Available Tools (34 total)

Network Scanning (4)

Tool Description
scan_network Nmap network scan (basic/full/quick)
resolve_dns DNS resolution
scan_port Single port scan
scan_http_headers HTTP header security analysis

SSH/Access (5)

Tool Description
ssh_connect SSH connection test
ssh_execute_command Execute remote commands via SSH
ssh_explore_system System enumeration (users, network, SUID, etc.)
find_flags CTF flag file search
ftp_connect FTP connection and directory listing

Web Vulnerability Scanning (4)

Tool Description
detect_technology CMS/Framework detection
enumerate_directories Directory/file brute force
test_sql_injection SQL injection testing
test_xss XSS vulnerability testing

Exploit/Intelligence (3)

Tool Description
search_cve CVE vulnerability search
get_vulnerability_info Product vulnerability lookup
generate_exploit_payload Reverse shell payload generation

Code Security (5)

Tool Description
check_security_tools Check installed security tool availability
semgrep_scan SAST - Static code analysis for vulnerabilities
trivy_scan SCA - Dependency/container vulnerability scan
trufflehog_scan Secret detection in Git repos/filesystems
ffuf_fuzz High-speed web application fuzzing

Code Analysis / 0-day Discovery (5)

Tool Description
repo_map Map repository structure - entry points, key files
extract_definitions Extract function/class definitions
analyze_call_graph Analyze function calls, identify dangerous sinks
find_attack_surface Find input sources → dangerous sinks
code_summary Generate security-focused code summary

Taint Analysis (1)

Tool Description
taint_analysis Track data flow from sources to sinks, determine exploitability

AI Security Testing (3)

Tool Description
test_prompt_injection Test AI APIs for prompt injection vulnerabilities
test_system_prompt_extraction Attempt to extract system prompts from AI services
test_content_filter_bypass Test content filter bypass techniques (leetspeak, homoglyphs, etc.)

Authenticated Testing (4)

Tool Description
authenticated_request Make authenticated HTTP requests with OAuth/API key
test_idor Test for Insecure Direct Object Reference vulnerabilities
test_auth_bypass Test authentication/authorization bypass (token manipulation, header injection)
test_rate_limiting Test rate limiting implementation

0-day Discovery Workflow

1. repo_map          → Understand project structure
2. find_attack_surface → Identify inputs and dangerous operations
3. taint_analysis    → Track actual data flow (source → sink)
4. semgrep_scan      → Pattern-based vulnerability detection
5. [AI analysis]     → Verify exploitability

Usage Examples

Use natural language in Claude Desktop:

Scan 192.168.1.1 for open ports
Check security headers for https://example.com
Search for CVE-2021-44228 details
Analyze /path/to/repo for 0-day vulnerabilities
Run taint analysis on /path/to/python/project

Penetration Testing Phases

Phase Status Tools
Reconnaissance nmap, DNS, port scanning
Web Application Testing Headers, SQLi, XSS, directory enumeration
Vulnerability Assessment CVE search, product vulnerabilities
Code Analysis (SAST/SCA) Semgrep, Trivy, TruffleHog
0-day Discovery Taint analysis, attack surface mapping
Exploitation Payload generation
Gaining Access SSH, FTP connection
Post-Exploitation System exploration, flag search
AI Security Testing Prompt injection, system prompt extraction, filter bypass
Authenticated Testing IDOR, auth bypass, rate limiting

Security Warning

This tool is for authorized security testing only.

Permitted Use

  • Systems you own or manage
  • Systems with explicit written permission
  • CTF competition environments
  • Research/educational lab environments

Prohibited Use

  • Scanning systems without permission
  • Malicious purposes
  • Unauthorized access attempts

Use responsibly. We are not liable for illegal activities.

Project Structure

.
├── pentest_mcp_server_stdio.py  # Main MCP server
├── tools/                        # Tool implementations
│   ├── __init__.py              # Package exports
│   ├── network.py               # Network scanning (4 tools)
│   ├── ssh_access.py            # SSH/access (4 tools)
│   ├── ftp_access.py            # FTP (1 tool)
│   ├── web_scanner.py           # Web vulnerability (4 tools)
│   ├── exploit.py               # Exploit/intelligence (3 tools)
│   ├── code_security.py         # SAST/SCA/Secret/Fuzzing (5 tools)
│   ├── code_analysis.py         # 0-day discovery (5 tools)
│   ├── taint_analysis.py        # Taint analysis (1 tool)
│   ├── ai_security.py           # AI security testing (3 tools)
│   └── auth_testing.py          # Authenticated testing (4 tools)
├── wordlists/                    # Bundled wordlists (Docker)
├── requirements.txt              # Python dependencies
├── Dockerfile                    # Docker build
└── README.md                     # This file

Technical Stack

  • Protocol: Model Context Protocol (MCP)
  • Language: Python 3.10+
  • Libraries: mcp, nmap, asyncssh, httpx, ast (taint analysis)
  • External Tools: Semgrep, Trivy, TruffleHog, ffuf (optional)

Troubleshooting

MCP Server Not Recognized

  1. Fully quit Claude Desktop (check task manager)
  2. Restart Claude Desktop
  3. Verify MCP server appears in settings

Dependency Errors

Use a virtual environment:

python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r requirements.txt

Nmap Not Found

# Ubuntu/Debian
sudo apt-get install nmap

# macOS
brew install nmap

# Windows: Download from https://nmap.org/download.html

License

MIT License

Contributing

Pull requests welcome. For major changes, please open an issue first to discuss.

Support

Report issues on GitHub Issues section.


Author: d01ki Repository: https://github.com/d01ki/Pentest-mcp License: MIT

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