← Back to directory
C

CLIO Spack

Community
Structured Spack discovery and installation tools for scientific agents
Category
Dev Tools #258 of 438
Stars
★ 30 Popular
Transport
stdio (local process)
Runtime
Python 3.10+ · Prebuilt binary
Credentials
No credential needed
License
BSD-3-Clause
Last commit
Tools
3
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
Why each score
Reliability 10/20
The server is served by the clio-kit package (installed via uv tool, stdio transport) and launched with 'clio-kit mcp-server spack'. The three declared tools (spack_find, spack_locate, spack_install) are plausible and align with spack's typical discovery/install workflow. Documentation states spack install behavior is made explicit (reuse flags) and error semantics are differentiated (not_installed vs real errors), but no committed tests or CI configuration specific to this server are evident in the provided evidence, so no static verification that the tools start and execute. Tool input schemas and error handling could not be independently confirmed from source files. Due to limited static evidence, reliability is capped at 12; given the solid design described, a conservative 10 is assigned rather than a higher value.
Security and permissions 10/20
The server does not appear to handle external network, credentials, or PII. It only executes spack install upon explicit user request, with an explicit reuse argument. The documentation emphasizes discover-then-install and passing the spack_locate output unchanged to jarvis, which avoids trusting derived executable paths. No obvious overreach in data access or side effects is described. However, implementation details are not fully reviewed, so a moderate score of 10 is given. Red lines are not triggered.
Maintenance 10/20
The repository shows signs of active maintenance: regular commits (CI workflows, quality badges), a license (BSD-3-Clause), and reference to linting/type checking/security audits. The specific spack-mcp server is versioned at 2.1.0, indicating versioned releases within the clio-kit ecosystem. Yet, the monolithic multi-server repository makes it hard to assess per-server release cadence, issue response, and dependency updates from the given evidence. No specific security response channel is mentioned. Overall maintenance activity appears sustained but governance evidence for this individual server is thin, earning 10.
Documentation 10/20
The README provides clear installation commands (`clio-kit mcp-server spack`), client configuration examples for Cursor, Claude Code, VS Code, and Claude Desktop, which are applicable to this server. The manifest includes tool descriptions and a resource/prompt, giving an overview. However, documentation is largely generic; there is no dedicated tutorial or troubleshooting section for the spack-mcp server. It does not fully specify input schemas for each tool or explain edge cases in practical depth, such as what 'verify matching install is observable' entails or how to use spack_locate output with jarvis beyond a generic mention. Thus, deductions are made for missing details, resulting in a score of 10.
Setup experience 10/20
The install path is straightforward: `uv tool install clio-kit` then `clio-kit mcp-server spack`. Client configuration examples are abundant in the README, and the manifest declares the server's package and transport, which implies a standard setup in MCP clients. Since the server is part of the clio-kit distribution, there is no separate install step. However, no specific step-by-step setup for this server (beyond generic commands) is given, and there is no evidence that the server has been tested in a clean environment or that spack itself is installed as a prerequisite. Therefore, setup is not flawless; following the static calibration, without execution evidence, setup is capped at 15, but given the clear uv-based installation and config examples, 10 is a reasonable score.

Static review · not runListed 2026-09-08

Read the FMRS scoring method →

Fit and risk

What it can accessRuns commands or code

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.

Setup

Before you start

Runtime:Python 3.10+ · Prebuilt binary

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

Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "spack-mcp": {
      "command": "clio-kit",
      "args": [
        "mcp-server",
        "spack"
      ]
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add spack-mcp -- clio-kit mcp-server spack

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

Confirm the tools spack_find, spack_locate, and spack_install appear in the client's tool list; then call spack_find — even a count=0 result with packages=[] proves the server is connected.

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.

Things to try

Once connected, you can ask your AI assistant things like:

  • List installed Spack packages matching hdf5
  • Locate the installed zlib spec and give me the spack_locate output
  • Install [email protected] using reuse=true so existing concretization is reused

Tools 3

spack_find read-only
List installed Spack packages matching an optional constraint. No matches is a successful result with count=0 and packages=[].
spack_locate read-only
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 writes
Install one Spack spec with explicit reusable or fresh concretization and verify that a matching install is observable.

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 Desktop
Claude Code
Cursor
VS Code

Listed from the project's documentation, not tested by this site.

Overview

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.

Similar servers

Context7 80 · B

Upstash's official server providing up-to-date third-party library docs for AI coding assistants

★ 63.3k · Tools 2 Compare with this →

Source revision 93e41d70d6c2 Data synced 2026-10-19 Read the FMRS scoring method