aidputils.agents.tools.mcp.mcp_client_manager

class aidputils.agents.tools.mcp.mcp_client_manager.McpClientManager[source]

Bases: object

Registry/manager for MCPHTTPClient instances keyed by server_name.

  • register(): create and persist MCPHTTPClient (no session started).

  • register_sync(): sync wrapper around register().

  • get_mcp_client(): fetch persisted client by server_name.

  • stop()/stop_all(): lifecycle helpers for any parked sessions if created externally.

async register(server_name: str, url: str, headers: Dict[str, str], auth: dict | None = None, transport: str = 'streamable_http', request_timeout_seconds: float = 10.0, sse_read_timeout_seconds: float = 10.0) MCPHTTPClient[source]

Create and persist a new MCPHTTPClient for server_name if it doesn’t already exist. Does not initialize any session; sessions are created on-demand via client.init_session(session_id).

register_sync(server_name: str, url: str, headers: Dict[str, str], auth: dict | None = None, transport: str = 'streamable_http', request_timeout_seconds: float = 10.0, sse_read_timeout_seconds: float = 10.0) MCPHTTPClient[source]

Sync wrapper around register(). Blocks until the async registration completes.

get_mcp_client(server_name: str) MCPHTTPClient | None[source]

Retrieve a previously registered MCPHTTPClient by server_name.

async get_or_create_session(server_name: str, session_id: str) mcp.client.session.ClientSession[source]

Convenience helper to fetch a registered client and obtain a session for session_id, creating it if absent.

async stop(server_name: str) None[source]

Gracefully stop and remove a persisted client by server_name.

stop_sync(server_name: str) None[source]
async stop_all() None[source]

Stop all persisted clients.

stop_all_sync() None[source]