Skip to main content
The recommended way to configure MCPTools is to use the command or url parameters. Alternatively, you can use the server_params parameter with MCPTools to configure the connection to the MCP server in more detail. When using the stdio transport, the server_params parameter should be an instance of StdioServerParameters. It contains the following keys:
  • command: The command to run the MCP server.
    • Use npx for mcp servers that can be installed via npm.
    • Use uvx for mcp servers that can be installed via uvx.
    • Use custom binary executables (e.g., ./my-server, ../usr/local/bin/my-server, or binaries in your PATH).
  • args: The arguments to pass to the MCP server.
  • env: Optional environment variables to pass to the MCP server. The variables you provide are merged with a default set of safe variables (like PATH and HOME). If env is not provided, only the default set is passed. e.g.
When using the SSE transport, the server_params parameter should be an instance of SSEClientParams. It contains the following fields:
  • url: The URL of the MCP server.
  • headers: Headers to pass to the MCP server (optional).
  • timeout: Timeout for the connection to the MCP server (optional).
  • sse_read_timeout: Timeout for the SSE connection itself (optional).
When using the Streamable HTTP transport, the server_params parameter should be an instance of StreamableHTTPClientParams. It contains the following fields:
  • url: The URL of the MCP server.
  • headers: Headers to pass to the MCP server (optional).
  • timeout: Timeout for the connection to the MCP server (optional).
  • sse_read_timeout: how long (in seconds) the client will wait for a new event before disconnecting. All other HTTP operations are controlled by timeout (optional).
  • terminate_on_close: Whether to terminate the connection when the client is closed (optional).