Files
leocrm/app/plugins/builtins/mcp_client/contracts.py
T

48 lines
1.2 KiB
Python
Raw Normal View History

"""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.client import McpClient
from app.plugins.builtins.mcp_client.models import McpServerConfig
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",
]