"""Public contract for the mcp_client plugin. Exposes the MCP client and server config model for other plugins. """ from __future__ import annotations from app.plugins.builtins.contracts import get_contract_registry from app.plugins.builtins.mcp_client.models import McpServerConfig from app.plugins.builtins.mcp_client.client import McpClient from app.plugins.builtins.mcp_client.schemas import ( McpServerExecuteRequest, McpServerExecuteResponse, McpServerToolInfo, McpServerToolsResponse, ) class McpClientContract: """Public API surface for the mcp_client plugin.""" contract_name = "mcp_client" # ─── models ─── McpServerConfig = McpServerConfig # ─── client ─── McpClient = McpClient # ─── schemas ─── McpServerExecuteRequest = McpServerExecuteRequest McpServerExecuteResponse = McpServerExecuteResponse McpServerToolInfo = McpServerToolInfo McpServerToolsResponse = McpServerToolsResponse # ─── self-registration ─── _contract = McpClientContract() get_contract_registry().register("mcp_client", _contract) __all__ = [ "McpClientContract", "McpServerConfig", "McpClient", ]