连接到多个 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