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:194

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:265

Client


get serverCapabilities(): any;

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

any


get serverVersion(): any;

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

any


get serverInstructions(): string;

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

string


get connectionState(): McpConnectionState;

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

McpConnectionState


get clientName(): string;

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

string


get continueOnError(): boolean;

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

boolean


set onToolsChanged(callback): void;

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

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?): Promise<McpClient[]>;

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

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.

Promise<McpClient[]>

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


connect(reconnect?): Promise<void>;

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

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:335

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:346

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:360

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:446

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.