ToolUniverse 是一个全面的平台,旨在通过标准化 LLM 调用工具、整合机器学习模型、数据集、API 和科学软件包来赋能 AI 科学家。它提供了一个统一的接口,使任何 LLM 都能进行数据分析、知识检索和实验设计,无需额外训练或微调。其中包含一个符合 Model Context Protocol (MCP) 标准的服务端实现。

主要功能点

  • 统一工具接口: 标准化 AI 模型与工具的交互协议。
  • 海量科学工具集成: 集成超过 600 种机器学习模型、数据集、API 和科学软件包。
  • 通用 AI 模型支持: 兼容任何 LLM、AI 智能体或大型推理模型。
  • 工具发现与调用: 支持通过自然语言描述、关键词或嵌入模型发现、调用和执行工具。
  • 工具组合与工作流: 允许将多个工具链接起来,形成复杂的科学工作流。
  • MCP 服务器支持: 提供一个 MCP 服务器端实现,通过 JSON-RPC 协议与 LLM 客户端通信,提供工具、资源和 Prompt 模板服务。

安装步骤

  1. 安装 Python 环境: 确保您的系统已安装 Python 3.8 或更高版本。
  2. 安装 'uv' (推荐): 'uv' 是一个快速的 Python 包安装器,如果尚未安装,可以通过以下命令安装:'pip install uv'
  3. 安装 ToolUniverse: 使用 'uv' 安装 ToolUniverse 及其所有依赖:'uv pip install "tooluniverse[all]"' 如果不需要所有依赖,可以使用 'pip install tooluniverse' 进行基本安装,然后按需安装特定工具的额外依赖。

服务器配置

ToolUniverse 提供了一个 Model Context Protocol (MCP) 服务器实现,允许 LLM 客户端通过标准化的 JSON-RPC 协议与 ToolUniverse 的工具生态系统进行交互。MCP 客户端需要配置服务器的启动命令及其参数才能建立连接。

以下是 MCP 客户端配置 ToolUniverse MCP 服务器的示例信息:

{
  "mcpServers": {
    "tooluniverse_scientific": {
      "command": "tooluniverse-smcp-stdio",
      "args": [
        "--categories", "uniprot", "chembl", "opentarget",
        "--hooks",
        "--hook-type", "SummarizationHook",
        "--log-level", "INFO"
      ],
      "description": "连接到 ToolUniverse 科学研究 MCP 服务器,通过标准I/O传输,支持 UniProt、ChEMBL 和 OpenTargets 等类别工具,并启用摘要钩子功能,日志级别为INFO。",
      "transport": "stdio"
    },
    "tooluniverse_all_tools_http": {
      "command": "tooluniverse-smcp",
      "args": [
        "--port", "8000",
        "--host", "127.0.0.1",
        "--search-enabled",
        "--max-workers", "4",
        "--log-level", "DEBUG"
      ],
      "description": "连接到 ToolUniverse 所有工具的 HTTP MCP 服务器,监听 8000 端口,启用搜索功能,使用 4 个工作线程,日志级别为DEBUG。",
      "transport": "http"
    }
  }
}

配置参数注释:

  • '"tooluniverse_scientific"' 或 '"tooluniverse_all_tools_http"': 自定义的服务器实例名称。
  • '"command"': 启动 MCP 服务器的命令,例如 'tooluniverse-smcp-stdio' 用于标准I/O传输,'tooluniverse-smcp' 用于 HTTP 传输。
  • '"args"': 传递给服务器启动命令的参数列表。
    • '"--categories"': 指定要加载的工具类别,例如 'uniprot'、'chembl'、'opentarget'。
    • '"--hooks"': 启用输出处理钩子。
    • '"--hook-type"': 指定要使用的钩子类型,例如 'SummarizationHook' 用于摘要输出。
    • '"--log-level"': 设置服务器日志级别,例如 'INFO' 或 'DEBUG'。
    • '"--port"': HTTP 服务器监听的端口。
    • '"--host"': HTTP 服务器监听的地址。
    • '"--search-enabled"': 启用工具搜索功能。
    • '"--max-workers"': 设置服务器处理请求的最大工作线程数。
  • '"description"': 对该 MCP 服务器配置的描述,方便用户理解。
  • '"transport"': 通信传输协议,可以是 '"stdio"' 或 '"http"'。

基本使用方法

  1. 启动 MCP 服务器 (例如,通过命令行): 对于标准 I/O 传输 (通常用于集成到 Claude Desktop 等客户端): 'tooluniverse-smcp-stdio --categories uniprot chembl --hooks --hook-type SummarizationHook' 对于 HTTP 传输 (通常用于独立部署或通过 HTTP 客户端连接): 'tooluniverse-smcp --port 8000 --host 127.0.0.1 --categories uniprot pubmed --search-enabled'
  2. LLM 客户端连接: 配置您的 LLM 客户端(如 Claude Desktop 或其他支持 MCP 协议的客户端)使用上述 'command' 和 'args' 连接到 ToolUniverse MCP 服务器。
  3. LLM 客户端调用工具: 客户端可以通过 MCP 协议发送请求来发现工具('tools/find')、列出工具('tools/list')或执行工具('tools/call'),ToolUniverse 服务器将处理这些请求并返回结果。

信息

分类

AI与计算