Skip to main content

Quick Start

MCPClient Parameters

MCPClient is the main entry point for connecting to MCP servers. It provides flexible configuration for SSL, sandboxing, middleware, and server-initiated callbacks.

MCPClient Constructor Parameters

str | dict | None
default:"None"
Path to a JSON configuration file or a configuration dictionary containing server definitions
list[str] | None
default:"None"
Restrict which servers from the config to use. When set, only the specified servers will be available
bool | None
default:"True"
SSL certificate verification for HTTP/HTTPS servers. Set to False for self-signed certificates or internal servers
bool
default:"False"
Run MCP servers in an isolated E2B sandbox environment. See Sandbox for configuration
SandboxOptions | None
default:"None"
E2B sandbox configuration including api_key and sandbox_template_id. Required when sandbox=True. See Sandbox
bool
default:"False"
Enable Python code execution mode for interacting with MCP tools programmatically. See Code Mode
list[Middleware] | None
default:"None"
Custom middleware for intercepting and processing tool calls. See Middleware
list[Root] | None
default:"None"
Directories or files to advertise to servers. Roots inform servers about accessible filesystem locations. See Roots
ListRootsFnT | None
default:"None"
Custom callback to handle roots/list requests from servers. Overrides the static roots parameter with dynamic responses
SamplingFnT | None
default:"None"
Handle server-initiated sampling requests (LLM completions). Required for servers that use sampling. See Sampling
ElicitationFnT | None
default:"None"
Handle server requests for user input or decisions. See Elicitation
MessageHandlerFnT | None
default:"None"
Handle server notifications and messages. See Notifications
LoggingFnT | None
default:"None"
Handle server log messages. See Logging

Server Configuration

MCP servers are configured in the mcpServers object. Each server has a unique name and connection settings.

STDIO Servers (Local)

Servers that run as local processes:

HTTP Servers (Remote)

Servers accessible via HTTP/HTTPS:

WebSocket Servers

Servers accessible via WebSocket:

Multiple Servers

Configure multiple servers for different capabilities:
See Multi-Server Setup for details.

Alternative Constructors

from_dict

from_config_file

Both accept the same parameters as MCPClient().

Common Issues