关于 tooluniverse
ToolUniverse 是面向科学研究的工具生态,帮助 AI Agent 发现、执行和组合生物信息学、药物发现等领域的资源。它提供 600 多种工具,并可通过 MCP 接入 Claude Desktop/Code。
主要功能
- 01访问 600 多种科学工具、模型、数据集和 API
- 02通过自然语言、语义或关键词查找工具
- 03使用标准化接口执行工具
- 04组合多步骤研究工作流
- 05覆盖生物信息学及药物发现等领域
适用场景
- 01查找 RNA 测序分析工具
- 02执行疾病靶点识别与药物发现流程
- 03访问科学数据库并分析数据
- 04组合基因组学或临床研究流程
MCP 相关
ToolUniverse 可通过 `tooluniverse-smcp` 以 MCP 方式接入 Claude Desktop/Code。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jackspace/ claudeskillz --skill tooluniverse安装后在 Claude Code 中输入/tooluniverse确认已加载。
附带文件SKILL.json
详细介绍
ToolUniverse
概述
ToolUniverse 是一个统一的生态系统,通过提供对 600+ 种科学资源的标准化访问,让 AI Agent 能够像研究科学家一样工作。使用此技能,可以发现、执行和组合跨多个研究领域的科学工具,包括生物信息学、化学信息学、基因组学、结构生物学、蛋白质组学和药物发现。
主要功能:
- 访问 600+ 种科学工具、模型、数据集和 API
- 使用自然语言、语义搜索或关键词发现工具
- 通过标准化的 AI-Tool Interaction Protocol 执行工具
- 组合多步骤工作流,解决复杂的研究问题
- 通过 Model Context Protocol(MCP)与 Claude Desktop/Code 集成
何时使用此技能
在以下情况下使用此技能:
- 按功能或领域搜索科学工具(例如,“查找蛋白质结构预测工具”)
- 执行计算生物学工作流(例如,疾病靶点识别、药物发现、基因组学分析)
- 访问科学数据库(OpenTargets、PubChem、UniProt、PDB、ChEMBL、KEGG 等)
- 组合多步骤研究流程(例如,靶点发现 → 结构预测 → 虚拟筛选)
- 处理生物信息学、化学信息学或结构生物学任务
- 分析基因表达、蛋白质序列、分子结构或临床数据
- 执行文献搜索、通路富集或变异注释
- 构建自动化科学研究工作流
快速入门
基本设置
from tooluniverse import ToolUniverse
# Initialize and load tools
tu = ToolUniverse()
tu.load_tools() # Loads 600+ scientific tools
# Discover tools
tools = tu.run({
"name": "Tool_Finder_Keyword",
"arguments": {
"description": "disease target associations",
"limit": 10
}
})
# Execute a tool
result = tu.run({
"name": "OpenTargets_get_associated_targets_by_disease_efoId",
"arguments": {"efoId": "EFO_0000537"} # Hypertension
})
Model Context Protocol (MCP)
与 Claude Desktop/Code 集成:
tooluniverse-smcp
核心工作流
1. 工具发现
查找与你的研究任务相关的工具:
三种发现方法:
Tool_Finder- 基于嵌入的语义搜索(需要 GPU)Tool_Finder_LLM- 基于 LLM 的语义搜索(无需 GPU)Tool_Finder_Keyword- 快速关键词搜索
示例:
# Search by natural language description
tools = tu.run({
"name": "Tool_Finder_LLM",
"arguments": {
"description": "Find tools for RNA sequencing differential expression analysis",
"limit": 10
}
})
# Review available tools
for tool in tools:
print(f"{tool['name']}: {tool['description']}")
参见 references/tool-discovery.md,了解:
- 详细的发现方法和搜索策略
- 特定领域的关键词建议
- 查找工具的最佳实践
2. 工具执行
通过标准化接口执行单个工具:
示例:
# Execute disease-target lookup
targets = tu.run({
"name": "OpenTargets_get_associated_targets_by_disease_efoId",
"arguments": {"efoId": "EFO_0000616"} # Breast cancer
})
# Get protein structure
structure = tu.run({
"name": "AlphaFold_get_structure",
"arguments": {"uniprot_id": "P12345"}
})
# Calculate molecular properties
properties = tu.run({
"name": "RDKit_calculate_descriptors",
"arguments": {"smiles": "CCO"} # Ethanol
})
参见 references/tool-execution.md,了解:
- 跨领域的真实执行示例
- 工具参数处理和验证
- 结果处理和错误处理
- 生产环境使用的最佳实践
3. 工具组合与工作流
组合多个工具,构建复杂的研究工作流:
药物发现示例:
# 1. Find disease targets
targets = tu.run({
"name": "OpenTargets_get_associated_targets_by_disease_efoId",
"arguments": {"efoId": "EFO_0000616"}
})
# 2. Get protein structures
structures = []
for target in targets[:5]:
structure = tu.run({
"name": "AlphaFold_get_structure",
"arguments": {"uniprot_id": target['uniprot_id']}
})
structures.append(structure)
# 3. Screen compounds
hits = []
for structure in structures:
compounds = tu.run({
"name": "ZINC_virtual_screening",
"arguments": {
"structure": structure,
"library": "lead-like",
"top_n": 100
}
})
hits.extend(compounds)
# 4. Evaluate drug-likeness
drug_candidates = []
for compound in hits:
props = tu.run({
"name": "RDKit_calculate_drug_properties",
"arguments": {"smiles": compound['smiles']}
})
if props['lipinski_pass']:
drug_candidates.append(compound)
参见 references/tool-composition.md,了解:
- 完整的工作流示例(药物发现、基因组学、临床)
- 顺序和并行工具组合模式
- 输出处理钩子
- 工作流最佳实践
科学领域
ToolUniverse 支持涵盖主要科学领域的 600+ 种工具:
生物信息学:
- 序列分析、比对、BLAST
- 基因表达(RNA-seq、DESeq2)
- 通路富集(KEGG、Reactome、GO)
- 变异注释(VEP、ClinVar)
化学信息学:
- 分子描述符和指纹
- 药物发现和虚拟筛选
- ADMET 预测和类药性
- 化学数据库(PubChem、ChEMBL、ZINC)
结构生物学:
- 蛋白质结构预测(AlphaFold)
- 结构检索(PDB)
- 结合位点检测
- 蛋白质-蛋白质相互作用
蛋白质组学:
- 质谱分析
- 蛋白质数据库(UniProt、STRING)
- 翻译后修饰
基因组学:
- 基因组组装和注释
- 拷贝数变异
- 临床基因组学工作流
医学/临床:
- 疾病数据库(OpenTargets、OMIM)
- 临床试验和 FDA 数据
- 变异分类
参见 references/domains.md,了解:
- 完整的领域分类
- 各学科的工具示例
- 跨领域应用
- 按领域划分的搜索策略
参考文档
此技能包含全面的参考文件,提供特定方面的详细信息:
references/installation.md- 安装、设置、MCP 配置、平台集成references/tool-discovery.md- 发现方法、搜索策略、列出工具references/tool-execution.md- 执行模式、实际示例、错误处理references/tool-composition.md- 工作流组合、复杂管道、并行执行references/domains.md- 按领域分类工具、用例示例references/api_reference.md- Python API 文档、钩子、协议
工作流: 在协助处理特定任务时,请参考相应文件获取详细说明。例如,搜索工具时,请查阅 references/tool-discovery.md 中的搜索策略。
示例脚本
两个可执行示例脚本演示了常见用例:
scripts/example_tool_search.py - 演示全部三种发现方法:
- 基于关键词的搜索
- 基于 LLM 的搜索
- 特定领域的搜索
- 获取详细的工具信息
scripts/example_workflow.py - 完整的工作流示例:
- 药物发现管道(疾病 → 靶点 → 结构 → 筛选 → 候选物)
- 基因组学分析(表达数据 → 差异分析 → 通路)
运行示例,了解典型的使用模式和工作流组合方式。
最佳实践
-
工具发现:
- 先进行宽泛搜索,再根据结果缩小范围
- 使用
Tool_Finder_Keyword,通过已知术语快速搜索 - 使用
Tool_Finder_LLM处理复杂的语义查询 - 设置合适的
limit参数(默认值:10)
-
工具执行:
- 执行前务必核实工具参数
- 在生产工作流中实现错误处理
- 验证输入数据格式(SMILES、UniProt ID、基因符号)
- 检查结果类型和结构
-
工作流组合:
- 组合完整工作流前,逐步单独测试
- 为长工作流实现检查点
- 考虑远程 API 的速率限制
- 工具之间相互独立时,使用并行执行
-
集成:
- 仅初始化一次 ToolUniverse,并重复使用该实例
- 在启动时调用一次
load_tools() - 缓存常用的工具信息
- 启用日志记录以便调试
关键术语
- 工具:可通过 ToolUniverse 访问的科学资源(模型、数据集、API、软件包)
- 工具发现:使用搜索方法(Finder、LLM、Keyword)查找相关工具
- 工具执行:通过
tu.run()使用特定参数运行工具 - 工具组合:串联多个工具,以执行多步骤工作流
- MCP:用于与 Claude Desktop/Code 集成的 Model Context Protocol
- AI-Tool Interaction Protocol:用于 LLM 与工具通信的标准化接口
资源
- 官方网站:https://aiscientist.tools
- GitHub:https://github.com/mims-harvard/ToolUniverse
- 文档:https://zitniklab.hms.harvard.edu/ToolUniverse/
- 安装:
uv pip install tooluniverse - MCP 服务:
tooluniverse-smcp