Rhodawk Mythos Agent
ARCHITECT: full masterplan implementation — 19 skills, 10 new MCP servers, 5-tier model router, EmbodiedOS bridge, autonomous night-mode loop, sandbox manager, pytest suite, stability fixes
da8fcf1 | """All ARCHITECT / Mythos MCP servers must import cleanly and expose tools.""" | |
| from __future__ import annotations | |
| import importlib | |
| import pytest | |
| MCP_MODULES = [ | |
| "mythos.mcp.static_analysis_mcp", | |
| "mythos.mcp.dynamic_analysis_mcp", | |
| "mythos.mcp.exploit_generation_mcp", | |
| "mythos.mcp.vulnerability_database_mcp", | |
| "mythos.mcp.web_security_mcp", | |
| "mythos.mcp.reconnaissance_mcp", | |
| "mythos.mcp.browser_agent_mcp", | |
| "mythos.mcp.scope_parser_mcp", | |
| "mythos.mcp.subdomain_enum_mcp", | |
| "mythos.mcp.httpx_probe_mcp", | |
| "mythos.mcp.shodan_mcp", | |
| "mythos.mcp.wayback_mcp", | |
| "mythos.mcp.frida_runtime_mcp", | |
| "mythos.mcp.ghidra_bridge_mcp", | |
| "mythos.mcp.can_bus_mcp", | |
| "mythos.mcp.sdr_analysis_mcp", | |
| ] | |
| def test_mcp_module_imports_and_exposes_tools(mod): | |
| m = importlib.import_module(mod) | |
| assert hasattr(m, "server"), f"{mod} missing server export" | |
| tools = m.server.list_tools() | |
| assert isinstance(tools, list) | |
| assert tools, f"{mod} exposes no tools" | |
| for t in tools: | |
| assert "name" in t | |