Skip to content

Feat: Config-driven REST API tool registration via YAML (adapter_type: rest_api) #1

@man4ish

Description

@man4ish

Summary

Currently adding a new REST-backed tool requires:

  • Creating a new Python handler file
  • Manual registration in init.py
  • YAML config entry

This is not scalable for 100+ tools.

Proposed Solution

Implement config-driven tool registration:

  • New adapter_type: rest_api in tools.yaml
  • Generic RestApiHandler reads config and executes any REST tool
  • Auto-registration via load_tools_from_yaml()
  • No Python code needed per tool

Benefits

  • Add 100+ tools via YAML only
  • Zero code changes per tool
  • Consistent validation and execution
  • Easy to maintain and extend

Tools to add in first batch

  • UniProt Search
  • Ensembl Gene Lookup
  • PubMed Search
  • ClinVar Search
  • STRING DB
  • KEGG Pathway
  • DisGeNET

Acceptance Criteria

  • RestApiHandler implemented
  • Auto-registration working
  • 7 tools added via YAML only
  • All tools tested end-to-end
  • Documentation updated
  • Unit tests added

Related

  • omnibioai-tool-exec HttpToolServerAdapter
  • configs/tools.example.yaml
  • configs/servers.example.yaml

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions