关于 tooluniverse-cs-setup
这是为 Claude Science 配置 ToolUniverse 的技能,通过安装 Python 包并载入研究工作流技能来提供工具能力。它以原生工作流替代 Claude Code 插件中的 MCP 服务、斜杠命令和插件安装流程。
主要功能
- 01创建并配置 tooluniverse conda 环境
- 02安装或升级 tooluniverse Python 包
- 03构建并发布研究工作流技能
- 04通过自然语言路由调用工作流
- 05提供验证与更新步骤
适用场景
- 01在 Claude 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 环境中运行单元格)。
完整安装/更新——四个步骤
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 未通过 sidecar 检查,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 密钥(可选):大多数工具无需密钥即可使用。对于 NCBI/OncoKB/NVIDIA 等服务,请在 Customize → Credentials 中添加密钥,然后在
tooluniverse环境中提供这些密钥。 - 未移植的内容:插件的斜杠命令(
/tooluniverse:research)和 MCP 服务——已由自然语言路由(search_skills→find_tu_workflow)取代。两个*-plugin安装程序文档作为非研究条目被丢弃。 - 更新:重新运行步骤 2–4。步骤 2 会升级工具;步骤 3–4 会根据最新的 GitHub 状态刷新工作流库。