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 (list of str, optional) –

    用于加载工具的 MCP 服务器 URL 列表。示例:

    如果为 None,则尝试从本地 MCP 工具注册表中发现。

  • **kwargs

    附加配置选项:

    • tool_prefix (str):加载工具名称的前缀(默认值:”mcp_”)

    • timeout(整数):连接超时时间(单位:秒,默认值:30)

    • auto_register(布尔值):是否自动注册发现的工具(默认值:True)

    • selected_tools (list): 从每个服务器加载的特定工具

    • 类别(列表):用于筛选的工具类别

返回:

已加载工具的摘要,包括数量及遇到的任何错误。

返回类型:

dict

示例

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 中。适用于工具的探索和选择性加载。

参数:
  • server_urls (list of str, optional) – 用于发现的 MCP 服务器 URL 列表

  • **kwargs – 附加选项: - timeout (int):连接超时(默认值:30) - include_schemas (bool):是否包含工具参数架构(默认值:True)

返回:

按服务器组织的工具发现结果

返回类型:

dict

示例

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']}")
tooluniverse.mcp_integration.list_mcp_connections(self)[源代码]

列出所有活动的 MCP 连接及已加载的工具。

返回:

关于MCP连接、自动装载器及已装载工具的信息

返回类型:

dict

示例

tu = ToolUniverse()
tu.load_mcp_tools(["http://localhost:8001"])

connections = tu.list_mcp_connections()
print(f"Active MCP connections: {len(connections['connections'])}")