TO

tooluniverse-sdk

Provides a Python interface to load, search, and execute scientific tools within research workflows.

Install

mkdir -p .claude/skills/tooluniverse-sdk && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/8184" && unzip -o skill.zip -d .claude/skills/tooluniverse-sdk && rm skill.zip

Installs to .claude/skills/tooluniverse-sdk

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Build AI scientist systems with the ToolUniverse Python SDK for scientific research. Covers the 3 calling patterns (`tu.run` portable dict API, `tu.tools.X` function API, direct class instantiation), tool loading, batch execution, MCP server integration, and embedding-based tool search. Use for SDK programming, custom tool composition, benchmarking pipelines, and integrating ToolUniverse into research workflows.
415 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Advanced

Key capabilities

  • Access over 1000 scientific tools
  • Execute batch tool calls for data retrieval
  • Create custom scientific automation pipelines
  • Integrate MCP servers into research environments
  • Perform embedding-based tool discovery

How it works

The SDK provides three calling patterns including a portable dict API and a function-based API to interact with scientific tools. It requires a load_tools call to initialize the environment before executing specific research tasks.

Inputs & outputs

You give it
Tool name and arguments dictionary
You get back
Scientific data or model prediction results

When to use tooluniverse-sdk

  • Create custom scientific automation pipelines
  • Execute batch tool calls for large-scale data retrieval
  • Search for research tools using natural language
  • Integrate MCP servers into research environments

About this skill

ToolUniverse Python SDK

3 calling patterns -- start with pattern 1:

  1. tu.run({"name": ..., "arguments": ...}) -- single tool call, dict API (most portable)
  2. tu.tools.ToolName(param=value) -- function API (recommended for interactive use)
  3. Direct class instantiation -- advanced, bypasses caching/hooks

Installation

pip install tooluniverse              # Standard
pip install tooluniverse[embedding]   # Embedding search (GPU)
pip install tooluniverse[all]         # All features
export OPENAI_API_KEY="sk-..."  # Required for LLM tool search
export NCBI_API_KEY="..."       # Optional

Quick Start

from tooluniverse import ToolUniverse

tu = ToolUniverse()
tu.load_tools()  # REQUIRED before any tool call

# Find tools
tools = tu.run({"name": "Tool_Finder_Keyword", "arguments": {"description": "protein structure", "limit": 10}})

# Execute (dict API)
result = tu.run({"name": "UniProt_get_entry_by_accession", "arguments": {"accession": "P05067"}})

# Execute (function API)
result = tu.tools.UniProt_get_entry_by_accession(accession="P05067")

Core Patterns

Batch Execution

calls = [
    {"name": "UniProt_get_entry_by_accession", "arguments": {"accession": "P05067"}},
    {"name": "UniProt_get_entry_by_accession", "arguments": {"accession": "P12345"}},
]
results = tu.run_batch(calls)

Scientific Workflow

def drug_discovery_pipeline(disease_id):
    tu = ToolUniverse(use_cache=True)
    tu.load_tools()
    try:
        targets = tu.tools.OpenTargets_get_associated_targets_by_disease_efoId(efoId=disease_id)
        compound_calls = [
            {"name": "ChEMBL_search_molecule_by_target",
             "arguments": {"target_id": t['id'], "limit": 10}}
            for t in targets['data'][:5]
        ]
        compounds = tu.run_batch(compound_calls)
        return {"targets": targets, "compounds": compounds}
    finally:
        tu.close()

Configuration

# Caching
tu = ToolUniverse(use_cache=True)
stats = tu.get_cache_stats()
tu.clear_cache()

# Hooks (auto-summarization of large outputs)
tu = ToolUniverse(hooks_enabled=True)

# Load specific categories
tu.load_tools(categories=["proteins", "drugs"])

Critical Notes

  1. Always call load_tools() before using any tools
  2. Tool Finder returns nested structure: access via tools['tools'] after isinstance(tools, dict) check
  3. Tool names are case-sensitive: UniProt_get_entry_by_accession not uniprot_get_...
  4. Check required params: tu.all_tool_dict["ToolName"]['parameter'].get('required', [])
  5. Cache deterministic calls (ML predictions, DB queries); don't cache real-time data

