from collections.abc import Callable  # noqa: F401
from typing import Any, Dict  # noqa: F401

from navig.mcp.tools import agent, desktop, inventory, memory, runtime, system, wiki


def register_all_tools(server: Any) -> None:
    """Register all extracted MCP tool bundles."""
    if not hasattr(server, "_tool_handlers"):
        server._tool_handlers = {}

    for bundle in [inventory, wiki, system, agent, runtime, memory, desktop]:
        if hasattr(bundle, "register"):
            bundle.register(server)
