Class: MCPManager
Defined in: mcp/manager.ts:53
MCP Manager for managing multiple MCP server connections
Example
const manager = new MCPManager();
// Add servers
await manager.addServer({
name: 'filesystem',
transport: 'stdio',
command: 'npx',
args: ['-y', '@modelcontextprotocol/server-filesystem', '/tmp'],
});
// Discover and get tools
const tools = await manager.discoverTools();
// Use with agent
const agent = new Agent({
provider: claude,
tools: [...builtinTools, ...tools],
});
// Cleanup
await manager.disconnectAll();
Constructors
Constructor
new MCPManager(options?): MCPManager;
Defined in: mcp/manager.ts:60
Parameters
| Parameter | Type |
|---|---|
options | MCPManagerOptions |
Returns
MCPManager
Methods
addServer()
addServer(config): Promise<MCPClient>;
Defined in: mcp/manager.ts:83
Add an MCP server
Parameters
| Parameter | Type | Description |
|---|---|---|
config | MCPServerConfig | Server configuration |
Returns
Promise<MCPClient>
The created MCPClient
Throws
MCPError if server with same name already exists
connectAll()
connectAll(): Promise<void>;
Defined in: mcp/manager.ts:283
Connect all servers
Returns
Promise<void>
disconnectAll()
disconnectAll(): Promise<void>;
Defined in: mcp/manager.ts:304
Disconnect all servers
Returns
Promise<void>
discoverTools()
discoverTools(): Promise<Tool<object>[]>;
Defined in: mcp/manager.ts:183
Discover tools from all connected servers
Returns
Promise<Tool<object>[]>
Array of converted tools ready for registration
discoverToolsFrom()
discoverToolsFrom(serverName): Promise<Tool<object>[]>;
Defined in: mcp/manager.ts:209
Discover tools from a specific server
Parameters
| Parameter | Type |
|---|---|
serverName | string |
Returns
Promise<Tool<object>[]>
getServer()
getServer(name): MCPClient | undefined;
Defined in: mcp/manager.ts:153
Get an MCP client by name
Parameters
| Parameter | Type |
|---|---|
name | string |
Returns
MCPClient | undefined
getServerNames()
getServerNames(): string[];
Defined in: mcp/manager.ts:167
Get all server names
Returns
string[]
getServers()
getServers(): MCPClient[];
Defined in: mcp/manager.ts:160
Get all MCP clients
Returns
hasServer()
hasServer(name): boolean;
Defined in: mcp/manager.ts:174
Check if a server exists
Parameters
| Parameter | Type |
|---|---|
name | string |
Returns
boolean
onEvent()
onEvent(handler): () => void;
Defined in: mcp/manager.ts:312
Register an event handler
Parameters
| Parameter | Type |
|---|---|
handler | MCPClientEventHandler |
Returns
() => void
refreshTools()
refreshTools(serverName?): Promise<void>;
Defined in: mcp/manager.ts:236
Refresh tools from servers and update the tool registry
Parameters
| Parameter | Type | Description |
|---|---|---|
serverName? | string | Optional server name to refresh. If not provided, refreshes all. |
Returns
Promise<void>
removeServer()
removeServer(name): Promise<void>;
Defined in: mcp/manager.ts:125
Remove an MCP server
Parameters
| Parameter | Type | Description |
|---|---|---|
name | string | Server name |
Returns
Promise<void>
Throws
MCPError if server not found
setToolRegistry()
setToolRegistry(registry): void;
Defined in: mcp/manager.ts:72
Set a tool registry for automatic tool registration When set, tools from MCP servers will be automatically registered
Parameters
| Parameter | Type |
|---|---|
registry | DefaultToolRegistry |
Returns
void