Error Handling

from tooluniverse.exceptions import ToolError, ToolUnavailableError, ToolValidationError

try:
    result = tu.tools.some_tool(param="value")
except ToolUnavailableError:
    ...  # Tool service down
except ToolValidationError as e:
    tool_info = tu.all_tool_dict["some_tool"]
    print(f"Required: {tool_info['parameter'].get('required', [])}")

Tool Categories

CategoryToolsUse Cases
ProteinsUniProt, RCSB PDB, AlphaFoldProtein analysis, structure
DrugsDrugBank, ChEMBL, PubChemDrug discovery, compounds
GenomicsEnsembl, NCBI Gene, gnomADGene analysis, variants
DiseasesOpenTargets, ClinVarDisease-target associations
LiteraturePubMed, Europe PMCLiterature search
ML ModelsADMET-AI, AlphaFoldPredictions, modeling
PathwaysKEGG, ReactomePathway analysis

Resources

When not to use it

  • Caching real-time data
  • Bypassing required tool initialization

Prerequisites

OPENAI_API_KEYNCBI_API_KEY

Limitations

  • Tool names are case-sensitive
  • Requires load_tools before any tool call
  • Tool Finder returns nested structures

How it compares

It provides a unified Python interface for diverse scientific databases and models instead of requiring manual API integration for each service.

Compared to similar skills

tooluniverse-sdk side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
tooluniverse-sdk (this skill)02moReviewAdvanced
proof-theory17moReviewAdvanced
jupyter-notebook306moReviewIntermediate
pdf-processing-pro1710moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

More by mims-harvard

View all by mims-harvard

tooluniverse-drug-research

mims-harvard

Generates comprehensive drug research reports with compound disambiguation, evidence grading, and mandatory completeness sections. Covers identity, chemistry, pharmacology, targets, clinical trials, safety, pharmacogenomics, and ADMET properties. Use when users ask about drugs, medications, therapeutics, or need drug profiling, safety assessment, or clinical development research.

323

tooluniverse-pharmacovigilance

mims-harvard

Analyze drug safety signals from FDA adverse event reports, label warnings, and pharmacogenomic data. Calculates disproportionality measures (PRR, ROR), identifies serious adverse events, assesses pharmacogenomic risk variants. Use when asked about drug safety, adverse events, post-market surveillance, or risk-benefit assessment.

323

tooluniverse-precision-oncology

mims-harvard

Provide actionable treatment recommendations for cancer patients based on molecular profile. Interprets tumor mutations, identifies FDA-approved therapies, finds resistance mechanisms, matches clinical trials. Use when oncologist asks about treatment options for specific mutations (EGFR, KRAS, BRAF, etc.), therapy resistance, or clinical trial eligibility.

321

tooluniverse-expression-data-retrieval

mims-harvard

Retrieves gene expression and omics datasets from ArrayExpress and BioStudies with gene disambiguation, experiment quality assessment, and structured reports. Creates comprehensive dataset profiles with metadata, sample information, and download links. Use when users need expression data, omics datasets, or mention ArrayExpress (E-MTAB, E-GEOD) or BioStudies (S-BSST) accessions.

217

tooluniverse-literature-deep-research

mims-harvard

Conduct comprehensive literature research with target disambiguation, evidence grading, and structured theme extraction. Creates a detailed report with mandatory completeness checklist, biological model synthesis, and testable hypotheses. For biological targets, resolves official IDs (Ensembl/UniProt), synonyms, naming collisions, and gathers expression/pathway context before literature search. Default deliverable is a report file; for single factoid questions, uses a fast verification mode and may include an inline answer. Use when users need thorough literature reviews, target profiles, or to verify specific claims from the literature.

213

tooluniverse-target-research

mims-harvard

Gather comprehensive biological target intelligence from 9 parallel research paths covering protein info, structure, interactions, pathways, expression, variants, drug interactions, and literature. Features collision-aware searches, evidence grading (T1-T4), explicit Open Targets coverage, and mandatory completeness auditing. Use when users ask about drug targets, proteins, genes, or need target validation, druggability assessment, or comprehensive target profiling.

25

Search skills

Search the agent skills registry