概要
ToolUniverse は、ハーバード大学医学部(Zitnik Lab)が開発したオープンソースの科学研究支援エコシステムです。700以上の科学ツール(機械学習モデル、データベース、API、分析パッケージ)を統合し、任意のLLM(Large Language Model)をAI科学者に変換することを目指しています。
"ToolUniverse is a unified ecosystem that transforms any large language model (LLM)—open or closed—into a powerful AI scientist."
本記事はGitHub公式リポジトリおよび公式ドキュメントを参照し、機能・アーキテクチャ・利用方法を詳細に解説します。
TL;DR(忙しい人向けまとめ)
結論: ToolUniverseは科学研究のためのLLMツール統合基盤です。
| 項目 | 内容 |
|---|---|
| 公式サイト | https://aiscientist.tools/ |
| GitHub | https://github.com/mims-harvard/ToolUniverse |
| 開発元 | Harvard Medical School / Zitnik Lab |
| バージョン | 1.0.15.6 |
| ライセンス | MIT License |
| ツール数 | 700+ (APIs: 281, Packages: 164, DBs: 84, Agents: 33) |
| 対応LLM | Claude, GPT-5, Gemini, Qwen, DeepSeek, vLLM, OpenRouter経由100+モデル |
| 統合方式 | MCP, Python SDK, Web UI, Space Configuration |
| インストール |
pip install tooluniverse または uv pip install tooluniverse
|
目次
- ToolUniverseとは
- 主要機能
- アーキテクチャ
- ツールカテゴリ詳細
- 利用方法
- Space Configuration
- LLMプロバイダー連携
- Compact Mode
- ユースケース
- 対応AIシステム
- 関連リソース
1. ToolUniverseとは
1.1 プロジェクト概要
ToolUniverseは、AI科学者(AI Scientist) を構築するためのオープンエコシステムです。
プロジェクトの目標:
- 科学データアクセスの民主化 - 50以上のデータベースを単一インターフェースで利用可能に
- AI駆動研究の実現 - AIアシスタントとのシームレスな統合
- 発見の加速 - 質問から洞察までの時間を短縮
- コラボレーションの促進 - コミュニティ駆動のツール開発
1.2 開発組織
| 項目 | 詳細 |
|---|---|
| 主要開発機関 | Harvard Medical School |
| 研究室 | Zitnik Lab |
| 協力機関 | MIT, Kempner Institute, Broad Institute, Harvard Data Science Initiative |
| メンテナー | Shanghua Gao |
| 論文 | arXiv:2509.23426 (2025年9月) |
1.3 資金提供
NIH、NSF、DoD、ARPA-H、Amazon、Google、AstraZeneca、Roche、Sanofi、GSK、Boehringer Ingelheim、Merck、Pfizer、Gates Foundation、Chan Zuckerberg Initiative など多数の機関・企業からサポートを受けています。
2. 主要機能
2.1 機能一覧
| 機能 | 説明 |
|---|---|
| 🔧 700+ 科学ツールの統合 | MLモデル、データベース、API、解析パッケージを一元管理 |
| 🤖 AI-Tool Interaction Protocol | LLMとツール間の標準化された通信インターフェース |
| 🔍 自然言語でのツール検索 | キーワード、埋め込み、LLMベースの3種類の検索方式 |
| 🔗 ツールの自動コンポジション | 複数ツールをワークフローに組み合わせて実行 |
| 👤 Human Expert Feedback | 人間の専門家をループに組み込み、品質を担保 |
| 📡 MCP (Model Context Protocol) 対応 | Claude Desktop等との直接統合が可能 |
| 🌐 OpenRouter統合 | 100以上のLLMモデルへの統一アクセス |
| 🖥️ vLLM対応 | セルフホストLLMモデルの利用 |
| 📦 Space Configuration | 研究分野別のツールセットを簡単に構成 |
| 🗜️ Compact Mode | コンテキストウィンドウ使用量を99%削減 |
2.2 ツールカテゴリ別内訳
GitHubリポジトリのドキュメントによると、700+ツールは以下のように分類されます。
| カテゴリ | 件数 | 割合 | 主な用途 |
|---|---|---|---|
| APIs | 281 | 48.4% | 外部データアクセス、リアルタイム情報 |
| Software Packages | 164 | 28.3% | 計算解析、ローカル処理 |
| Databases | 84 | 14.5% | 構造化データの格納・検索 |
| AI Agents | 33 | 5.7% | 自律的推論・計画 |
| ML Models | 15 | 2.6% | 予測・分類タスク |
| Expert Feedback | 6 | 1.0% | 人間による検証・ガイダンス |
| Embedding Stores | 4 | 0.7% | セマンティック検索・類似性 |
| Robotics | 2+ | <1% | 実験自動化 |
2.3 AI-Tool Interaction Protocol
ToolUniverseの核心は、AI-Tool Interaction Protocol です。これは、LLMがツールを発見・選択・実行するための標準化されたインターフェースを提供します。
3. アーキテクチャ
3.1 システム構成
3.2 ツールタイプ
| タイプ | 説明 | 例 |
|---|---|---|
| Local Tools | Python関数として実行 | PubMed検索、分子構造解析 |
| Remote Tools | 外部サーバーで実行 | AlphaFold予測、BLAST検索、Boltz |
| Agentic Tools | 自律的に動作 | 文献レビュー、仮説生成、創薬エージェント |
| Compositional Tools | 複数ツールの組み合わせ | 創薬ワークフロー |
| Package Tools | Pythonパッケージの情報取得 | RDKit、BioPython、ScanPy |
3.3 Remote Tools一覧
GitHubリポジトリで定義されているRemote Tools:
| Remote Tool | 説明 |
|---|---|
| boltz | 分子ドッキング(Boltz2) |
| depmap_24q2 | DepMap遺伝子相関解析 |
| expert_feedback | Human Expert Feedbackシステム |
| immune_compass | 免疫系ツール |
| pinnacle | Pinnacle統合 |
| transcriptformer | トランスクリプトーム解析 |
| uspto_downloader | 特許情報取得 |
4. ツールカテゴリ詳細
4.1 科学分野別ツール
ToolUniverseは以下の科学分野をカバーしています。
| カテゴリ | ツール数 | 主要ツール例 |
|---|---|---|
| バイオインフォマティクス | 100+ | BLAST, Gene Ontology, KEGG, Reactome, Enrichr, HumanBase, WikiPathways |
| 化学情報学 | 50+ | PubChem, ChEMBL, DrugBank, ADMET AI |
| ゲノミクス | 60+ | GEO, gnomAD, ClinVar, GTEx |
| 構造生物学 | 40+ | RCSB PDB, AlphaFold, EMDB, Boltz2 |
| 機械学習 | 80+ | ADMET予測, タンパク質埋め込み, XGBoost, UMAP |
| 文献検索 | 30+ | PubMed, Semantic Scholar, arXiv, bioRxiv, medRxiv |
| 臨床研究 | 40+ | ClinicalTrials.gov, FDA, GWAS |
| タンパク質研究 | 60+ | UniProt, InterPro, HPA (Human Protein Atlas) |
| 創薬・薬理 | 50+ | OpenTargets, PharmGKB, DGIdb |
| 地球科学 | 20+ | GBIF, OBIS, 古生物学 |
| 物理・天文学 | 15+ | SIMBAD, Astropy |
| 神経科学 | 10+ | 脳データベース |
| シングルセル | 20+ | ScanPy, AnnData, scVelo |
4.2 機能別ツール
| 機能 | 説明 | 代表的ツール |
|---|---|---|
| ML Models | 機械学習による予測・分類 | ADMET予測, Transcriptformer |
| AI Agents | 自律的なタスク実行 | Drug Discovery Agent, Literature Synthesis Agent |
| Databases | 構造化データの検索・取得 | DrugBank, UniProt, ChEMBL |
| Embedding Stores | ベクトル検索 | 文献埋め込み検索 |
| APIs | 外部サービス連携 | OpenTargets, Reactome, KEGG |
| Human Expert Feedback | 人間専門家の介入 | 実験結果レビュー |
4.3 データソース一覧(抜粋)
| カテゴリ | 主要データソース |
|---|---|
| 📚 文献・論文 | PubMed, arXiv, bioRxiv, medRxiv, Semantic Scholar, Europe PMC, CrossRef, OpenAlex, DOAJ, CORE |
| 🧬 遺伝子・タンパク質 | UniProt, Ensembl, KEGG, Gene Ontology, Reactome, InterPro, RCSB PDB, AlphaFold |
| 💊 創薬・薬理 | DrugBank, ChEMBL, PubChem, PharmGKB, DGIdb, OpenTargets, ClinicalTrials.gov |
| 🔬 疾患・臨床 | ClinVar, GWAS Catalog, gnomAD, cBioPortal, FDA (薬物有害事象, ラベリング) |
| 🧪 構造生物学 | RCSB PDB, AlphaFold, EMDB, Boltz2 |
| 🧫 シングルセル | Human Cell Atlas, CellXGene |
| 🌐 一般データ | Wikipedia, Wikidata, DBpedia |
5. 利用方法
5.1 システム要件
- Python: 3.10以上
- パッケージマネージャ: uv(推奨)またはpip
- インターネット接続: APIアクセスに必要
- GPU: 機械学習モデル用(オプション)
- APIキー: 外部サービス用(オプション)
5.2 インストール
# 推奨: uv を使用
uv pip install tooluniverse
# pip を使用
pip install tooluniverse
# オプション依存関係付き
pip install tooluniverse[dev] # 開発ツール
pip install tooluniverse[embedding] # 埋め込み機能
pip install tooluniverse[all] # すべての依存関係
インストール確認:
import tooluniverse
print(f"ToolUniverse version: {tooluniverse.__version__}")
print("✅ Installation successful!")
5.3 Python SDKでの利用
from tooluniverse import ToolUniverse
# ToolUniverse初期化
tu = ToolUniverse()
tu.load_tools() # 700+ ツールを読み込み
# ツール検索: キーワードベース
tools = tu.run({
"name": "Tool_Finder_Keyword",
"arguments": {"description": "disease target associations", "limit": 10}
})
# ツール実行例: OpenTargetsで高血圧関連ターゲットを検索
result = tu.run({
"name": "OpenTargets_get_associated_targets_by_disease_efoId",
"arguments": {"efoId": "EFO_0000537"} # hypertension
})
print(result)
5.4 ツール検索の3つの方式
ToolUniverseは自然言語でツールを検索できます。
# 1. キーワード検索
tools = tu.run({
"name": "Tool_Finder_Keyword",
"arguments": {"description": "protein structure prediction", "limit": 10}
})
# 2. 埋め込みベースの検索 (GPU推奨)
tools = tu.run({
"name": "Tool_Finder",
"arguments": {"description": "タンパク質の3次元構造を予測したい"}
})
# 3. LLMベースの検索(より高精度)
tools = tu.run({
"name": "Tool_Finder_LLM",
"arguments": {"description": "What tools can predict drug-target interactions?"}
})
5.5 MCP統合
ToolUniverseはModel Context Protocol (MCP) に対応しており、Claude Desktop等と直接統合できます。
Claude Desktop設定例 (claude_desktop_config.json):
{
"mcpServers": {
"tooluniverse": {
"command": "python",
"args": ["-m", "tooluniverse.smcp_server", "--transport", "stdio"],
"env": {
"FASTMCP_NO_BANNER": "1",
"PYTHONWARNINGS": "ignore"
}
}
}
}
6. Space Configuration
6.1 Space Configurationとは
Space Configurationは、研究分野別にツールセットを簡単に構成・共有できる機能です。YAML形式で定義し、ローカルファイル、HuggingFace、URLから読み込めます。
from tooluniverse import ToolUniverse
tu = ToolUniverse()
config = tu.load_space("./examples/spaces/drug-discovery.yaml")
print(f"✅ Loaded: {config.get('name')}")
print(f" Tools available: {len(tu.all_tools)} tools")
6.2 事前定義されたSpace Configuration
| Space | 説明 | ツール数 |
|---|---|---|
| drug-discovery.yaml | 創薬研究ツール | ~200 |
| clinical-trials.yaml | 臨床研究ツール | ~50 |
| literature-search.yaml | 文献検索ツール | ~30 |
| protein-research.yaml | タンパク質研究ツール | ~60 |
| genomics.yaml | ゲノミクスツール | ~60 |
| bioinformatics.yaml | バイオインフォマティクスツール | ~15 |
| structural-biology.yaml | 構造生物学ツール | ~35 |
| cheminformatics.yaml | 化学情報学ツール | ~20 |
| disease-research.yaml | 疾患研究ツール | ~40 |
| full-workspace.yaml | 全分野ツール | 449 |
| gemini-essential.yaml | Gemini CLI用 (500制限内) | ~400-450 |
6.3 Space Configuration の例
name: "Drug Discovery Workspace"
version: "1.0.0"
description: "Essential tools for drug discovery research"
tags: ["drug-discovery", "pharmaceutical", "chemistry"]
tools:
# 明示的ツールリスト(推奨)
include_tools:
- "ChEMBL_search_molecule"
- "ClinicalTrials_search_studies"
- "OpenTargets_get_associated_targets_by_disease_efoId"
- "ADMETAI_predict_toxicity"
# または、カテゴリで指定
categories:
- "ChEMBL"
- "clinical_trials"
- "opentarget"
# 除外ツール(オプション)
exclude_tools:
- "problematic_tool"
# LLM設定(オプション)
llm_config:
mode: "default" # default, fallback, env_override
default_provider: "CHATGPT" # CHATGPT, GEMINI, OPENROUTER, VLLM
models:
default: "gpt-4o"
temperature: 0.3
# 出力処理フック(オプション)
hooks:
- type: "SummarizationHook"
enabled: true
config:
max_length: 500
include_key_points: true
6.4 Space のロード方法
# STDIO mode (Claude Desktop用)
tooluniverse-smcp-stdio --load "./my-config.yaml"
# HTTP mode
tooluniverse-smcp-server --load "community/proteomics-toolkit" --port 8000
# HuggingFace から
tooluniverse-smcp-stdio --load "hf:username/repo@v1.0.0"
# URLから
tooluniverse-smcp-stdio --load "https://example.com/config.yaml"
7. LLMプロバイダー連携
7.1 対応LLMプロバイダー
| プロバイダー | 環境変数 | 特徴 |
|---|---|---|
| ChatGPT | OPENAI_API_KEY |
OpenAI公式API |
| Gemini | GOOGLE_API_KEY |
Google AI |
| OpenRouter | OPENROUTER_API_KEY |
100+モデルへのアクセス |
| vLLM | VLLM_SERVER_URL |
セルフホストモデル |
| Azure OpenAI |
AZURE_OPENAI_API_KEY, AZURE_OPENAI_ENDPOINT
|
Azure統合 |
7.2 OpenRouter統合
OpenRouterを使用すると、単一のAPIで複数プロバイダーのモデルにアクセスできます。
対応モデル例:
openai/gpt-5anthropic/claude-sonnet-4.5google/gemini-2.5-flashgoogle/gemini-2.5-pro-
qwen/qwq-32b(推論モデル)
from tooluniverse import ToolUniverse
tu = ToolUniverse()
# OpenRouterを使用するAgenticToolの定義
tool_config = {
"name": "GPT5_Analyzer",
"description": "Analyze text using GPT-5 via OpenRouter",
"type": "AgenticTool",
"prompt": "Analyze the following: {text}",
"input_arguments": ["text"],
"parameter": {
"type": "object",
"properties": {
"text": {"type": "string", "required": True}
},
"required": ["text"]
},
"configs": {
"api_type": "OPENROUTER",
"model_id": "openai/gpt-5",
"temperature": 0.3,
"return_json": False,
"return_metadata": True
}
}
tu.register_tool_from_config(tool_config)
result = tu.execute_tool("GPT5_Analyzer", {"text": "Your text here"})
7.3 vLLM統合
セルフホストのLLMを使用する場合:
# 環境変数の設定
export VLLM_SERVER_URL="http://localhost:8000"
export TOOLUNIVERSE_LLM_DEFAULT_PROVIDER="VLLM"
export TOOLUNIVERSE_LLM_MODEL_DEFAULT="meta-llama/Llama-3.1-8B-Instruct"
Space Configuration での設定:
llm_config:
mode: "env_override"
default_provider: "VLLM"
models:
default: "meta-llama/Llama-3.1-8B-Instruct"
7.4 LLM Configuration モード
| モード | 説明 | 優先順位 |
|---|---|---|
| default | Space設定をデフォルトとして使用 | Space > Built-in |
| fallback | Space設定をフォールバックとして使用 | Built-in, API失敗時にSpace |
| env_override | 環境変数が最優先 | Env > Tool > Space > Built-in |
8. Compact Mode
8.1 Compact Modeとは
Compact Modeは、コンテキストウィンドウ使用量を99%削減しながら、フル機能を維持する特別な設定です。
| 項目 | 通常モード | Compact Mode |
|---|---|---|
| 公開ツール数 | ~750 | 4-5 |
| コンテキスト使用量 | 高い | 低い(99%削減) |
| 機能 | フル | フル(execute_tool経由) |
8.2 Core Tools(Compact Mode)
-
list_tools- 利用可能ツールのリスト表示 -
grep_tools- テキスト/正規表現でツール検索 -
get_tool_info- ツール情報取得(説明または完全定義) -
execute_tool- 任意のToolUniverseツールを実行 -
find_tools- AI駆動のツール発見(オプション、デフォルト有効)
8.3 Compact Mode の有効化
# STDIO mode (Claude Desktop用)
tooluniverse-smcp-stdio --compact-mode
# HTTP mode
tooluniverse-smcp-server --compact-mode --port 8000
Claude Desktop設定:
{
"mcpServers": {
"tooluniverse-compact": {
"command": "python",
"args": [
"-m", "tooluniverse.smcp_server",
"--transport", "stdio",
"--compact-mode"
],
"env": {
"FASTMCP_NO_BANNER": "1",
"PYTHONWARNINGS": "ignore"
}
}
}
}
8.4 Compact Mode ワークフロー
# 1. ツールリスト取得
tools = list_tools(mode="names") # ~750 ツール名
# 2. ツール検索
results = grep_tools(pattern="protein", field="name", limit=10)
# 3. ツール詳細取得
info = get_tool_info(tool_names="UniProt_get_entry_by_accession", detail_level="full")
# 4. ツール実行
result = execute_tool(
tool_name="UniProt_get_entry_by_accession",
arguments={"accession": "P05067"}
)
8.5 使い分けガイド
| 機能 | Space Configuration | Compact Mode |
|---|---|---|
| 公開ツール数 | ~400-450 | 4-5 |
| 直接アクセス | ○ | execute_tool経由 |
| コンテキスト使用量 | 中 | 最小(99%削減) |
| ツール発見 | 不要 | list_tools, grep_tools |
| 推奨用途 | よく使うツールへの直接アクセス | 最小コンテキスト使用 |
9. ユースケース
9.1 ケーススタディ: 高コレステロール血症の創薬
論文で紹介されているケーススタディでは、ToolUniverseを使用してAI科学者が以下のワークフローを実行しました:
成果: 既存薬の有望なアナログを発見し、予測特性が良好な化合物を同定
9.2 研究ワークフロー例
| ワークフロー | 使用Space | 使用ツール | 成果物 |
|---|---|---|---|
| 文献レビュー | literature-search.yaml | PubMed, Semantic Scholar, arXiv | 関連論文リスト、要約 |
| 遺伝子解析 | genomics.yaml | Ensembl, gnomAD, GTEx | 変異情報、発現パターン |
| 創薬探索 | drug-discovery.yaml | DrugBank, ChEMBL, OpenTargets | 創薬ターゲット候補 |
| タンパク質解析 | protein-research.yaml | UniProt, AlphaFold, PDB | 構造予測、機能アノテーション |
| 臨床情報 | clinical-trials.yaml | ClinicalTrials.gov, ClinVar | 臨床試験情報、病原性評価 |
| End-to-End | full-workspace.yaml | 449ツール | 総合的研究成果 |
9.3 Human Expert Feedbackシステム
ToolUniverseには、人間の専門家をループに組み込むシステムが含まれています。
利用可能ツール:
-
consult_human_expert- 専門家への相談 -
get_expert_response- 専門家からの回答取得 -
get_expert_status- 相談ステータス確認
# Expert Feedbackサーバー起動
python -m tooluniverse.remote.expert_feedback
# Web UI経由で専門家がフィードバックを提供
10. 対応AIシステム
10.1 統合可能なLLM/エージェント
ToolUniverseは以下のAIシステムと統合できます。
| システム | 統合方式 | チュートリアル |
|---|---|---|
| Claude Desktop | MCP | Claude Desktop Integration |
| Claude Code | MCP | Claude Code Integration |
| Gemini CLI | MCP | Gemini CLI Integration |
| Qwen Code | MCP | Qwen Code Integration |
| GPT Codex CLI | MCP | Codex CLI Integration |
| ChatGPT API | HTTP API | ChatGPT API Integration |
| OpenRouter | HTTP API | OpenRouter Support |
| vLLM | ローカル | vLLM Support |
| smolagents | Python | Smolagents Integration |
10.2 AI Scientistの構築
11. 関連リソース
11.1 公式リンク
| リソース | URL |
|---|---|
| 公式サイト | https://aiscientist.tools/ |
| ドキュメント | https://zitniklab.hms.harvard.edu/ToolUniverse/ |
| GitHub | https://github.com/mims-harvard/ToolUniverse |
| PyPI | https://pypi.org/project/tooluniverse |
| 論文 (arXiv) | https://arxiv.org/abs/2509.23426 |
| Slack Community | 参加リンク |
| ツール一覧 | https://zitniklab.hms.harvard.edu/ToolUniverse/tools/tools_config_index.html |
11.2 ドキュメント構成
| カテゴリ | リソース |
|---|---|
| Getting Started | Quick Start, Installation, Getting Started, AI-Tool Protocol |
| User Guides | Loading Tools, Tool Discovery, Tool Caller, Tool Composition |
| Advanced Features | Tool Optimization, Output Hooks |
| Expanding | Architecture, Local Tool Registration, Remote Tool Registration, Contributing Tools |
| API Reference | API Directory, Core Modules, Tool Classes, Compose Scripts, MCP Integration |
11.3 研究チーム
Zitnik Lab @ Harvard Medical School
- 公式サイト
- 専門: AI for Biomedicine, Graph Neural Networks, Drug Discovery
主要著者:
- Shanghua Gao (メンテナー)
- Richard Zhu, Pengwei Sui, Zhenglun Kong, Sufian Aldogom, Yepeng Huang, Ayush Noori, Reza Shamji, Krishna Parvataneni 他
11.4 引用情報
@article{gao2025tooluniverse,
title={Democratizing AI scientists using ToolUniverse},
author={Gao, Shanghua and Zhu, Richard and Sui, Pengwei and others},
journal={arXiv preprint arXiv:2509.23426},
year={2025}
}
まとめ
ToolUniverseは、科学研究のためのLLMツール統合基盤として、以下の特徴を持っています。
| 観点 | 特徴 |
|---|---|
| 包括性 | 700+の科学ツールを1つのインターフェースで利用可能 |
| 相互運用性 | 主要LLM(Claude, GPT, Gemini, Qwen等)およびOpenRouter経由100+モデルと統合可能 |
| 拡張性 | ローカル/リモートツールの追加が容易、Space Configurationで共有可能 |
| オープン性 | オープンソース(MIT License)、学術コミュニティ駆動 |
| 標準化 | MCP対応、AI-Tool Interaction Protocolによる標準化 |
| 効率性 | Compact Modeでコンテキスト使用量99%削減 |
| 柔軟性 | vLLM対応でセルフホストLLM利用可能 |
AI for Scienceの研究において、LLMを科学研究ツールと接続するための重要な基盤となっています。
参考文献(References)
[1] Democratizing AI scientists using ToolUniverse - Gao et al., arXiv:2509.23426, 2025
[2] ToolUniverse Official Website - Zitnik Lab, 2026
[3] ToolUniverse Documentation - Harvard Medical School, 2026
[4] ToolUniverse GitHub Repository - MIMS Harvard, 2026
[5] Model Context Protocol (MCP) - Anthropic, 2024
[6] OpenRouter - OpenRouter, 2026