mcpField
D
devtu-auto-discover-apis

devtu-auto-discover-apis

github.com/mims-harvardDevelopment1.8k383 installsUpdated 2d ago
Repository

About devtu-auto-discover-apis

A workflow skill for developers extending and maintaining ToolUniverse’s life science API coverage. It guides work from coverage analysis and API discovery through tool creation, validation, and integration, with human approval gates along the way.

Key features

  1. 01Analyze ToolUniverse coverage gaps
  2. 02Find and score life science APIs
  3. 03Create API tools and configurations
  4. 04Validate schemas and integration tests
  5. 05Prepare branches and Git PRs

Use cases

  1. 01Plan API coverage for a life science domain
  2. 02Turn a new API into a ToolUniverse tool
  3. 03Audit existing tools for quality
  4. 04Submit multiple domain-related API tools

Install

Copy the command and run it in a terminal.

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

After installing, type/devtu-auto-discover-apisin Claude Code to confirm it loaded.

Bundled filesreferences/tool-templates.mdreferences/validation-guide.md

Details

From the project README

Automated Life Science API Discovery & Tool Creation

Discover, create, validate, and integrate life science APIs into ToolUniverse.

Four-Phase Workflow

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

Human approval gates after: discovery, creation, validation, and before PR.


Phase 1: Discovery & Gap Analysis

1.1 Analyze Current Coverage

Load ToolUniverse, categorize tools by domain (genomics, proteomics, drug discovery, clinical, omics, imaging, literature, pathways, systems biology). Count per category.

1.2 Identify Gap Domains
  • Critical Gap: <5 tools in category
  • Moderate Gap: 5-15 tools, missing key subcategories
  • Emerging Gap: New technologies not represented

Common gaps: single-cell genomics, metabolomics, patient registries, microbial genomics, multi-omics integration, synthetic biology, toxicology.

1.3 Web Search for APIs

For each gap domain, run multiple queries:

  1. "[domain] API REST JSON" — direct API search
  2. "[domain] public database" — database discovery
  3. "[domain] API 2025 OR 2026" — recent releases
  4. "[domain] database" site:nar.oxfordjournals.org — NAR Database Issue

Extract: base URL, endpoints, auth method, parameter schemas, rate limits.

1.4 Score and Prioritize
CriterionMax Points
Documentation Quality20
API Stability15
Authentication Simplicity15
Coverage15
Maintenance10
Community10
License10
Rate Limits5

High priority (>=70), Medium (50-69), Low (<50).

1.5 Generate Discovery Report

Coverage analysis, prioritized candidates with scores, implementation roadmap.


Phase 2: Tool Creation

For each API, use Skill(skill="devtu-create-tool") or follow these patterns.

Architecture Decision
  • Multiple endpoints → multi-operation tool (single class, multiple JSON wrappers)
  • Single endpoint → single-operation acceptable
Key Steps
  1. Design tool class following template — see references/tool-templates.md
  2. Create JSON config with oneOf return_schema
  3. Find real test examples (use List endpoint → extract IDs → verify)
  4. Register in default_config.py
Critical Requirements
  • return_schema MUST have oneOf (success + error schemas)
  • test_examples MUST use real IDs (NO placeholders)
  • Tool name <= 55 characters
  • NEVER raise exceptions in run() — return error dict
  • Set timeout on all HTTP requests (30s)

Phase 3: Validation

Full guide: references/validation-guide.md

Quick Validation Checklist
  1. Schema: oneOf structure, data wrapper, error field
  2. Placeholders: No TEST/DUMMY/PLACEHOLDER in test_examples
  3. Loading: 3-step check (class registered, config registered, wrappers generated)
  4. Integration tests: python scripts/test_new_tools.py [api_name] -v → 100% pass

Fix failures with Skill(skill="devtu-fix-tool").


Phase 4: Integration

Use Skill(skill="devtu-github") or:

  1. Create branch: feature/add-[api-name]-tools
  2. Stage tool files + default_config.py
  3. Commit with descriptive message
  4. Push and create PR with validation results

Processing Patterns

PatternWhen to Use
Batch (multiple APIs → single PR)Same domain, similar structure
Iterative (one API at a time)Complex auth, novel patterns
Discovery-only (report, no tools)Planning roadmap
Validation-only (audit existing)PR review, quality check

References

Comments

Markdown supported