# io.github.rafaelgaspar/longhorn-mcp (npm · longhorn-mcp)

MCP server for the Longhorn distributed storage manager API, with a --read-only mode.

- Trust score: 82/100 (high trust)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-26

## Components

- npm · `longhorn-mcp`: 82/100 (this document), [markdown](https://verifymcp.io/servers/rafaelgaspar-longhorn-mcp/longhorn-mcp.md), [page](https://verifymcp.io/servers/rafaelgaspar-longhorn-mcp/longhorn-mcp)

## Channel facts

- Registry: `npm`
- Package: `longhorn-mcp`
- Version: `0.1.6`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-26.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 0 of 5 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 97/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to rafaelgaspar/longhorn-mcp).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 11 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 72/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 8913 tokens (~86/item across 103 items; 103 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 43/100
  - Stability observed for 13 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 70/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 10% of tool parameters carry a description.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 16 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "volume_delete" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default.
  - An AI judge read all 104 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the io.github.rafaelgaspar/longhorn-mcp server?

io.github.rafaelgaspar/longhorn-mcp runs locally as an npm package, launched with npx -y longhorn-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add rafaelgaspar-longhorn-mcp -- npx -y longhorn-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "rafaelgaspar-longhorn-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "longhorn-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "rafaelgaspar-longhorn-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "longhorn-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add rafaelgaspar-longhorn-mcp -- npx -y longhorn-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "rafaelgaspar-longhorn-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "longhorn-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add rafaelgaspar-longhorn-mcp --command npx --arg -y --arg longhorn-mcp
```

### Hermes

```yaml
mcp_servers:
  rafaelgaspar-longhorn-mcp:
    command: "npx"
    args: ["-y", "longhorn-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "rafaelgaspar-longhorn-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "longhorn-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add rafaelgaspar-longhorn-mcp -t stdio -c npx -a -y longhorn-mcp
```

### Other

```json
{
  "mcpServers": {
    "rafaelgaspar-longhorn-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "longhorn-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-26 (score 82, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-08-25 (score 82, +1)

No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-23 (score 81, +1)

No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-21 (score 80, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-19 (score 79, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-17 (score 78, +1)

No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-15 (score 77, +12)

- [security improvement] Known CVEs: unverified → pass
- [functional improvement] Dependency health: unverified → 1.00

### 2026-08-14 (score 65, 0)

- [security improvement] Known CVEs: unverified → pass
- [functional improvement] Stability: unverified → 0.03
- [functional improvement] Dependency health: unverified → 1.00
- [functional] Package version: 0.1.3 → 0.1.6
- [functional] Package version: 0.1.3 → 0.1.5

## MCP tools (103)

### `volume_list` (~42 tokens)

List volumes

List all Longhorn volumes. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/volumes/create-volumes/

### `volume_get` (~52 tokens)

Get volume

Get a single Longhorn volume by name. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/volumes/create-volumes/

Input parameters:

- `name` (string, required)

### `volume_create` (~192 tokens)

Create volume

Create a new Longhorn volume. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/volumes/create-volumes/

Input parameters:

- `accessMode` (string): "rwo" or "rwx".
- `backingImage` (string)
- `dataLocality` (string)
- `diskSelector` (array)
- `extra` (object): Additional Longhorn fields not covered by the named parameters above, merged verbatim into the request body.
- `fromBackup` (string): Backup URL to restore from.
- `frontend` (string): e.g. "blockdev" or "iscsi".
- `name` (string, required)
- `nodeSelector` (array)
- `numberOfReplicas` (integer, required)
- `size` (string, required): Bytes, or a size string like "10Gi".
- `staleReplicaTimeout` (integer)

### `volume_delete` (~83 tokens)

Delete volume

Delete a Longhorn volume. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/volumes/create-volumes/

Input parameters:

- `name` (string, required)

### `volume_attach` (~96 tokens)

Attach volume

Attach a volume to a node. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/volumes/create-volumes/

Input parameters:

- `attachedBy` (string)
- `attacherType` (string)
- `attachmentID` (string)
- `disableFrontend` (boolean)
- `hostId` (string, required): Node name to attach to.
- `name` (string, required)

### `volume_detach` (~123 tokens)

Detach volume

Detach a volume. `forceDetach: true` risks data corruption if the volume is mid-write. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/volumes/create-volumes/

Input parameters:

- `attachmentID` (string)
- `forceDetach` (boolean)
- `hostId` (string)
- `name` (string, required)

### `volume_activate` (~60 tokens)

Activate volume

Activate a standby (DR) volume. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/setup-disaster-recovery-volumes/

Input parameters:

- `frontend` (string)
- `name` (string, required)

### `volume_expand` (~58 tokens)

Expand volume

Expand a volume to a new size. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/volumes/create-volumes/

Input parameters:

- `name` (string, required)
- `size` (string, required)

### `volume_cancel_expansion` (~52 tokens)

Cancel volume expansion

Cancel an in-progress volume expansion. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/volumes/create-volumes/

Input parameters:

- `name` (string, required)

### `volume_engine_upgrade` (~110 tokens)

Upgrade volume engine image

Upgrade the engine image used by a volume. `image` is not validated against a known-good list — a bad image can make the volume inoperable. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/deploy/upgrade/

Input parameters:

- `image` (string, required)
- `name` (string, required)

### `volume_salvage` (~103 tokens)

Salvage volume

Salvage a volume from a list of (potentially stale) replica names. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/volumes/create-volumes/

Input parameters:

- `name` (string, required)
- `replicaNames` (array, required)

### `volume_replica_remove` (~95 tokens)

Remove volume replica

Remove a specific replica from a volume. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/volumes/create-volumes/

Input parameters:

- `name` (string, required)
- `replicaName` (string, required)

### `volume_trim_filesystem` (~52 tokens)

Trim volume filesystem

Trim the filesystem on a volume. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/volumes/create-volumes/

Input parameters:

- `name` (string, required)

### `volume_update_setting` (~162 tokens)

Update a volume setting

Update one of Longhorn's per-volume settings. Valid "setting" values: replicaCount, replicaAutoBalance, rebuildConcurrentSyncLimit, dataLocality, accessMode, snapshotDataIntegrity, snapshotMaxCount, snapshotMaxSize, replicaRebuildingBandwidthLimit, ublkQueueDepth, ublkNumberOfQueue, backupCompressionMethod, unmapMarkSnapChainRemoved, replicaSoftAntiAffinity, replicaZoneSoftAntiAffinity, replicaDiskSoftAntiAffinity, freezeFilesystemForSnapshot, backupTargetName, offlineReplicaRebuilding. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/volumes/create-volumes/

Input parameters:

- `name` (string, required)
- `setting` (string, required)
- `value` (required)

### `volume_snapshot_create` (~73 tokens)

Create volume snapshot

Create a snapshot of a volume. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/setup-a-snapshot/

Input parameters:

- `backupMode` (string)
- `labels` (object)
- `name` (string, required)
- `snapshotName` (string)

### `volume_snapshot_list` (~68 tokens)

List volume snapshots

List snapshots for a volume via the volume-scoped action (requires write access — use snapshot_list for read-only introspection). Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/setup-a-snapshot/

Input parameters:

- `name` (string, required)

### `volume_snapshot_get` (~77 tokens)

Get volume snapshot

Get one snapshot of a volume via the volume-scoped action (requires write access — use snapshot_get for read-only introspection). Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/setup-a-snapshot/

Input parameters:

- `name` (string, required)
- `snapshotName` (string, required)

### `volume_snapshot_delete` (~92 tokens)

Delete volume snapshot

Delete a snapshot of a volume. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/setup-a-snapshot/

Input parameters:

- `name` (string, required)
- `snapshotName` (string, required)

### `volume_snapshot_revert` (~101 tokens)

Revert volume to snapshot

Revert a volume to a snapshot, discarding all changes made since. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/setup-a-snapshot/

Input parameters:

- `name` (string, required)
- `snapshotName` (string, required)

### `volume_snapshot_purge` (~86 tokens)

Purge volume snapshots

Purge removed snapshots of a volume. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/setup-a-snapshot/

Input parameters:

- `name` (string, required)

### `volume_snapshot_backup` (~75 tokens)

Back up a volume snapshot

Create a backup from a volume snapshot. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/

Input parameters:

- `backupMode` (string)
- `labels` (object)
- `name` (string, required)
- `snapshotName` (string)

### `volume_snapshot_cr_create` (~79 tokens)

Create VolumeSnapshot CR

Create a snapshot via the newer VolumeSnapshot CRD-backed action (equivalent to volume_snapshot_create). Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/setup-a-snapshot/

Input parameters:

- `labels` (object)
- `name` (string, required)
- `snapshotName` (string)

### `volume_snapshot_cr_list` (~53 tokens)

List VolumeSnapshot CRs

List CRD-backed snapshots for a volume. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/setup-a-snapshot/

Input parameters:

- `name` (string, required)

### `volume_snapshot_cr_get` (~62 tokens)

Get VolumeSnapshot CR

Get one CRD-backed snapshot for a volume. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/setup-a-snapshot/

Input parameters:

- `name` (string, required)
- `snapshotName` (string, required)

### `volume_snapshot_cr_delete` (~96 tokens)

Delete VolumeSnapshot CR

Delete a CRD-backed snapshot for a volume. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/setup-a-snapshot/

Input parameters:

- `name` (string, required)
- `snapshotName` (string, required)

### `volume_recurring_job_add` (~78 tokens)

Add recurring job to volume

Attach a recurring job (or job group) to a volume. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/scheduling-backups-and-snapshots/

Input parameters:

- `isGroup` (boolean)
- `jobName` (string, required)
- `name` (string, required)

### `volume_recurring_job_delete` (~125 tokens)

Remove recurring job from volume

Detach a recurring job (or job group) from a volume — this can remove the volume's only backup/snapshot schedule. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/scheduling-backups-and-snapshots/

Input parameters:

- `isGroup` (boolean)
- `jobName` (string, required)
- `name` (string, required)

### `volume_recurring_job_list` (~57 tokens)

List volume recurring jobs

List recurring jobs attached to a volume. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/scheduling-backups-and-snapshots/

Input parameters:

- `name` (string, required)

### `volume_pv_create` (~98 tokens)

Create PersistentVolume for volume

Create a Kubernetes PersistentVolume backed by this Longhorn volume. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/volumes/create-volumes/

Input parameters:

- `fsType` (string)
- `name` (string, required)
- `pvName` (string)
- `secretName` (string)
- `secretNamespace` (string)
- `storageClassName` (string)

### `volume_pvc_create` (~75 tokens)

Create PersistentVolumeClaim for volume

Create a Kubernetes PersistentVolumeClaim bound to this Longhorn volume's PV. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/volumes/create-volumes/

Input parameters:

- `name` (string, required)
- `namespace` (string)
- `pvcName` (string)

### `snapshot_list` (~54 tokens)

List snapshots

List all snapshots across all volumes (plain read-only GET — available in --read-only mode). Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/setup-a-snapshot/

### `snapshot_get` (~61 tokens)

Get snapshot

Get a single snapshot by id (plain read-only GET — available in --read-only mode). Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/setup-a-snapshot/

Input parameters:

- `id` (string, required)

### `backup_list` (~56 tokens)

List backups

List all backups across all backup volumes (plain read-only GET — available in --read-only mode). Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/

### `backup_get` (~62 tokens)

Get backup

Get a single backup by id (plain read-only GET — available in --read-only mode). Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/

Input parameters:

- `id` (string, required)

### `backupvolume_list` (~49 tokens)

List backup volumes

List Longhorn backup volumes (backup-target-side volume records). Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/

### `backupvolume_get` (~52 tokens)

Get backup volume

Get a single backup volume by name. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/

Input parameters:

- `name` (string, required)

### `backupvolume_update` (~94 tokens)

Update backup volume

Update a backup volume record. Fields you omit are left unchanged (read-merge-write under the hood — the API itself does a full replace on PUT). Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/

Input parameters:

- `extra` (object): Additional Longhorn fields, merged verbatim into the request body.
- `name` (string, required)

### `backupvolume_delete` (~88 tokens)

Delete backup volume

Delete a backup volume record from the backup target. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/

Input parameters:

- `name` (string, required)

### `backupvolume_backup_delete` (~97 tokens)

Delete backup

Delete a specific backup belonging to a backup volume. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/

Input parameters:

- `backupName` (string, required)
- `name` (string, required)

### `backupvolume_backup_get` (~82 tokens)

Get backup (via backup volume)

Get a specific backup belonging to a backup volume via the volume-scoped action (requires write access — use backup_get for read-only introspection). Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/

Input parameters:

- `backupName` (string, required)
- `name` (string, required)

### `backupvolume_backup_list` (~72 tokens)

List backups (via backup volume)

List backups belonging to a backup volume via the volume-scoped action (requires write access — use backup_list for read-only introspection). Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/

Input parameters:

- `name` (string, required)

### `backupvolume_backup_list_by_volume` (~60 tokens)

List backups by volume

List backups for a backup volume, scoped by the source volume. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/

Input parameters:

- `name` (string, required)

### `backupvolume_sync` (~57 tokens)

Sync backup volume

Force a resync of a backup volume against the backup target. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/

Input parameters:

- `name` (string, required)

### `backuptarget_list` (~43 tokens)

List backup targets

List configured backup targets. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/

### `backuptarget_get` (~53 tokens)

Get backup target

Get a single backup target by name. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/

Input parameters:

- `name` (string, required)

### `backuptarget_create` (~70 tokens)

Create backup target

Create a new backup target. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/

Input parameters:

- `extra` (object): Additional Longhorn fields, merged verbatim into the request body.
- `name` (string, required)

### `backuptarget_update` (~186 tokens)

Update backup target

Update a backup target (e.g. backupTargetURL, credentialSecret, pollInterval). Fields you omit are left unchanged (read-merge-write under the hood — the API itself does a full replace on PUT). Repointing backupTargetURL changes where future backups go and can break restore access to existing ones. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/

Input parameters:

- `backupTargetURL` (string)
- `credentialSecret` (string)
- `extra` (object): Additional Longhorn fields, merged verbatim into the request body.
- `name` (string, required)
- `pollInterval` (string)

### `backuptarget_delete` (~84 tokens)

Delete backup target

Delete a backup target. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/

Input parameters:

- `name` (string, required)

### `backuptarget_sync` (~96 tokens)

Sync backup target

Force Longhorn to resync backup target/backup volume state. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/

Input parameters:

- `name` (string, required)
- `syncAllBackupTargets` (boolean)
- `syncAllBackupVolumes` (boolean)
- `syncBackupTarget` (boolean)
- `syncBackupVolume` (boolean)

### `backuptarget_update_name` (~101 tokens)

Update backup target name reference

Update the backupTargetName reference on a backup target record. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/

Input parameters:

- `backupTargetName` (string, required)
- `name` (string, required)

### `backingimage_list` (~39 tokens)

List backing images

List Longhorn backing images. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/backing-image/

### `backingimage_get` (~48 tokens)

Get backing image

Get a single backing image by name. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/backing-image/

Input parameters:

- `name` (string, required)

### `backingimage_create` (~182 tokens)

Create backing image

Create a new backing image. With sourceType "download", Longhorn fetches `parameters.url` server-side from its own network position — only use with a URL the user has explicitly provided and trusts. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/backing-image/

Input parameters:

- `extra` (object): Additional Longhorn fields, merged verbatim into the request body.
- `name` (string, required)
- `parameters` (object, required): Source-type-specific parameters (e.g. { url } for "download").
- `sourceType` (string, required): e.g. "download", "upload", "export-from-volume", "restore", "clone".

### `backingimage_delete` (~79 tokens)

Delete backing image

Delete a backing image. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/backing-image/

Input parameters:

- `name` (string, required)

### `backingimage_cleanup` (~92 tokens)

Clean up backing image copies

Clean up backing image file copies on the given disks. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/backing-image/

Input parameters:

- `disks` (array, required)
- `name` (string, required)

### `backingimage_update_min_copies` (~66 tokens)

Update backing image min copies

Update the minimum number of ready copies required for a backing image. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/backing-image/

Input parameters:

- `minNumberOfCopies` (integer, required)
- `name` (string, required)

### `backingimage_upload` (~111 tokens)

Upload backing image

Trigger backing image upload. Longhorn does not publish a dedicated input schema for this action in /v1/schemas — use longhorn_describe_resource_type('backingImage') to check the deployed version's exact body shape, or pass fields via extra. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/backing-image/

Input parameters:

- `extra` (object): Additional Longhorn fields, merged verbatim into the request body.
- `name` (string, required)

### `backingimage_backup_create` (~115 tokens)

Back up a backing image

Create a backup of a backing image. Longhorn does not publish a dedicated input schema for this action in /v1/schemas — use longhorn_describe_resource_type('backingImage') to check the deployed version's exact body shape, or pass fields via extra. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/backing-image/

Input parameters:

- `extra` (object): Additional Longhorn fields, merged verbatim into the request body.
- `name` (string, required)

### `backupbackingimage_list` (~45 tokens)

List backup backing images

List backed-up backing images on the backup target. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/backing-image/

### `backupbackingimage_get` (~51 tokens)

Get backup backing image

Get a single backup backing image by name. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/backing-image/

Input parameters:

- `name` (string, required)

### `backupbackingimage_delete` (~86 tokens)

Delete backup backing image

Delete a backup backing image from the backup target. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/backing-image/

Input parameters:

- `name` (string, required)

### `backupbackingimage_restore` (~74 tokens)

Restore backup backing image

Restore a backing image from the backup target. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/backing-image/

Input parameters:

- `dataEngine` (string)
- `name` (string, required)
- `secret` (string)
- `secretNamespace` (string)

### `node_list` (~46 tokens)

List nodes

List Longhorn node records (scheduling state, disks, conditions). Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/nodes/

### `node_get` (~49 tokens)

Get node

Get a single Longhorn node record by name. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/nodes/

Input parameters:

- `name` (string, required)

### `node_update` (~156 tokens)

Update node

Update a Longhorn node record (e.g. allowScheduling, evictionRequested, tags). Fields you omit are left unchanged (read-merge-write under the hood — the API itself does a full replace on PUT). `evictionRequested: true` drains all replicas/backing images off the node. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/nodes/

Input parameters:

- `allowScheduling` (boolean)
- `evictionRequested` (boolean)
- `name` (string, required)
- `tags` (array)

### `node_disk_update` (~145 tokens)

Update node disks

Update the disk configuration for a node. `disks` is the raw array of Longhorn Disk objects (path, allowScheduling, storageReserved, tags, diskType, ...) — inspect the node via node_get first to see the current shape. Disabling scheduling or shrinking storageReserved on a disk can strand replicas. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/nodes/

Input parameters:

- `disks` (array, required)
- `name` (string, required)

### `setting_list` (~35 tokens)

List settings

List all Longhorn global settings. Longhorn docs: https://longhorn.io/docs/1.12.1/references/settings/

### `setting_get` (~44 tokens)

Get setting

Get a single Longhorn setting by name. Longhorn docs: https://longhorn.io/docs/1.12.1/references/settings/

Input parameters:

- `name` (string, required)

### `setting_update` (~104 tokens)

Update setting

Update a Longhorn global setting value. Some settings (Longhorn's own "Danger Zone" category) affect every volume in the cluster. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/references/settings/

Input parameters:

- `name` (string, required)
- `value` (string, required)

### `engineimage_list` (~36 tokens)

List engine images

List Longhorn engine images. Longhorn docs: https://longhorn.io/docs/1.12.1/deploy/upgrade/

### `engineimage_get` (~45 tokens)

Get engine image

Get a single engine image by name. Longhorn docs: https://longhorn.io/docs/1.12.1/deploy/upgrade/

Input parameters:

- `name` (string, required)

### `engineimage_create` (~91 tokens)

Deploy engine image

Deploy a new Longhorn engine image. `image` is not validated against a known-good list. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/deploy/upgrade/

Input parameters:

- `image` (string, required)

### `engineimage_delete` (~78 tokens)

Delete engine image

Delete a Longhorn engine image. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/deploy/upgrade/

Input parameters:

- `name` (string, required)

### `instancemanager_list` (~20 tokens)

List instance managers

List Longhorn instance manager pods/records.

### `instancemanager_get` (~26 tokens)

Get instance manager

Get a single instance manager by name.

Input parameters:

- `name` (string, required)

### `recurringjob_list` (~46 tokens)

List recurring jobs

List Longhorn recurring jobs. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/scheduling-backups-and-snapshots/

### `recurringjob_get` (~55 tokens)

Get recurring job

Get a single recurring job by name. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/scheduling-backups-and-snapshots/

Input parameters:

- `name` (string, required)

### `recurringjob_create` (~134 tokens)

Create recurring job

Create a new Longhorn recurring job. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/scheduling-backups-and-snapshots/

Input parameters:

- `concurrency` (integer, required)
- `cron` (string, required): Cron schedule expression.
- `groups` (array)
- `labels` (object)
- `name` (string, required)
- `parameters` (object)
- `retain` (integer, required)
- `task` (string, required): e.g. "snapshot", "backup", "snapshot-cleanup", "snapshot-delete", "filesystem-trim", "system-backup".

### `recurringjob_update` (~179 tokens)

Update recurring job

Update an existing Longhorn recurring job. Fields you omit are left unchanged (read-merge-write under the hood — the API itself does a full replace on PUT). Lowering `retain` can prune existing snapshots/backups beyond the new limit. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/scheduling-backups-and-snapshots/

Input parameters:

- `concurrency` (integer)
- `cron` (string)
- `groups` (array)
- `labels` (object)
- `name` (string, required)
- `parameters` (object)
- `retain` (integer)
- `task` (string)

### `recurringjob_delete` (~88 tokens)

Delete recurring job

Delete a Longhorn recurring job. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/scheduling-backups-and-snapshots/

Input parameters:

- `name` (string, required)

### `orphan_list` (~51 tokens)

List orphans

List orphaned replica/engine instance directories Longhorn has detected. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/data-cleanup/orphaned-data-cleanup/

### `orphan_get` (~53 tokens)

Get orphan

Get a single orphan record by id. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/data-cleanup/orphaned-data-cleanup/

Input parameters:

- `id` (string, required)

### `supportbundle_list` (~39 tokens)

List support bundles

List generated Longhorn support bundles. Longhorn docs: https://longhorn.io/docs/1.12.1/troubleshoot/support-bundle/

### `supportbundle_get` (~47 tokens)

Get support bundle

Get a single support bundle by id. Longhorn docs: https://longhorn.io/docs/1.12.1/troubleshoot/support-bundle/

Input parameters:

- `id` (string, required)

### `systembackup_list` (~41 tokens)

List system backups

List Longhorn system backups. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/system-backup-restore/

### `systembackup_get` (~50 tokens)

Get system backup

Get a single system backup by name. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/system-backup-restore/

Input parameters:

- `name` (string, required)

### `systembackup_create` (~50 tokens)

Create system backup

Create a new Longhorn system backup. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/system-backup-restore/

Input parameters:

- `name` (string, required)

### `systembackup_delete` (~83 tokens)

Delete system backup

Delete a Longhorn system backup. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/system-backup-restore/

Input parameters:

- `name` (string, required)

### `systemrestore_list` (~42 tokens)

List system restores

List Longhorn system restore operations. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/system-backup-restore/

### `systemrestore_get` (~50 tokens)

Get system restore

Get a single system restore by name. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/system-backup-restore/

Input parameters:

- `name` (string, required)

### `systemrestore_create` (~101 tokens)

Create system restore

Restore the Longhorn system from a system backup — restores cluster-wide Longhorn state. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/system-backup-restore/

Input parameters:

- `name` (string, required)
- `systemBackup` (string, required)

### `systemrestore_delete` (~84 tokens)

Delete system restore

Delete a Longhorn system restore record. Destructive. Do not call this unless the user has explicitly authorized it in this conversation — never proactively, speculatively, or as a side effect of another task. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/system-backup-restore/

Input parameters:

- `name` (string, required)

### `volumeattachment_list` (~21 tokens)

List volume attachments

List Longhorn VolumeAttachment records (attachment tickets per volume).

### `volumeattachment_get` (~25 tokens)

Get volume attachment

Get a single VolumeAttachment record by name.

Input parameters:

- `name` (string, required)

### `longhorn_list_tags` (~59 tokens)

List tags

List node/disk/backing-image tags known to Longhorn, optionally filtered by type. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/nodes/

Input parameters:

- `type` (string)

### `longhorn_events` (~21 tokens)

List events

List Kubernetes events Longhorn has recorded against its own resources.

### `shard_list` (~52 tokens)

List shards

List erasure-coded shards backing V2 data engine sharded volumes (experimental feature). Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/v2-data-engine/sharding/

### `shard_get` (~49 tokens)

Get shard

Get a single shard by id. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/v2-data-engine/sharding/

Input parameters:

- `id` (string, required)

### `shardgroup_list` (~60 tokens)

List shard groups

List shard groups (erasure-coding sets of shards) backing V2 data engine sharded volumes (experimental feature). Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/v2-data-engine/sharding/

### `shardgroup_get` (~51 tokens)

Get shard group

Get a single shard group by id. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/v2-data-engine/sharding/

Input parameters:

- `id` (string, required)

### `longhorn_list_resource_types` (~34 tokens)

List Longhorn resource types

List every resource type Longhorn's manager API exposes, self-described at runtime via GET /v1/schemas.

### `longhorn_describe_resource_type` (~52 tokens)

Describe a Longhorn resource type

Describe one resource type's fields and available actions via GET /v1/schemas/{id} (e.g. "volume", "backupTarget", "node").

Input parameters:

- `id` (string, required)

### `longhorn_raw_request` (~133 tokens)

Raw Longhorn API request

Escape hatch for any Longhorn API endpoint not covered by a named tool. In --read-only mode, only GET requests succeed — everything else is refused before it reaches Longhorn. GET is always safe to call freely; for POST/PUT/DELETE, treat this exactly like the destructive tools elsewhere in this server — do not call with a mutating method unless the user has explicitly authorized that specific action in this conversation.

Input parameters:

- `body` (object)
- `method` (string, required)
- `path` (string, required): Path starting with /v1/, e.g. "/v1/volumes/my-volume".

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/rafaelgaspar-longhorn-mcp/longhorn-mcp#diagnostics

## Score history

- 2026-08-26: 82
- 2026-08-25: 82
- 2026-08-24: 81
- 2026-08-23: 81
- 2026-08-22: 80
- 2026-08-21: 80
- 2026-08-20: 79
- 2026-08-19: 79
- 2026-08-18: 78
- 2026-08-17: 78
- 2026-08-16: 77
- 2026-08-15: 77
- 2026-08-14: 65
- 2026-08-13: 65

## Common questions

### What is the io.github.rafaelgaspar/longhorn-mcp server?

io.github.rafaelgaspar/longhorn-mcp is listed in the public MCP registry as io.github.rafaelgaspar/longhorn-mcp. MCP server for the Longhorn distributed storage manager API, with a --read-only mode. This page covers its npm package (longhorn-mcp).

### Is the io.github.rafaelgaspar/longhorn-mcp server safe to use?

io.github.rafaelgaspar/longhorn-mcp scores 82 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 26 August 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the io.github.rafaelgaspar/longhorn-mcp server expose?

io.github.rafaelgaspar/longhorn-mcp exposes 103 tools: volume_list, volume_get, volume_create, volume_delete, volume_attach, and 98 more. Their descriptions and schemas cost roughly 7,705 tokens of context every time the server is loaded.

### Is the io.github.rafaelgaspar/longhorn-mcp server still maintained?

io.github.rafaelgaspar/longhorn-mcp is still listed as active in the MCP registry. We last reached this channel on 26 August 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the io.github.rafaelgaspar/longhorn-mcp server under?

io.github.rafaelgaspar/longhorn-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/longhorn-mcp
- Socket report: https://socket.dev/npm/package/longhorn-mcp
- Repository: https://github.com/rafaelgaspar/longhorn-mcp
- Changelog RSS feed: https://verifymcp.io/servers/rafaelgaspar-longhorn-mcp/longhorn-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/rafaelgaspar-longhorn-mcp/longhorn-mcp.json
- HTML version of this page: https://verifymcp.io/servers/rafaelgaspar-longhorn-mcp/longhorn-mcp
