mcpField
D
devtu-auto-discover-apis

devtu-auto-discover-apis

github.com/mims-harvard开发1.8k383 次安装2 天前更新
代码仓库

关于 devtu-auto-discover-apis

用于扩展 ToolUniverse 生命科学 API 覆盖范围的工作流技能,面向构建和维护工具的开发者。它从覆盖缺口分析开始,依次完成 API 搜索、工具创建、验证和集成,并在人为审批节点暂停。

主要功能

  1. 01分析 ToolUniverse 工具覆盖缺口
  2. 02搜索并评估生命科学 API
  3. 03创建 API 工具及配置
  4. 04验证工具结构与集成测试
  5. 05准备分支并提交 Git PR

适用场景

  1. 01规划某生命科学领域的 API 接入
  2. 02将新 API 转换为 ToolUniverse 工具
  3. 03审核已有工具的质量
  4. 04按领域批量提交多个 API 工具

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mims-harvard/tooluniverse --skill devtu-auto-discover-apis

安装后在 Claude Code 中输入/devtu-auto-discover-apis确认已加载。

附带文件references/tool-templates.mdreferences/validation-guide.md

详细介绍

自动发现生命科学 API 并创建工具

发现、创建、验证生命科学 API,并将其集成到 ToolUniverse。

四阶段工作流

Gap Analysis → API Discovery → Tool Creation → Validation → Integration
     ↓              ↓               ↓              ↓            ↓
  Coverage      Web Search      devtu-create   devtu-fix    Git PR

在发现、创建、验证之后以及创建 PR 之前设置人工审批关卡。


阶段 1:发现与差距分析

1.1 分析当前覆盖范围

加载 ToolUniverse,按领域对工具进行分类(基因组学、蛋白质组学、药物发现、临床、组学、影像、文献、通路、系统生物学)。统计每个类别的工具数量。

1.2 确定领域差距
  • 关键差距:某类别中的工具少于 5 个
  • 中等差距:有 5–15 个工具,但缺少关键子类别
  • 新兴差距:尚未覆盖的新技术

常见差距:单细胞基因组学、代谢组学、患者登记库、微生物基因组学、多组学整合、合成生物学、毒理学。

1.3 搜索 API

针对每个存在差距的领域,运行多条查询:

  1. "[domain] API REST JSON" — 直接搜索 API
  2. "[domain] public database" — 搜索数据库
  3. "[domain] API 2025 OR 2026" — 查找近期发布的 API
  4. "[domain] database" site:nar.oxfordjournals.org — 搜索 NAR 数据库专题

提取:基础 URL、端点、身份验证方式、参数架构、速率限制。

1.4 评分并确定优先级
标准最高分
文档质量20
API 稳定性15
身份验证的简便性15
覆盖范围15
维护情况10
社区支持10
许可证10
速率限制5

高优先级(>=70),中优先级(50–69),低优先级(<50)。

1.5 生成发现报告

包括覆盖范围分析、按优先级排序且附有评分的候选 API,以及实施路线图。


阶段 2:创建工具

对于每个 API,使用 Skill(skill="devtu-create-tool") 或遵循以下模式。

架构决策
  • 多个端点 → 多操作工具(单个类、多个 JSON 包装器)
  • 单个端点 → 可采用单操作工具
关键步骤
  1. 按照模板设计工具类 — 参见 references/tool-templates.md
  2. 创建包含 oneOf return_schema 的 JSON 配置
  3. 查找真实测试示例(使用 List 端点 → 提取 ID → 验证)
  4. 在 default_config.py 中注册
关键要求
  • return_schema 必须包含 oneOf(成功和错误架构)
  • test_examples 必须使用真实 ID(不得使用占位符)
  • 工具名称不得超过 55 个字符
  • 切勿在 run() 中引发异常 — 返回错误字典
  • 为所有 HTTP 请求设置超时(30s)

阶段 3:验证

完整指南:references/validation-guide.md

快速验证清单
  1. 架构:oneOf 结构、数据包装器、错误字段
  2. 占位符:test_examples 中不得包含 TEST/DUMMY/PLACEHOLDER
  3. 加载:三步检查(类已注册、配置已注册、包装器已生成)
  4. 集成测试:python scripts/test_new_tools.py [api_name] -v → 通过率 100%

使用 Skill(skill="devtu-fix-tool") 修复失败项。


阶段 4:集成

使用 Skill(skill="devtu-github") 或:

  1. 创建分支:feature/add-[api-name]-tools
  2. 暂存工具文件和 default_config.py
  3. 使用描述性消息提交
  4. 推送并创建 PR,附上验证结果

处理模式

模式使用时机
批量(多个 API → 单个 PR)同一领域、结构相似
迭代(一次处理一个 API)身份验证复杂、模式新颖
仅发现(生成报告,不创建工具)规划路线图
仅验证(审查现有内容)PR 审查、质量检查

参考资料

评论

支持 Markdown