Skip to content

McpClient

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

MCP Client for interacting with Model Context Protocol servers.

new McpClient(args): McpClient;

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

ParameterType
argsMcpClientConfig

McpClient

readonly static DEFAULT_TTL: 60000 = 60000;

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

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

Unused while task support is rebuilt on the MCP tasks extension (#1659).


readonly static DEFAULT_POLL_TIMEOUT: 300000 = 300000;

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

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

Unused while task support is rebuilt on the MCP tasks extension (#1659).

get client(): Client;

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

Client


get serverCapabilities(): any;

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

any


get serverVersion(): any;

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

any


get serverInstructions(): string;

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

string


get connectionState(): McpConnectionState;

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

McpConnectionState


get clientName(): string;

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

string


get continueOnError(): boolean;

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

boolean


set onToolsChanged(callback): void;

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

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

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

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

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

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

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

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

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.

Error when the client was constructed with tasksConfig: task-augmented execution is temporarily unavailable while task support is rebuilt on the MCP tasks extension (https://github.com/strands-agents/harness-sdk/issues/1659).