Skip to content

McpClient

Defined in: src/mcp.ts:123

MCP Client for interacting with Model Context Protocol servers.

new McpClient(args): McpClient;

Defined in: src/mcp.ts:159

ParameterType
argsMcpClientConfig

McpClient

readonly static DEFAULT_TTL: 60000 = 60000;

Defined in: src/mcp.ts:125

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


readonly static DEFAULT_POLL_TIMEOUT: 300000 = 300000;

Defined in: src/mcp.ts:128

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

get client(): Client;

Defined in: src/mcp.ts:228

Client


get serverCapabilities(): any;

Defined in: src/mcp.ts:232

any


get serverVersion(): any;

Defined in: src/mcp.ts:236

any


get serverInstructions(): string;

Defined in: src/mcp.ts:240

string


get connectionState(): McpConnectionState;

Defined in: src/mcp.ts:244

McpConnectionState


get clientName(): string;

Defined in: src/mcp.ts:248

string


get continueOnError(): boolean;

Defined in: src/mcp.ts:252

boolean


set onToolsChanged(callback): void;

Defined in: src/mcp.ts:354

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.ts:137

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.ts:266

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.ts:298

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.ts:309

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

Promise<void>


listTools(): Promise<McpTool[]>;

Defined in: src/mcp.ts:318

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

Promise<McpTool[]>

A promise that resolves with an array of McpTool instances.


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

Defined in: src/mcp.ts:392

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.