longhorn-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| host | No | HTTP listen address (with --http). | 0.0.0.0 |
| http | No | Serve Streamable HTTP instead of stdio. | off |
| port | No | HTTP listen port (with --http). | 3000 |
| read-only | No | Register only read tools; the client also refuses any non-GET request. | off |
| longhorn-url | No | Base URL of the Longhorn manager API. | http://longhorn-backend.longhorn-system.svc.cluster.local:9500 |
| allowed-hosts | No | Comma-separated Host/Origin allowlist for --http mode. | localhost,127.0.0.1 |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| volume_listA | List all Longhorn volumes. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/volumes/create-volumes/ |
| volume_getA | Get a single Longhorn volume by name. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/volumes/create-volumes/ |
| volume_createC | Create a new Longhorn volume. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/volumes/create-volumes/ |
| volume_deleteA | 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/ |
| volume_attachC | Attach a volume to a node. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/volumes/create-volumes/ |
| volume_detachA | Detach a volume. |
| volume_activateC | Activate a standby (DR) volume. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/setup-disaster-recovery-volumes/ |
| volume_expandC | Expand a volume to a new size. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/volumes/create-volumes/ |
| volume_cancel_expansionA | Cancel an in-progress volume expansion. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/volumes/create-volumes/ |
| volume_engine_upgradeA | Upgrade the engine image used by a volume. |
| volume_salvageA | 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/ |
| volume_replica_removeA | 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/ |
| volume_trim_filesystemC | Trim the filesystem on a volume. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/volumes/create-volumes/ |
| volume_update_settingC | 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/ |
| volume_snapshot_createC | Create a snapshot of a volume. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/setup-a-snapshot/ |
| volume_snapshot_listA | 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/ |
| volume_snapshot_getA | 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/ |
| volume_snapshot_deleteA | 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/ |
| volume_snapshot_revertA | 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/ |
| volume_snapshot_purgeB | 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/ |
| volume_snapshot_backupB | Create a backup from a volume snapshot. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/ |
| volume_snapshot_cr_createC | 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/ |
| volume_snapshot_cr_listB | List CRD-backed snapshots for a volume. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/setup-a-snapshot/ |
| volume_snapshot_cr_getB | Get one CRD-backed snapshot for a volume. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/setup-a-snapshot/ |
| volume_snapshot_cr_deleteA | 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/ |
| volume_recurring_job_addC | 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/ |
| volume_recurring_job_deleteA | 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/ |
| volume_recurring_job_listA | List recurring jobs attached to a volume. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/scheduling-backups-and-snapshots/ |
| volume_pv_createC | Create a Kubernetes PersistentVolume backed by this Longhorn volume. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/volumes/create-volumes/ |
| volume_pvc_createB | 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/ |
| snapshot_listA | 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_getB | 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/ |
| backup_listA | 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_getA | 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/ |
| backupvolume_listA | 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_getB | Get a single backup volume by name. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/ |
| backupvolume_updateA | 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/ |
| backupvolume_deleteA | 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/ |
| backupvolume_backup_deleteA | 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/ |
| backupvolume_backup_getA | 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/ |
| backupvolume_backup_listA | 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/ |
| backupvolume_backup_list_by_volumeC | 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/ |
| backupvolume_syncC | 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/ |
| backuptarget_listB | List configured backup targets. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/ |
| backuptarget_getA | Get a single backup target by name. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/ |
| backuptarget_createB | Create a new backup target. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/ |
| backuptarget_updateA | 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/ |
| backuptarget_deleteA | 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/ |
| backuptarget_syncC | Force Longhorn to resync backup target/backup volume state. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/backup-and-restore/ |
| backuptarget_update_nameB | 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/ |
| backingimage_listB | List Longhorn backing images. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/backing-image/ |
| backingimage_getA | Get a single backing image by name. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/backing-image/ |
| backingimage_createA | Create a new backing image. With sourceType "download", Longhorn fetches |
| backingimage_deleteA | 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/ |
| backingimage_cleanupA | 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/ |
| backingimage_update_min_copiesA | 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/ |
| backingimage_uploadA | 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/ |
| backingimage_backup_createB | 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/ |
| backupbackingimage_listA | List backed-up backing images on the backup target. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/backing-image/ |
| backupbackingimage_getA | Get a single backup backing image by name. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/backing-image/ |
| backupbackingimage_deleteA | 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/ |
| backupbackingimage_restoreC | Restore a backing image from the backup target. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/backing-image/ |
| node_listA | List Longhorn node records (scheduling state, disks, conditions). Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/nodes/ |
| node_getB | Get a single Longhorn node record by name. Longhorn docs: https://longhorn.io/docs/1.12.1/nodes-and-volumes/nodes/ |
| node_updateA | 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). |
| node_disk_updateA | Update the disk configuration for a node. |
| setting_listA | List all Longhorn global settings. Longhorn docs: https://longhorn.io/docs/1.12.1/references/settings/ |
| setting_getA | Get a single Longhorn setting by name. Longhorn docs: https://longhorn.io/docs/1.12.1/references/settings/ |
| setting_updateA | 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/ |
| engineimage_listA | List Longhorn engine images. Longhorn docs: https://longhorn.io/docs/1.12.1/deploy/upgrade/ |
| engineimage_getA | Get a single engine image by name. Longhorn docs: https://longhorn.io/docs/1.12.1/deploy/upgrade/ |
| engineimage_createA | Deploy a new Longhorn engine image. |
| engineimage_deleteA | 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/ |
| instancemanager_listB | List Longhorn instance manager pods/records. |
| instancemanager_getA | Get a single instance manager by name. |
| recurringjob_listB | List Longhorn recurring jobs. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/scheduling-backups-and-snapshots/ |
| recurringjob_getA | Get a single recurring job by name. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/scheduling-backups-and-snapshots/ |
| recurringjob_createC | Create a new Longhorn recurring job. Longhorn docs: https://longhorn.io/docs/1.12.1/snapshots-and-backups/scheduling-backups-and-snapshots/ |
| recurringjob_updateA | 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 |
| recurringjob_deleteA | 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/ |
| orphan_listA | 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_getA | Get a single orphan record by id. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/data-cleanup/orphaned-data-cleanup/ |
| supportbundle_listA | List generated Longhorn support bundles. Longhorn docs: https://longhorn.io/docs/1.12.1/troubleshoot/support-bundle/ |
| supportbundle_getA | Get a single support bundle by id. Longhorn docs: https://longhorn.io/docs/1.12.1/troubleshoot/support-bundle/ |
| systembackup_listA | List Longhorn system backups. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/system-backup-restore/ |
| systembackup_getA | Get a single system backup by name. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/system-backup-restore/ |
| systembackup_createB | Create a new Longhorn system backup. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/system-backup-restore/ |
| systembackup_deleteA | 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/ |
| systemrestore_listA | List Longhorn system restore operations. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/system-backup-restore/ |
| systemrestore_getA | Get a single system restore by name. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/system-backup-restore/ |
| systemrestore_createA | 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/ |
| systemrestore_deleteA | 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/ |
| volumeattachment_listA | List Longhorn VolumeAttachment records (attachment tickets per volume). |
| volumeattachment_getA | Get a single VolumeAttachment record by name. |
| longhorn_list_tagsA | 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/ |
| longhorn_eventsA | List Kubernetes events Longhorn has recorded against its own resources. |
| shard_listA | 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_getB | Get a single shard by id. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/v2-data-engine/sharding/ |
| shardgroup_listA | 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_getB | Get a single shard group by id. Longhorn docs: https://longhorn.io/docs/1.12.1/advanced-resources/v2-data-engine/sharding/ |
| longhorn_list_resource_typesA | List every resource type Longhorn's manager API exposes, self-described at runtime via GET /v1/schemas. |
| longhorn_describe_resource_typeA | Describe one resource type's fields and available actions via GET /v1/schemas/{id} (e.g. "volume", "backupTarget", "node"). |
| longhorn_raw_requestA | 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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/rafaelgaspar/longhorn-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server