hydra-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HYDRA_URL | No | URL of the Hydra instance (default https://hydra.nixos.org). Used when no config file is present. | |
| HYDRA_USERNAME | No | Username for the Hydra instance. Used when no config file is present. | |
| HYDRA_MCP_CONFIG | No | Path to the configuration file (default ~/.config/hydra-mcp/config.toml). Can also be set with --config. | |
| HYDRA_PASSWORD_FILE | No | Path to a file containing the password for the Hydra instance. Used when no config file is present. |
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 |
|---|---|
| list_instancesA | List the configured Hydra instances, the default one and whether each can log in for write tools. |
| list_projectsB | List the projects of a Hydra instance with their jobsets. |
| get_projectA | Get one project's settings and the state of each of its jobsets (errors, last evaluation). |
| get_jobsetB | Get a jobset's configuration, evaluation state and errors, plus its most recent evaluations. |
| list_evalsA | List a jobset's evaluations, newest first, one page at a time. |
| get_evalA | Get an evaluation: its inputs, build counts by status and its builds (filter by status). status: all, failed (finished, not succeeded), succeeded or queued (not finished yet). |
| get_buildA | Get a build: status, timing, derivation, outputs, products, metrics and its build steps. steps="relevant" (default) lists failed and running steps plus the newest few; "all" lists every step (large for big closures). Failed steps name the dependency behind "dependency failed". |
| get_build_logA | Get the last lines of a build's log, or of one of its build steps (e.g. the failed dependency). |
| get_jobB | Get a job's build in the jobset's newest evaluation (any status) and its latest successful build. |
| get_queueB | Get the build queue (highest priority first), its size by jobset, and the builds running right now. |
| searchB | Search projects, jobsets, jobs and builds (by name, output or derivation path). |
| trigger_evaluationA | Ask Hydra to evaluate a jobset soon (needs restart rights on the project). force re-evaluates even if inputs are unchanged. |
| restart_buildB | Re-queue a finished build (needs restart rights). |
| cancel_buildA | Cancel a queued or running build (needs cancel rights). Confirm with the user first. |
| bump_buildB | Move a queued build to the front of the queue (needs bump rights). |
| manage_evalA | Restart an evaluation's failed or aborted builds, cancel its queued builds, or bump them to the front. cancel is destructive: confirm with the user first. |
| put_projectA | Create a project, or change the given fields of an existing one (others keep their values). Creating needs the create-projects role; editing needs project ownership. |
| put_jobsetA | Create a jobset, or change the given fields of an existing one (others keep their values). Give |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| debug_jobset | Find out why a jobset's evaluation or builds fail. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 18 tools
Most tools target a clearly distinct resource+action pair (get_project vs get_jobset vs get_eval vs get_build), so an agent can usually pick correctly. There is real overlap between the single-build actions (cancel_build, bump_build, restart_build) and manage_eval, which bundles the same restart/cancel/bump operations at evaluation scope; the descriptions distinguish granularity, but the boundary requires careful reading.
Predominantly consistent snake_case verb_noun (list_projects, get_build, trigger_evaluation, restart_build). Minor deviations: bare 'search' lacks a noun, and put_project/put_jobset use 'put' (upsert) where the rest use get/list/create-style verbs, though create+update-in-one is documented.
18 tools is slightly on the heavy side but each maps to a genuine object in Hydra's model (instances, projects, jobsets, evals, builds, steps, queue), and no tool looks redundant filler. It could be trimmed by folding build-level cancel/bump/restart into manage_eval.
Strong read/write coverage across the whole lifecycle: discovery, project/jobset upsert, evaluation triggering and management, build inspection, logs, queue, and search. Notable gaps are deletions (no delete_project, delete_jobset, or delete_build) and any jobset/job-level disabling, which are reachable in Hydra but not exposed here.