← Back to directory
C

CLIO Spack

Community
Structured Spack discovery and installation tools for scientific agents
GitHub source repository ↗
★ 26 Stars Category · Dev Tools Popular Source revision a0bc2ef89393
50FMRS · D

CLIO Spack provides a structured package management interface for Spack environments, with clear design suited for AI agents automating tasks in HPC scenarios. Tool naming is clear, error handling is specific (e.g., not_installed), but note that install operations can have real system impacts. Overall it serves as a reliable bridge between Spack and agents.

Reliability
10/20
Security and permissions
10/20
Maintenance
10/20
Documentation
10/20
Setup experience
10/20
Read the FMRS scoring method →

CLIO Spack is an MCP server from the IoWarp CLIO Kit toolkit that provides AI agents with structured Spack package management capabilities. Through three tools - spack_find, spack_locate, and spack_install - it helps agents query installed packages in HPC environments, locate exact specs, and install new packages with explicit reusable or fresh concretization. The server is designed for scientific computing, ensuring installation results match the real environment. It is part of the CLIO Kit project, which contains multiple MCP servers; only this Spack server is described here.

Tools

spack_find
List installed Spack packages matching an optional constraint. No matches is a successful result with count=0 and packages=[].
spack_locate
Resolve one unique installed Spack spec. Copy spack_locate.output.load_spec unchanged into one element of jarvis_run.input.spack_specs; do not derive or pass an executable path from the returned prefix. An absent package returns the structured not_installed error.
spack_install
Install one Spack spec with explicit reusable or fresh concretization and verify that a matching install is observable.

Setup

  1. Install uv if not present: curl -LsSf https://astral.sh/uv/install.sh | sh
  2. Install clio-kit: uv tool install 'clio-kit==2.10.6'
  3. Update shell: uv tool update-shell
  4. Verify server list: clio-kit mcp-servers
  5. Configure client: add command "clio-kit" with args ["mcp-server", "spack"] in MCP config.

Example (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"
      ]
    }
  }
}

Fit and risk

Best for

  • AI agents requiring package discovery and installation in Spack-managed HPC environments.
  • Scientific computing workflows wanting structured interaction with Spack to reduce parsing errors.

Not for

  • Package management outside of Spack environments (e.g., pip, conda).
  • Generic scenarios needing arbitrary command execution or custom Spack commands.

Required permissions

  • Executes Spack commands (spack find, spack locate, spack install) to manage packages.
  • Reads Spack installation information to determine installed packages and versions.

Risks and side effects

  • Installing new packages may alter system state with potential impacts.
  • Concretization options (reuse/fresh) may affect dependency resolution and installation time.
  • Server provides structured output, but actual installations happen in the underlying system; ensure Spack environment is correctly configured.

Troubleshooting

  1. Ensure clio-kit is installed correctly and 'clio-kit' is on PATH (run 'uv tool update-shell').
  2. Verify Spack is installed and functional by running 'spack --version'.
  3. If server not found, check spelling and list available servers with 'clio-kit mcp-servers'.
  4. Consult CLIO Kit documentation or GitHub Issues for further assistance.

Use cases

Finding installed Spack packages in HPC environments, e.g., checking for a specific library.
Resolving a precise Spack spec for later use in JARVIS workflows for runtime loading.
Installing a new package with explicit concretization strategy and verifying the installation.

Supported clients

Claude DesktopFull support
Claude CodeFull support
CursorFull support
VS CodeFull support