klone-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@klone-mcprun squeue to see my SLURM jobs"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
klone-mcp
A minimal MCP server for UW Hyak (klone). Exposes two tools — klone_run
and klone_put_file — plus documentation resources covering klone's
filesystem layout, SLURM conventions, and curated shell commands.
Agents already know how to use squeue, sacct, sbatch, du, etc.
This MCP doesn't wrap them. It just gives the agent a safe way to run
commands on klone, write files, and find out what klone-specific
utilities exist.
If you want pre-typed wrappers around SLURM (klone_squeue, klone_log,
klone_submit, …) checkout the structured-tools branch.
Prerequisites
Python 3.10+
A working SSH alias
kloneon your machine. Add this block to~/.ssh/configif you don't have it (replaceYOUR_UWNETID):Host klone HostName klone.hyak.uw.edu User YOUR_UWNETID ControlMaster auto ControlPath ~/.ssh/cm-%r@%h:%p ControlPersist 10h ServerAliveInterval 60Then run
ssh kloneonce, complete the Duo push, and leave the terminal open. The persistent connection meansssh klone <cmd>from any other terminal won't re-prompt for the next 10 hours. The MCP reuses this same connection.
Install
cd ~/klone/klone-mcp
pip install -e .Or with uv:
cd ~/klone/klone-mcp
uv venv && source .venv/bin/activate && uv pip install -e .Verify it runs
ssh klone whoami # must return your NetID — seed the SSH session first
mcp dev klone_mcp/server.pyThe MCP Inspector opens in a browser tab. Call:
klone_runwithcmd="whoami"— should return your NetIDRead resource
klone://docs/quickstart— should return the storage/safety overview
Kill with Ctrl+C when done.
Register with Claude Code
claude mcp add klone -- python -m klone_mcp.serverThe -- is required because claude mcp add would otherwise try to
parse -m as its own flag.
If you installed into a venv, point at that venv's Python:
claude mcp add klone -- /path/to/.venv/bin/python -m klone_mcp.serverOr edit ~/.claude/settings.json directly:
{
"mcpServers": {
"klone": {
"command": "python",
"args": ["-m", "klone_mcp.server"]
}
}
}Use it
claudeInside the session:
"Run
klone_runwithwhoami."
Should return your NetID. If Duo expired, you'll get a structured re-auth
prompt — open a terminal, do ssh klone, complete Duo, leave that
terminal open, and ask the agent to retry.
Tools
Tool | Purpose |
| Run any shell command on klone. Returns stdout. |
| Write content to a remote path. Content piped via SSH stdin (no ARG_MAX limit). |
Things like df, du, sinfo, hyakalloc, scontrol, squeue, sacct, sbatch are not separate tools — invoke them via klone_run. See the klone://docs/commands resource for a curated list.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/aurasoph/hyak-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server