mcpField
T
tooluniverse-cs-setup

tooluniverse-cs-setup

github.com/mims-harvardAgent 工作流1.8k81 次安装2 天前更新
代码仓库

关于 tooluniverse-cs-setup

这是为 Claude Science 配置 ToolUniverse 的技能,通过安装 Python 包并载入研究工作流技能来提供工具能力。它以原生工作流替代 Claude Code 插件中的 MCP 服务、斜杠命令和插件安装流程。

主要功能

  1. 01创建并配置 tooluniverse conda 环境
  2. 02安装或升级 tooluniverse Python 包
  3. 03构建并发布研究工作流技能
  4. 04通过自然语言路由调用工作流
  5. 05提供验证与更新步骤

适用场景

  1. 01在 Claude Science 中安装 ToolUniverse
  2. 02更新工具包和研究工作流
  3. 03将工作流文件发布到技能目录
  4. 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.py
templates/
research_kernel.py
router_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 状态刷新工作流库。

评论

支持 Markdown