mcpField
T
tooluniverse

tooluniverse

github.com/jackspace数据与数据库1641 次安装12 周前更新
代码仓库

关于 tooluniverse

ToolUniverse 是面向科学研究的工具生态,帮助 AI Agent 发现、执行和组合生物信息学、药物发现等领域的资源。它提供 600 多种工具,并可通过 MCP 接入 Claude Desktop/Code。

主要功能

  1. 01访问 600 多种科学工具、模型、数据集和 API
  2. 02通过自然语言、语义或关键词查找工具
  3. 03使用标准化接口执行工具
  4. 04组合多步骤研究工作流
  5. 05覆盖生物信息学及药物发现等领域

适用场景

  1. 01查找 RNA 测序分析工具
  2. 02执行疾病靶点识别与药物发现流程
  3. 03访问科学数据库并分析数据
  4. 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 - 完整的工作流示例:

  • 药物发现管道(疾病 → 靶点 → 结构 → 筛选 → 候选物)
  • 基因组学分析(表达数据 → 差异分析 → 通路)

运行示例,了解典型的使用模式和工作流组合方式。

最佳实践

  1. 工具发现:

    • 先进行宽泛搜索,再根据结果缩小范围
    • 使用 Tool_Finder_Keyword,通过已知术语快速搜索
    • 使用 Tool_Finder_LLM 处理复杂的语义查询
    • 设置合适的 limit 参数(默认值:10)
  2. 工具执行:

    • 执行前务必核实工具参数
    • 在生产工作流中实现错误处理
    • 验证输入数据格式(SMILES、UniProt ID、基因符号)
    • 检查结果类型和结构
  3. 工作流组合:

    • 组合完整工作流前,逐步单独测试
    • 为长工作流实现检查点
    • 考虑远程 API 的速率限制
    • 工具之间相互独立时,使用并行执行
  4. 集成:

    • 仅初始化一次 ToolUniverse,并重复使用该实例
    • 在启动时调用一次 load_tools()
    • 缓存常用的工具信息
    • 启用日志记录以便调试

关键术语

  • 工具:可通过 ToolUniverse 访问的科学资源(模型、数据集、API、软件包)
  • 工具发现:使用搜索方法(Finder、LLM、Keyword)查找相关工具
  • 工具执行:通过 tu.run() 使用特定参数运行工具
  • 工具组合:串联多个工具,以执行多步骤工作流
  • MCP:用于与 Claude Desktop/Code 集成的 Model Context Protocol
  • AI-Tool Interaction Protocol:用于 LLM 与工具通信的标准化接口

资源

评论

支持 Markdown