import asyncio from hub_core.mcp import HubCoreMCPServer def test_mcp_base_server_constructs_without_registering_tools() -> None: server = HubCoreMCPServer( name="test-hub", api_base="http://127.0.0.1:9999/", register_tools=False, ) assert server.api_base == "http://127.0.0.1:9999" assert server.mcp.name == "test-hub" assert server._clean({"a": None, "b": 1}) == {"b": 1} def test_mcp_base_server_registers_orientation_doi_and_fos10_tools() -> None: server = HubCoreMCPServer(name="test-hub", api_base="http://127.0.0.1:9999") tools = asyncio.run(server.mcp.list_tools()) names = {tool.name for tool in tools} assert { "get_state_summary", "get_domain_summary", "check_repo_doi", "get_doi_summary", "get_risks", "get_alerts", } <= names