From 0e64f3f02daddf899150e463273ecdbfb9cd9b95 Mon Sep 17 00:00:00 2001 From: g0t mi1k Date: Thu, 5 Feb 2026 09:12:18 +0000 Subject: [PATCH] parse args before running Otherwise for `--help` to work, need to have a server already running --- MetasploitMCP.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/MetasploitMCP.py b/MetasploitMCP.py index 34eb2c6..e7606f7 100644 --- a/MetasploitMCP.py +++ b/MetasploitMCP.py @@ -1704,13 +1704,6 @@ def find_available_port(start_port, host='127.0.0.1', max_attempts=10): return start_port if __name__ == "__main__": - # Initialize MSF Client - Critical for server function - try: - initialize_msf_client() - except (ValueError, ConnectionError, RuntimeError) as e: - logger.critical(f"CRITICAL: Failed to initialize Metasploit client on startup: {e}. Server cannot function.") - sys.exit(1) # Exit if MSF connection fails at start - # --- Setup argument parser for transport mode and server configuration --- import argparse @@ -1727,6 +1720,13 @@ if __name__ == "__main__": parser.add_argument('--find-port', action='store_true', help='Force finding an available port starting from --port or 8085') args = parser.parse_args() + # Initialize MSF Client - Critical for server function + try: + initialize_msf_client() + except (ValueError, ConnectionError, RuntimeError) as e: + logger.critical(f"CRITICAL: Failed to initialize Metasploit client on startup: {e}. Server cannot function.") + sys.exit(1) # Exit if MSF connection fails at start + if args.transport == 'stdio': logger.info("Starting MCP server in STDIO transport mode.") try: