Longhorn MCP Server
Manage distributed storage volumes and backups via the Longhorn REST API.
Data last scanned today · Reviewed today
Overview
This TypeScript-based server provides an interface to the Longhorn distributed storage manager. It supports read and write operations across the full suite of Longhorn resources, including volumes, snapshots, backups, nodes, and engine images. The implementation offers flexibility through stdio or Streamable HTTP transports, allowing integration with various MCP clients. The server includes a dedicated --read-only mode to prevent unintended modifications to your storage cluster. Deployment is supported via an official Helm chart, enabling easy setup within Kubernetes environments by pointing to the Longhorn manager API URL.
Our verdict
With a security score of 35/100, this server is classified as high-risk. The score reflects that the tool is community-maintained and has not yet undergone editorial review, necessitating caution. Because the Longhorn manager API itself lacks native authentication, you must ensure secure access through private networks or tunnels and prioritize using the --read-only mode when performing non-essential operations. This tool is best suited for experienced infrastructure engineers who can independently audit the code, which was partially generated by AI, before deployment in any sensitive environment.
- Full read/write coverage of the Longhorn REST API
- Provides an official Helm chart for Kubernetes deployments
- Includes a --read-only mode for safety
- Small dependency footprint with only three direct dependencies
- High security risk due to lack of editorial review
- Relies on the unauthenticated Longhorn manager API
- Community-maintained without official vendor support
- AI-generated codebase requires manual security validation
Setup
{
"mcpServers": {
"longhorn-mcp": {
"args": [
"-y",
"longhorn-mcp"
],
"command": "npx"
}
}
}Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.
- No read-only mode — running this grants full read/write access.
- No built-in authentication — anyone with access to this config can invoke every tool it exposes.
Tools
| Tool | Description | Risk |
|---|---|---|
| volume_attach | Attaches a volume to a host. | medium |
| volume_update_setting | Updates a volume setting. | medium |
| volume_job_list | Lists recurring jobs for a volume. | low |
| instancemanager_list | Lists instance managers. | low |
| volumeattachment_list | Lists volume attachments. | low |
| longhorn_events | Retrieves Longhorn events. | low |
| longhorn_raw_request | Performs a raw request to the Longhorn API. | high |
| longhorn_list_resource_types | Lists available resource types. | low |
| longhorn_describe_resource_type | Describes a specific resource type. | low |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| ChatGPT | ||||
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf |
Frequently asked questions
›How do I ensure the server does not perform destructive actions?
You can launch the server with the --read-only flag, which restricts the available tools and forces the server to reject any non-GET requests.
›What authentication is required to connect to the Longhorn manager API?
The Longhorn manager API is unauthenticated, meaning reachability acts as the primary access control. You should use a VPN, SSH tunnel, or cluster-internal networking to protect the endpoint.
›What happens if I use the --http flag?
Enabling --http switches the server from stdio mode to Streamable HTTP. When using this mode, you must also define allowed hosts via the --allowed-hosts flag to prevent DNS rebinding issues.
›Is the Helm chart capable of exposing the server externally?
The Helm chart disables external exposure by default. While you can enable an optional Gateway API HTTPRoute, the default configuration is intended for internal cluster communication only.
›Can I use this server outside of a Kubernetes cluster?
Yes, you can run the server locally using npx, provided you have network access to the Longhorn manager API via a tool like kubectl port-forward.
Alternatives
Changelog
Badge
Maintain this server? Add the live badge to your README.