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

MCPClient[]

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