mcpField
T
tooluniverse-cs-setup

tooluniverse-cs-setup

github.com/mims-harvardAgent workflows1.8k81 installsUpdated 2d ago
Repository

About tooluniverse-cs-setup

A setup skill that equips Claude Science with ToolUniverse by installing its Python package and loading a research workflow skill. It replaces the Claude Code plugin's MCP server, slash commands, and marketplace installation with a native workflow.

Key features

  1. 01Create and configure a tooluniverse conda environment
  2. 02Install or upgrade the tooluniverse Python package
  3. 03Build and publish the research workflow skill
  4. 04Route workflow calls through natural language
  5. 05Provide verification and update steps

Use cases

  1. 01Install ToolUniverse in Claude Science
  2. 02Update the package and research workflows
  3. 03Publish workflow files to the skill catalog
  4. 04Verify that tool calls work

MCP support

This setup does not use an MCP server; it provides capabilities through the tooluniverse Python package and the dynamically loaded tooluniverse-research skill.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-cs-setup

After installing, type/tooluniverse-cs-setupin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

kernel.py
templates/
research_kernel.py
router_SKILL.md

Details

From the project README

Set up ToolUniverse for Claude Science

The upstream ToolUniverse ships a Claude Code plugin (MCP server + uvx + slash commands). Claude Science loads capabilities differently, so this skill installs the equivalent natively: the tooluniverse pip package supplies the 2500+ tools, and the workflow library is packaged into a single dynamically-loaded skill, tooluniverse-research. No uv, no MCP server, no plugin marketplace.

Loading this skill defines tu_build_research_bundle() in the kernel (run cells in the tooluniverse conda env).

Full install / update — four steps

1. Create the conda env (skip if it already exists):

manage_environments(mode="create", name="tooluniverse", python_version="3.11", packages=["pip"])

2. Install (or upgrade) the tools — the pip package is the tool layer:

manage_packages(mode="install", environment="tooluniverse", packages=["tooluniverse"], use_pip=True)

Pin a version for reproducibility with ["tooluniverse==1.3.0"].

3. Stage the workflow bundle — fetch the current repo and rebuild the file tree (run in a python cell, env tooluniverse):

res = tu_build_research_bundle(staging="./tu_staging")
res  # {out_dir, n_workflows, n_files, dropped, files_head}

This downloads the repo tarball, parses every tooluniverse-* workflow (dropping the plugin/installer entries), and writes ./tu_staging/out/ = SKILL.md, kernel.py, index.json, workflows/*.md.

4. Publish the skill — push the staged tree into the catalog (run in the repl tool; host.skills.* lives there, not in 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))

(host.skills.publish refuses if kernel.py fails the sidecar gate — the edit result carries the verdict.)

Verify

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]}}}

Notes

  • Sandbox cache: ToolUniverse defaults its cache to ~/.tooluniverse, which is read-only here; get_tu() redirects it to the workspace via TOOLUNIVERSE_CACHE_DIR. Nothing to configure.
  • API keys (optional): most tools work without them. For NCBI / OncoKB / NVIDIA etc., add keys under Customize → Credentials, then expose them in the tooluniverse env.
  • What is NOT ported: the plugin's slash commands (/tooluniverse:research) and MCP server — replaced by natural-language routing (search_skills → find_tu_workflow). The two *-plugin installer docs are dropped as non-research entries.
  • Updating: rerun steps 2–4. Step 2 upgrades the tools; steps 3–4 refresh the workflow library from the latest GitHub state.

Comments

Markdown supported