"""MCP Client Infrastructure - Connect to external MCP servers.

Uses the official `mcp` package for protocol handling.

Architecture:
- McpClientService: Manages connections to multiple MCP servers
- Supports stdio transport (local subprocesses)
- Tools are auto-registered into AlbusOS's tool registry

Usage:
    from infrastructure.mcp import McpClientService, McpServerConfig

    client = McpClientService([
        McpServerConfig(
            id="github",
            command="npx",
            args=["-y", "@modelcontextprotocol/server-github"],
            env={"GITHUB_TOKEN": "..."},
        ),
    ])

    tools = await client.list_tools("github")
    result = await client.call_tool("github", "search_repos", {"query": "python"})
"""

from infrastructure.mcp.client import (
    McpClientService,
    McpServerConfig,
    McpTool,
)

__all__ = [
    "McpClientService",
    "McpServerConfig",
    "McpTool",
]
