Amadeus
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AMADEUS_SOUND | No | Set to 'off' to turn off the start banner jingle and error sounds. | on |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| access_statusA | Tunnel, certificate expiry and an SSH test. Call first in every session. (Starts the tunnel if it is down; with
wireproxy, a stall before login restarts it, at most once a minute, also from other tools that run commands on
the login node, not yet from the copying in push_files/fetch_files: |
| start_loginA | Start a certificate login (or an early renewal while the current one is still valid) and return the device link. Show the link to the human immediately; it expires after about 60 s. Only one login runs at a time. Call it only when answering a message from the human, not from a cron, /loop or stop-hook turn (AGENTS.md §3). |
| run_commandA | Run a shell command on the login node (bash, non-interactive). |
| list_jobsA | My running and pending jobs (arrays as one row), with the purpose recorded at submission (if submitted through
this server), and what they hold together: nodes at once and the tokens they can still spend at their limits.
For pending jobs |
| job_detailsA | State, exit code, times, time limit, nodes and cost of a job (every array task and requeue attempt), its sbatch
command line, the reason (and dependency) a pending job waits, and the cleaned tails of its output files (at most
20 files). An ended job that failed, or completed with errors in its log, gets a |
| job_logA | Tail of a job's stdout (stream='out'), stderr ('err') or of |
| wait_for_jobA | Wait for one job (job_id) or several (job_ids) and return at the first event that matters, with the new log lines since the last call. Returns at the latest after max_wait_s (10 to 3600). until: 'end' / 'all_end' = all jobs ended (default), 'any_end' = the first job ends, 'any_fail' = the first job ends other than COMPLETED (or all ended), 'start' = a job starts (or ends). Alarms always return at once:
|
| node_execA | Run a short diagnostic command on the node of one of your RUNNING jobs (ssh to compute nodes is refused on
MUSICA; this uses |
| cluster_loadA | Nodes per partition: allocated, idle (free now), planned (held free by the scheduler for jobs next in line:
not available to new jobs, except a short one backfilled before their planned start; plain sinfo %A/%F counts them
as idle), other (down, drained, reserved, maintenance, not responding) and total, plus |
| budgetB | Tokens (credits) used by the whole project since a date, per user, from sacct (CPU nodes included; B200 as node-hours, no published price) and what is left of the configured budget. The projects portal is authoritative. Without a configured account: only the user's own jobs. |
| check_jobA | Check a job before submitting: runbook rules (account, partition/QoS, time, dev limits, CPU limits, script
pitfalls), cost estimate at the time limit, whether a human must approve it (counting your running and pending
jobs), and |
| draft_jobA | Draft a Slurm job script for MUSICA from the runbook's tested patterns; nothing is sent to the cluster.
kind: cpu (part of a CPU node: |
| job_templatesA | Tested job scripts to copy from: Amadeus's jobs/ and the project's template directories (config).
Without |
| submit_jobA | Submit a batch job after the runbook checks (see check_job) and record it in the local ledger.
|
| update_jobA | Change a job: a new time limit (e.g. '02:00:00') or node count (pending jobs only), or release / hold it.
A time limit can be raised only while the job is pending: MUSICA denies raising a running job's limit (lowering
works). The new limits are re-checked like a submission (≥ 4 nodes at once, > 20 tokens need |
| cancel_jobA | Cancel a job. Jobs submitted through this server can be cancelled directly; any other job needs the human's
approval in |
| ledger_entriesC | The last submissions, updates, cancellations and approved commands made through this server (local ledger, ~/.local/state/amadeus/jobs.jsonl by default; AMADEUS_LEDGER overrides). |
| push_filesA | Copy a directory to the cluster (tar over SSH, retried; staged, so a failed push changes nothing; overwrites
files of the same name, never deletes others). mode='tracked': git-tracked and untracked-but-not-ignored files plus
a REVISION file, for code repositories; mode='all': everything except .git, venvs, caches and *.sif.
|
| fetch_filesA | Copy a file or directory from the cluster into local_dir on |
| report_issueA | Report a problem with this server or the cluster interface, for the maintainer session that fixes them. kind: bug | wrong-result | missing-feature | docs | cluster | other. severity: high (blocks work) | medium | low. Give the tool name, the arguments you used, what came back, what you expected, and your project (repository). No secrets. Returns the issue id; list_issues shows its status later. |
| list_issuesA | Issues filed through report_issue or automatically. status: open | in-progress | needs-human | fixed | wontfix | duplicate | all. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| runbook | AGENTS.md: how agents operate MUSICA (rules, patterns, troubleshooting) |
| platform-notes | NOTES.md: MUSICA hardware, Slurm, storage, software and access |
| project-notes | The configured project's notes ([project] notes in the config): budget approvals, what is installed, status |
TDQS
Scored across 21 tools
Tools are largely separable by resource and stage: job lifecycle (list/details/log/wait/check/draft/submit/update/cancel), execution (run_command vs node_exec), file transfer, diagnostics, and issue reporting. A few boundaries blur—job_details already includes log tails, and run_command/node_exec both execute commands—but the descriptions clarify context.
All names are snake_case and readable, but the set mixes verb_noun patterns (submit_job, check_job, push_files) with noun-only names (job_details, cluster_load, budget) and noun_verb (node_exec). The convention is not uniform, though the terms remain reasonably predictable.
21 tools is heavy for an MCP surface and lands in the borderline 16-25 range. The domain is broad—access, Slurm lifecycle, diagnostics, transfers, billing, issues—and no tool is obviously redundant, but the surface feels sprawling.
The core HPC workflow is covered thoroughly: login/access, job drafting/checking/submitting/updating/cancelling, monitoring/waiting/logs, cluster load, budget, transfers, and issue reporting. Minor gaps remain, such as no direct issue-detail/update path or general remote file listing beyond run_command, but workarounds exist.