Skip to content

McpClient

Defined in: src/mcp/client.ts:154

MCP Client for interacting with Model Context Protocol servers.

new McpClient(args): McpClient;

Defined in: src/mcp/client.ts:196

ParameterType
argsMcpClientConfig

McpClient

readonly static DEFAULT_TTL: 60000 = 60000;

Defined in: src/mcp/client.ts:156

Default TTL for task polling in milliseconds (60 seconds).


readonly static DEFAULT_POLL_TIMEOUT: 300000 = 300000;

Defined in: src/mcp/client.ts:159

Default poll timeout for task completion in milliseconds (5 minutes).

get client(): Client;

Defined in: src/mcp/client.ts:267

Client


get serverCapabilities(): any;

Defined in: src/mcp/client.ts:271

any


get serverVersion(): any;

Defined in: src/mcp/client.ts:275

any


get serverInstructions(): string;

Defined in: src/mcp/client.ts:279

string


get connectionState(): McpConnectionState;

Defined in: src/mcp/client.ts:283

McpConnectionState


get clientName(): string;

Defined in: src/mcp/client.ts:287

string


get continueOnError(): boolean;

Defined in: src/mcp/client.ts:291

boolean


set onToolsChanged(callback): void;

Defined in: src/mcp/client.ts:419

Sets a callback invoked when the MCP server’s tool list changes at runtime.

ParameterTypeDescription
callback(oldTools, newTools) => voidHandler receiving the previous tool names and the refreshed tool instances, or undefined to remove the callback.

void

static loadServers(
config,
defaults?,
options?
): Promise<McpClient[]>;

Defined in: src/mcp/client.ts:169

Parses an MCP servers config (file path or object) and returns McpClient instances.

ParameterTypeDescription
config| string | Record<string, McpServerConfig>A file path to a JSON config, or a flat server map object.
defaults?McpClientOptionsOptions applied to all clients unless overridden per-server.
options?McpLoadServersOptionsLoader behavior, such as prefixing tools with the server name.

Promise<McpClient[]>

An array of McpClient instances ready to be passed to an Agent.


connect(reconnect?): Promise<void>;

Defined in: src/mcp/client.ts:305

Connects the MCP client to the server.

Called lazily before any operation that requires a connection. When continueOnError is true, connection failures are swallowed and the client enters a 'failed' state — subsequent calls are no-ops until connect(true) is called explicitly to retry.

ParameterTypeDefault valueDescription
reconnectbooleanfalseWhen true, forces a reconnect even if already connected or failed.

Promise<void>

A promise that resolves when the connection is established.


disconnect(): Promise<void>;

Defined in: src/mcp/client.ts:337

Disconnects the MCP client from the server and cleans up resources.

Promise<void>

A promise that resolves when the disconnection is complete.


asyncDispose: Promise<void>;

Defined in: src/mcp/client.ts:348

Enables the await using pattern for automatic resource cleanup. Delegates to McpClient.disconnect.

Promise<void>


listTools(options?): Promise<McpTool[]>;

Defined in: src/mcp/client.ts:362

Lists the tools available on the server and returns them as executable McpTool instances.

A prefix renames tools for the agent only; tools are always invoked, and matched by string and RegExp filters, under their server-side name.

ParameterTypeDescription
options?McpListToolsOptionsOverrides for the prefix and filters set on the client. An omitted field uses the client’s value; an explicit empty string or empty object disables it.

Promise<McpTool[]>

A promise that resolves with an array of McpTool instances.


callTool(
tool,
args,
options?
): Promise<JSONValue>;

Defined in: src/mcp/client.ts:457

Invoke a tool on the connected MCP server using an McpTool instance.

When tasksConfig was provided to the client constructor, uses experimental task-based invocation which supports long-running tools with progress tracking. Otherwise, calls tools directly without task management.

ParameterTypeDescription
toolMcpToolThe McpTool instance to invoke.
argsJSONValueThe arguments to pass to the tool.
options?McpCallToolOptionsOptional settings for the request.

Promise<JSONValue>

A promise that resolves with the result of the tool invocation.