Skip to content

mims-harvard/ToolUniverse

Repository files navigation

ToolUniverse Logo ToolUniverse: Democratizing AI scientists

PyPI Downloads Paper PyPI version ToolUniverse Model context protocol (MCP) MCPB Documentation 🌐Web Slack

Democratizing AI scientists using ToolUniverse

We are currently looking for partners. If you’re interested, please reach out to Shanghua Gao.

ToolUniverse is an ecosystem for creating AI scientist systems from any open or closed large language model (LLM). Powered by AI-Tool Interaction Protocol, it standardizes how LLMs identify and call tools, integrating more than 700 machine learning models, datasets, APIs, and scientific packages for data analysis, knowledge retrieval, and experimental design.

Visit Website

Join Slack Community Join WeChat Group

Follow on LinkedIn Follow on X

β†’ Complete Tool List: Available Tools

β†’ Check our website for direct tool usage: AIScientist.Tools

πŸ€– Building AI Scientists with ToolUniverse in 5 minutes

YouTube Video Click the image above to watch the ToolUniverse demonstration (Also in Bilibili)

πŸ”¬ What is ToolUniverse?

AI scientists are emerging computational systems that serve as collaborative partners in discovery. However, these systems remain difficult to build because they are bespoke, tied to rigid workflows, and lack shared environments that unify tools, data, and analysts into a common ecosystem.

ToolUniverse addresses this challenge by providing a standardized ecosystem that transforms any AI model into a powerful research scientist. By abstracting capabilities behind a unified interface, ToolUniverse wraps around any AI model (LLM, AI agent, or large reasoning model) and enables users to create and refine entirely custom AI scientists without additional training or finetuning.

Key Features:

πŸš€ Quick Start

# 1. Install ToolUniverse
pip install tooluniverse

# 2. Load tooluniverse
from tooluniverse import ToolUniverse

tu = ToolUniverse()
tu.load_tools()  # Load 600+ scientific tools

# Your AI scientist can reason, experiment, and collaborate in discovery using the AI-tool interaction protocol.

# 3. Use Find Tool operation to discover relevant tools
tools = tu.run({
    "name": "Tool_Finder_Keyword",
    "arguments": {"description": "disease target associations", "limit": 10}
})

# 4. Use Call Tool operation to execute selected tool
result = tu.run({
    "name": "OpenTargets_get_associated_targets_by_disease_efoId",
    "arguments": {"efoId": "EFO_0000537"}  # hypertension
})

β†’ Complete Quick Start Tutorial: Quick Start Tutorial Getting Started Tutorial

πŸ“¦ Installation

Installation (uv)

uv pip install tooluniverse

β†’ Complete Installation Tutorial: Installation Tutorial

πŸ”§ Usage & Integration

ToolUniverse supports multiple integration methods for different use cases:

Python SDK Integration

from tooluniverse import ToolUniverse

# Initialize and load tools
tu = ToolUniverse()
tu.load_tools()

# Find relevant tools
tools = tu.run({
    "name": "Tool_Finder_Keyword", # Tool_Finder (Embedding model, GPU required), Tool_Finder_LLM (LLM-based model)
    "arguments": {"description": "protein structure prediction", "limit": 10}
})

# Execute tools
result = tu.run({
    "name": "UniProt_get_function_by_accession",
    "arguments": {"accession": "P05067"}
})

β†’ Complete Tutorials: Installation Tutorial

MCP Support

# run one command to launch the tooluniverse smcp server
tooluniverse-smcp

β†’ Complete Tutorial: MCP Support

MCPB Support

The Model Context Protocol Bundle (MCPB) wraps ToolUniverse as a standalone executable MCP server. This bundle is designed to work seamlessly with Claude Desktop and other MCPB-aware clients without complex environment setup.

Read our Introduction to MCPB

🌐 HTTP API - Remote Access

Deploy ToolUniverse on a separate server and access all 49+ methods remotely with minimal client dependencies!

Server (with full ToolUniverse):

pip install tooluniverse
tooluniverse-http-api --host 0.0.0.0 --port 8080

Client (only needs requests + pydantic):

pip install tooluniverse[client]  # Minimal installation
from tooluniverse import ToolUniverseClient

client = ToolUniverseClient("http://your-server:8080")

# Use exactly like local ToolUniverse!
client.load_tools(tool_type=['uniprot', 'ChEMBL', 'opentarget'])
result = client.run_one_function({
    "name": "UniProt_get_entry_by_accession",
    "arguments": {"accession": "P05067"}
})

Key Features:

  • βœ… Auto-updating: New methods work automatically (zero maintenance!)
  • βœ… Minimal client: Only requests + pydantic required
  • βœ… Full API access: All ToolUniverse methods available remotely
  • βœ… Stateful server: Maintains loaded tools across requests

β†’ Complete Guide: HTTP API Documentation

πŸš€ AI Scientists Projects Powered by ToolUniverse

Building your own project with ToolUniverse? We'd love to feature it here! Submit your project via GitHub Pull Request or contact us.


TxAgent: AI Agent for Therapeutic Reasoning [Project] [Paper] [PiPy] [Github] [HuggingFace]

TxAgent is an AI agent for therapeutic reasoning that leverages ToolUniverse's comprehensive scientific tool ecosystem to solve complex therapeutic reasoning tasks.


Hypercholesterolemia Drug Discovery [Tutorial] [Code]

🀝 Contribution and Community

We are actively looking for core contributors for ToolUniverse! Please join our Slack Channel or reach out to Shanghua Gao/Marinka Zitnik.

Get Involved:

Leaders

Contributors

πŸ“š Documentation

Our comprehensive documentation covers everything from quick start to advanced workflows:

πŸš€ Getting Started

πŸ“– User Guides

πŸ› οΈ Advanced Features

πŸ”§ Expanding ToolUniverse

πŸ“š API Reference

β†’ Browse All Documentation: ToolUniverse Documentation

Citation

@article{gao2025democratizingaiscientistsusing,
      title={Democratizing AI scientists using ToolUniverse}, 
      author={Shanghua Gao and Richard Zhu and Pengwei Sui and Zhenglun Kong and Sufian Aldogom and Yepeng Huang and Ayush Noori and Reza Shamji and Krishna Parvataneni and Theodoros Tsiligkaridis and Marinka Zitnik},
      year={2025},
      eprint={2509.23426},
      archivePrefix={arXiv},
      primaryClass={cs.AI},
      url={https://arxiv.org/abs/2509.23426}, 
}

@article{gao2025txagent,
      title={TxAgent: An AI Agent for Therapeutic Reasoning Across a Universe of Tools},
      author={Shanghua Gao and Richard Zhu and Zhenglun Kong and Ayush Noori and Xiaorui Su and Curtis Ginder and Theodoros Tsiligkaridis and Marinka Zitnik},
      year={2025},
      eprint={2503.10970},
      archivePrefix={arXiv},
      primaryClass={cs.AI},
      url={https://arxiv.org/abs/2503.10970},
}

Democratizing AI agents for science with ToolUniverse.