io.github.daedalus/mcp-recon-ng
MCP server exposing full recon-ng OSINT framework functionality
Versions
0.1.0latestTools 18
workspace_list List all workspaces in recon-ng. Returns: List of workspace dictionaries with name and info. Example: >>> workspace_list() [{"name": "default"}, {"name": "osint_project"}]
workspace_create Create a new workspace in recon-ng. Args: name: Name of the workspace to create. Returns: Dictionary with success status and workspace name. Example: >>> workspace_create("new_project") {"success": True, "workspace": "new_project"}
workspace_switch Switch to a different workspace. Args: name: Name of the workspace to switch to. Returns: Dictionary with success status and workspace name. Example: >>> workspace_switch("osint_project") {"success": True, "workspace": "osint_project"}
workspace_delete Delete a workspace from recon-ng. Args: name: Name of the workspace to delete. Returns: Dictionary with success status and workspace name. Example: >>> workspace_delete("old_project") {"success": True, "workspace": "old_project"}
module_list List available recon-ng modules. Args: category: Optional category to filter modules (e.g., recon/domains, recon/contacts). Returns: List of module dictionaries with path and info. Example: >>> module_list("recon/domains") [{"path": "recon/domains-whois/whois_miner"}]
module_load Load a recon-ng module for execution. Args: module_path: Full module path (e.g., recon/domains-whois/whois_miner). Returns: Dictionary with success status and module path. Example: >>> module_load("recon/domains-whois/whois_miner") {"success": True, "module": "recon/domains-whois/whois_miner"}
module_unload Unload the current module. Returns: Dictionary with success status. Example: >>> module_unload() {"success": True}
module_options_list List options for the currently loaded module. Returns: List of option dictionaries with name, value, and description. Example: >>> module_options_list() [{"name": "SOURCE", "value": "default", "description": "Data source"}]
module_options_set Set an option for the loaded module. Args: key: Option name to set. value: Value to set. Returns: Dictionary with success status and key/value. Example: >>> module_options_set("SOURCE", "example.com") {"success": True, "key": "SOURCE", "value": "example.com"}
module_run Run the currently loaded module. Returns: Dictionary with success status, output, and any error. Example: >>> module_run() {"success": True, "output": "...", "error": None}
marketplace_search Search the recon-ng marketplace for modules. Args: query: Search query string. Returns: List of matching module dictionaries with name and description. Example: >>> marketplace_search("whois") [{"name": "recon/domains-whois/whois_miner", "description": "..."}]
marketplace_install Install a module from the recon-ng marketplace. Args: module_path: Full module path to install. Returns: Dictionary with success status and module path. Example: >>> marketplace_install("recon/domains-whois/whois_miner") {"success": True, "module": "recon/domains-whois/whois_miner"}
marketplace_remove Remove an installed module from recon-ng. Args: module_path: Full module path to remove. Returns: Dictionary with success status and module path. Example: >>> marketplace_remove("recon/domains-whois/whois_miner") {"success": True, "module": "recon/domains-whois/whois_miner"}
db_query Query a table in the workspace database. Args: table: Table name to query. where: Optional WHERE clause. Returns: List of dictionaries containing query results. Example: >>> db_query("domains") [{"domain": "example.com"}, {"domain": "test.com"}]
db_insert Insert a record into a database table. Args: table: Table name to insert into. data: Dictionary of column:value pairs. Returns: Dictionary with success status and table name. Example: >>> db_insert("domains", {"domain": "example.com"}) {"success": True, "table": "domains"}
db_delete Delete records from a database table. Args: table: Table name to delete from. where: WHERE clause for deletion. Returns: Dictionary with success status and table name. Example: >>> db_delete("domains", "domain='example.com'") {"success": True, "table": "domains"}
run_command Execute an arbitrary recon-ng command. Args: command: Command string to execute. Returns: Dictionary with success status, output, and any error. Example: >>> run_command("show domains") {"success": True, "output": "...", "error": None}
get_info Get system information and statistics from recon-ng. Returns: Dictionary with version info and system stats. Example: >>> get_info() {"info": "...", "error": None}
Permissions 2
filesystem low shell high