tooluniverse.mcp_integration 模块¶
ToolUniverse MCP 集成扩展
该模块通过方法扩展了 ToolUniverse,能够自动发现并加载来自远程服务器的 MCP 工具,实现本地工具与远程 MCP 服务的无缝集成。
- tooluniverse.mcp_integration.load_mcp_tools(self, server_urls=None, **kwargs)[源代码]¶
将 MCP 工具从远程服务器加载到此 ToolUniverse 实例中。
该方法自动从 MCP 服务器发现工具,并将其注册为 ToolUniverse 工具,实现远程功能的无缝使用。
- 参数:
server_urls (
listofstr, optional) –用于加载工具的 MCP 服务器 URL 列表。示例:
[“ws://localhost:9000”] # WebSocket MCP 服务器
如果为 None,则尝试从本地 MCP 工具注册表中发现。
**kwargs –
附加配置选项:
tool_prefix (str):加载工具名称的前缀(默认值:”mcp_”)
timeout(整数):连接超时时间(单位:秒,默认值:30)
auto_register(布尔值):是否自动注册发现的工具(默认值:True)
selected_tools (list): 从每个服务器加载的特定工具
类别(列表):用于筛选的工具类别
- 返回:
已加载工具的摘要,包括数量及遇到的任何错误。
- 返回类型:
示例
Load from specific servers:
tu = ToolUniverse() # Load tools from multiple MCP servers result = tu.load_mcp_tools([ "http://localhost:8001", # Local analysis server "http://ml-server:8002", # Remote ML server "ws://realtime:9000" # WebSocket server ]) print(f"Loaded {result['total_tools']} tools from {result['servers_connected']} servers")
Load with custom configuration:
tu.load_mcp_tools( server_urls=["http://localhost:8001"], tool_prefix="analysis\_", timeout=60, selected_tools=["protein_analysis", "drug_interaction"]
本地注册表自动发现:
`python # 如果您已在本地注册 MCP 工具,自动发现其服务器 tu.load_mcp_tools() # 使用 mcp_tool_registry 中的服务器 `
- tooluniverse.mcp_integration.discover_mcp_tools(self, server_urls=None, **kwargs)[源代码]¶
无需加载即可发现 MCP 服务器上的可用工具。
此方法连接到 MCP 服务器,以发现可用的工具,而无需实际将其注册到 ToolUniverse 中。适用于工具的探索和选择性加载。
- 参数:
- 返回:
按服务器组织的工具发现结果
- 返回类型:
示例
tu = ToolUniverse() # Discover what's available discovery = tu.discover_mcp_tools([ "http://localhost:8001", "http://ml-server:8002" ]) # Show available tools for server, info in discovery["servers"].items(): print(f"\n{server}:") for tool in info.get("tools", []): print(f" - {tool['name']}: {tool['description']}")