Comprehensive FAQ

This page contains detailed answers to frequently asked questions about ToolUniverse.

小技巧

Need a quick answer?

For brief answers to the most common questions, see Comprehensive FAQ. This page provides comprehensive information with detailed explanations, troubleshooting tips, and advanced topics.

常见问题

什么是 ToolUniverse?

ToolUniverse 是一个面向自主智能体的综合科学工具集合,支持与多种科学数据库和服务的集成。它提供统一的界面,便于访问 FDA、OpenTargets、ChEMBL、PubTator 及众多其他来源的数据。

支持哪些数据库?

ToolUniverse 集成了20多个科学数据库:

  • 药物信息:FDA FAERS、ChEMBL、PubChem、DrugBank

  • 基因/蛋白质数据:UniProt、Ensembl、Human Protein Atlas

  • 疾病信息:OpenTargets、DisGeNET、OMIM

  • 文献:PubMed,PubTator

  • 临床数据:ClinicalTrials.gov,英国生物银行

  • 路径分析:Enrichr、KEGG、Reactome

安装与设置

如何安装ToolUniverse?

我是否需要 API 密钥?

Most tools work without API keys! However, some tools require authentication or provide higher rate limits with API keys.

Quick answer:

  • No API keys needed for most tools (PubMed, UniProt, ChEMBL, OpenTargets, etc.)

  • Recommended for better performance: NCBI, FDA (3-10x faster rate limits)

  • Required for specific features: NVIDIA NIM (structure prediction), USPTO (patents), DisGeNET, OMIM

For complete details, see API Keys and Authentication which covers all API keys, how to obtain them, rate limits, and configuration methods.

常见问题

为什么会出现速率限制错误?

许多科学API设有速率限制。ToolUniverse 实现了自动速率限制,但您仍可能遇到限制:

工具返回空结果?

检查以下常见问题:

  1. 正确的标识符:确保您使用的是正确的 ID 格式

  2. API 连接性:测试您的互联网连接

  3. 服务状态:检查外部服务是否可用

  4. 查询参数:请确认您的搜索参数有效

# Example: Retrieve UniProt function by accession
query = {
    "name": "UniProt_get_function_by_accession",
    "arguments": {"accession": "P38398"}  # BRCA1 accession
}

MCP 集成

我如何将 ToolUniverse 与 Claude 一起使用?

  1. 启动 MCP 服务器:

    tooluniverse-smcp
    
  2. 配置 Claude 桌面版:

    将以下内容添加到您的 Claude 配置中:

    {
      "mcpServers": {
        "tooluniverse": {
          "command": "tooluniverse-smcp-stdio",
          "args": ["--compact-mode"]
        }
      }
    }
    
  3. 测试连接:

    询问 Claude:“ToolUniverse 提供了哪些工具?”

我可以使用多个 MCP 服务器吗?

是的!您可以运行多个 ToolUniverse 实例,或与其他 MCP 服务器结合使用:

{
  "mcpServers": {
    "tooluniverse-main": {
      "command": "tooluniverse-smcp",
      "args": ["--port", "3000", "--compact-mode"]
    },
    "tooluniverse-dev": {
      "command": "tooluniverse-smcp",
      "args": ["--port", "3001", "--compact-mode", "--load", "community/dev-tools"]
    }
  }
}

开发

如何添加新工具?

  1. 创建工具类:

    from tooluniverse.base_tool import BaseTool
    
    class MyNewTool(BaseTool):
        def __init__(self):
            super().__init__(
                name="my_new_tool",
                description="Description of what it does"
            )
    
        def run(self, **kwargs):
            # Implementation here
            return results
    
  2. 注册工具:

    from tooluniverse import ToolRegistry
    
    registry = ToolRegistry()
    registry.register_tool(MyNewTool)
    
  3. 添加测试:

    def test_my_new_tool():
        tool = MyNewTool()
        result = tool.run(test_parameter="test_value")
        assert result is not None
    

我如何贡献?

  1. 派生该代码库

  2. 创建功能分支

  3. 添加带有测试的更改

  4. 提交拉取请求

See our 为ToolUniverse做贡献 Tutorial for detailed instructions.

性能

如何加快查询速度?

为什么第一次查询速度较慢?

第一次查询通常耗时较长,原因如下:

  1. 工具加载:工具在首次使用时加载

  2. API 连接:初始连接设置

  3. 认证:API 密钥验证

后续查询将大幅加快。

故障排除

遇到导入错误?

常见解决方案:

网络连接问题?

  1. 检查互联网连接

  2. 如果处于企业防火墙后,请验证智能体设置

  3. 测试特定端点:

    import requests
    response = requests.get('https://platform-api.opentargets.org/api/v4/graphql')
    print(response.status_code)
    
  4. 配置超时:

    tu = ToolUniverse()  # timeout is set per HTTP request, not at the ToolUniverse level
    

仍然遇到问题?

如果您在此处找不到答案:

  1. Check the documentation: 教程导航

  2. 搜索现有问题GitHub Issues

  3. 向社区提问:加入我们的 Discord 服务器

  4. 报告错误:创建一个包含详细信息的新 GitHub 问题单

备注

报告问题时,请包括:

  • ToolUniverse 版本

  • Python 版本

  • 操作系统

  • 完整错误信息

  • 最简代码示例