← 返回目录
C

CLIO Spack

社区
为科学智能体提供的结构化 Spack 发现与安装工具
GitHub 源仓库 ↗
★ 26 Stars 分类 · 开发工具 热门 源版本 a0bc2ef89393
50FMRS · D

CLIO Spack 为 Spack 环境提供了结构化的包管理接口,设计明确,适合 AI 代理在 HPC 场景下自动化操作。工具命名清晰,错误处理具体(如 not_installed),但需注意安装操作可能对系统产生实际影响。总体可作为 Spack 与智能体之间的可靠桥梁。

可靠性
10/20
安全与权限
10/20
维护活跃度
10/20
文档质量
10/20
安装易用性
10/20
查看 FMRS 评分方法 →

CLIO Spack 是 IoWarp CLIO Kit 工具包中的一个 MCP 服务器,为 AI 代理提供结构化的 Spack 包管理能力。它通过 find、locate 和 install 三个工具,帮助智能体在 HPC 环境中查询已安装的软件包、定位精确的 spec,并使用可复用的具体化策略安装新包。该服务器专为科学计算场景设计,确保安装结果与现实环境一致。它属于 CLIO Kit 项目的一部分,该项目包含多个 MCP 服务器,但此处仅描述 Spack 服务器。

工具能力

spack_find
列出满足可选约束的已安装 Spack 包。若无匹配项,将返回成功结果,count=0 且 packages=[]。
spack_locate
解析一个唯一已安装的 Spack spec。将 spack_locate.output.load_spec 原样复制到 jarvis_run.input.spack_specs 中,不要从返回的前缀派生或传递可执行路径。若包不存在,则返回结构化的 not_installed 错误。
spack_install
使用显式的可重用或全新具体化安装一个 Spack spec,并验证可观察到匹配的安装。

安装接入

  1. 安装 uv(若未安装):curl -LsSf https://astral.sh/uv/install.sh | sh
  2. 安装 clio-kit:uv tool install 'clio-kit==2.10.6'
  3. 更新 shell:uv tool update-shell
  4. 验证服务器列表:clio-kit mcp-servers
  5. 配置客户端:在 MCP 配置中添加命令 "clio-kit" 和参数 ["mcp-server", "spack"]

示例(Claude Desktop):
{
"mcpServers": {
"spack-mcp": {
"command": "clio-kit",
"args": ["mcp-server", "spack"]
}
}
}

claude_desktop_config.json
{
  "mcpServers": {
    "spack-mcp": {
      "command": "clio-kit",
      "args": [
        "mcp-server",
        "spack"
      ]
    }
  }
}

选型与风险

适合谁

  • 需要在 Spack 管理的 HPC 环境中进行包发现和安装的 AI 代理。
  • 想要以结构化方式与 Spack 交互以减少错误解析的科学计算工作流。

不适合谁

  • 非 Spack 环境的包管理(如 pip、conda)。
  • 需要任意命令行执行或自定义 Spack 命令的通用场景。

所需权限

  • 执行 Spack 命令(spack find、spack locate、spack install)以管理软件包。
  • 读取 Spack 安装信息,以确定已安装的包和版本。

风险与副作用

  • 安装新包可能会修改系统状态,具有潜在影响。
  • 具体化选项(reuse/fresh)可能影响依赖解析和安装时间。
  • 服务器提供结构化输出,但实际安装在底层系统执行,需确保 Spack 环境正确配置。

常见排障

  1. 确保 clio-kit 已正确安装,且 'clio-kit' 命令在 PATH 中(运行 'uv tool update-shell')。
  2. 验证 Spack 是否已安装并可用,可尝试运行 'spack --version'。
  3. 如果服务器未找到,请检查名称拼写并使用 'clio-kit mcp-servers' 列出可用服务器。
  4. 查看 CLIO Kit 文档或 GitHub Issues 获取更多帮助。

使用场景

在 HPC 环境中查找已安装的 Spack 包,例如查询特定库是否存在。
解析一个精确的 Spack spec,以便将其传递给 JARVIS 工作流进行运行时加载。
安装一个带有显式具体化策略的新包,并验证安装结果。

支持客户端

Claude Desktop完整支持
Claude Code完整支持
Cursor完整支持
VS Code完整支持