tooluniverse-cs-setup について
Python パッケージのインストールと研究ワークフロースキルの読み込みにより、Claude Science に ToolUniverse を導入するセットアップスキルです。Claude Code プラグインの MCP サーバーやスラッシュコマンド、マーケットプレイス経由の導入を使わず、ネイティブなワークフローに置き換えます。
主な機能
- 01tooluniverse conda 環境の作成と設定
- 02tooluniverse Python パッケージの導入・更新
- 03研究ワークフロースキルの構築と公開
- 04自然言語によるワークフロー呼び出し
- 05動作確認と更新の手順
活用シーン
- 01Claude Science への ToolUniverse の導入
- 02パッケージと研究ワークフローの更新
- 03ワークフローファイルのスキルカタログへの公開
- 04ツール呼び出しの動作確認
MCP 対応
このセットアップでは MCP サーバーを使わず、tooluniverse Python パッケージと動的に読み込む tooluniverse-research スキルを通じて機能を提供します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mims-harvard/ tooluniverse --skill tooluniverse-cs-setupインストール後、Claude Code で/tooluniverse-cs-setupを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
kernel.pytemplates/research_kernel.pyrouter_SKILL.md詳細
Claude Science 用に ToolUniverse をセットアップする
上流の ToolUniverse には、Claude Code プラグイン(MCP サーバー+uvx+スラッシュコマンド)が含まれています。Claude Science では機能の読み込み方法が異なるため、このスキルでは同等の機能をネイティブに導入します。tooluniverse pip パッケージが 2500 以上のツールを提供し、ワークフローライブラリは、動的に読み込まれる単一のスキル tooluniverse-research にパッケージ化されています。uv も MCP サーバーもプラグインマーケットプレイスも必要ありません。
このスキルを読み込むと、カーネルに tu_build_research_bundle() が定義されます(セルは tooluniverse conda 環境で実行してください)。
インストール/更新の全手順 — 4 ステップ
1. conda 環境を作成する(すでに存在する場合はスキップしてください):
manage_environments(mode="create", name="tooluniverse", python_version="3.11", packages=["pip"])
2. ツールをインストール(またはアップグレード)する — pip パッケージがツールレイヤーです:
manage_packages(mode="install", environment="tooluniverse", packages=["tooluniverse"], use_pip=True)
再現性を確保するには、["tooluniverse==1.3.0"] のようにバージョンを固定します。
3. ワークフローバンドルをステージングする — 現在のリポジトリを取得してファイルツリーを再構築します(python セルで、環境は tooluniverse):
res = tu_build_research_bundle(staging="./tu_staging")
res # {out_dir, n_workflows, n_files, dropped, files_head}
これにより、リポジトリの tarball をダウンロードし、すべての tooluniverse-* ワークフローを解析して(プラグイン/インストーラーの項目は除外)、./tu_staging/out/ に SKILL.md、kernel.py、index.json、workflows/*.md を書き込みます。
4. スキルを公開する — ステージングしたツリーをカタログにプッシュします(repl ツールで実行してください。host.skills.* は python ではなく、こちらで利用できます):
import os
SKILL = "tooluniverse-research"
out = os.path.abspath("./tu_staging/out")
if any(s["name"] == SKILL for s in host.skills.list()):
host.skills.delete(SKILL) # clean rebuild
for root, _d, fs in os.walk(out):
for f in fs:
p = os.path.join(root, f)
rel = os.path.relpath(p, out)
host.skills.edit(SKILL, rel, open(p, encoding="utf-8").read())
print(host.skills.publish(SKILL, overwrite=True))
(kernel.py がサイドカーのゲートに合格しない場合、host.skills.publish は公開を拒否します。判定結果は edit の結果に含まれます。)
確認
skill("tooluniverse-research") # loads router + injects helpers
tu = get_tu()
tu.run({"name": "PubChem_get_CID_by_compound_name", "arguments": {"name": "metformin"}})
# -> {'status': 'success', 'data': {'IdentifierList': {'CID': [4091]}}}
補足
- サンドボックスのキャッシュ:ToolUniverse はデフォルトでキャッシュを
~/.tooluniverseに保存しますが、ここでは読み取り専用です。get_tu()はTOOLUNIVERSE_CACHE_DIRを使ってワークスペースに保存先を変更します。設定は不要です。 - API キー(任意):ほとんどのツールは API キーなしで動作します。NCBI/OncoKB/NVIDIA などを利用する場合は、Customize → Credentials でキーを追加し、
tooluniverse環境で使用できるようにしてください。 - 移植されていないもの:プラグインのスラッシュコマンド(
/tooluniverse:research)と MCP サーバーは移植されていません。自然言語ルーティング(search_skills→find_tu_workflow)に置き換えられています。2 つの*-pluginインストーラーのドキュメントは、研究以外の項目として除外されています。 - 更新:ステップ 2~4 を再実行してください。ステップ 2 でツールをアップグレードし、ステップ 3~4 で最新の GitHub の状態からワークフローライブラリを更新します。