连接到多个 MCP 服务器
您可以通过使用MultiMCPTools 类在单个代理中同时使用多个 MCP 服务器。
multiple_mcp_servers.py
理解服务器参数
配置MCPTools 或 MultiMCPTools 的推荐方式是使用 command 或 url 参数。
或者,您可以使用 MCPTools 的 server_params 参数来更详细地配置到 MCP 服务器的连接。
当使用 stdio 传输时,server_params 参数应为 StdioServerParameters 的实例。它包含以下键:
command: 运行 MCP 服务器的命令。- 对于可以通过 npm 安装的 mcp 服务器,请使用
npx(或在 Windows 上运行则使用node)。 - 对于可以通过 uvx 安装的 mcp 服务器,请使用
uvx。
- 对于可以通过 npm 安装的 mcp 服务器,请使用
args: 传递给 MCP 服务器的参数。env: 可选的要传递给 MCP 服务器的环境变量。请记住将所有当前环境变量包含在env字典中。如果未提供env,则将使用当前环境变量。 例如:
server_params 参数应为 SSEClientParams 的实例。它包含以下字段:
url: MCP 服务器的 URL。headers: 传递给 MCP 服务器的标头(可选)。timeout: 到 MCP 服务器连接的超时时间(可选)。sse_read_timeout: SSE 连接本身超时的等待时间(可选)。
server_params 参数应为 StreamableHTTPClientParams 的实例。它包含以下字段:
url: MCP 服务器的 URL。headers: 传递给 MCP 服务器的标头(可选)。timeout: 到 MCP 服务器连接的超时时间(可选)。sse_read_timeout: 客户端等待新事件断开连接的最长时间(以秒为单位)。所有其他 HTTP 操作由timeout控制(可选)。terminate_on_close: 客户端关闭时是否终止连接(可选)。
更大的灵活性
您也可以自己创建 MCP 服务器并将其传递给MCPTools 构造函数。
filesystem_agent.py