Skip to content
docsv0.1.0

McpClientManager

Manager for multiple MCP server connections. This class handles: - Creating connections from configuration - Managing connection lifecycle - Aggregating tools from all connected servers - Routing tool calls to the correct server

McpClientManager::registerServer()

public function registerServer(string $name, array $config): void

Register a connection from configuration.

Parameters

Parameters of registerServer()
NameTypeDescription
$namestringServer name
$configarray<string, mixed>Server configuration

McpClientManager::connect()

public function connect(string $name): void

Connect to a specific server.

Parameters

Parameters of connect()
NameTypeDescription
$namestringServer name

Throws

McpConnectionException If connection fails

McpClientManager::connectAll()

public function connectAll(): array

Connect to all registered servers.

Returns

Map of server names to connection errors

McpClientManager::disconnect()

public function disconnect(string $name): void

Disconnect from a specific server.

Parameters

Parameters of disconnect()
NameTypeDescription
$namestring

McpClientManager::disconnectAll()

public function disconnectAll(): void

Disconnect from all servers.

McpClientManager::getConnection()

public function getConnection(string $name): ?Milpa\McpClient\McpConnection

Get a specific connection.

Parameters

Parameters of getConnection()
NameTypeDescription
$namestring

McpClientManager::getConnections()

public function getConnections(): array

Get all connections.

Returns

Server name to connection mapping

McpClientManager::listAllTools()

public function listAllTools(): array

List all tools from all connected servers.

McpClientManager::getTool()

public function getTool(string $registryName): ?Milpa\McpClient\Contracts\McpTool

Get a tool by its registry name.

Parameters

Parameters of getTool()
NameTypeDescription
$registryNamestringFormat: mcp_{server}_{tool}

McpClientManager::callTool()

public function callTool(string $registryName, array $arguments = []): array

Call a tool by its registry name.

Parameters

Parameters of callTool()
NameTypeDescription
$registryNamestringFormat: mcp_{server}_{tool}
$argumentsarray<string, mixed>Tool arguments

Returns

Tool result

Throws

McpToolException If tool not found or execution fails

McpClientManager::hasTool()

public function hasTool(string $registryName): bool

Check if a tool exists.

Parameters

Parameters of hasTool()
NameTypeDescription
$registryNamestring

McpClientManager::getToolConnection()

public function getToolConnection(string $registryName): ?Milpa\McpClient\McpConnection

Get the connection that provides a tool.

Parameters

Parameters of getToolConnection()
NameTypeDescription
$registryNamestring

McpClientManager::__destruct()

public function __destruct():

Destructor ensures all connections are closed.