Manage LINSTOR and Piraeus safely from MCP clients with inventory, planning, and apply workflows
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"linstor": {
"args": [
"-y",
"linstor-mcp"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
linstor-mcp-server is a Go MCP server for LINSTOR and the Piraeus operator. It exposes canonical inventory reads plus a staged cluster-configuration write flow designed for stateful infrastructure: plan first, review the diff, then apply only while the target state is still fresh.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'linstor-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked linstor-mcp against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in devops
MCP server for using the GitLab API
Enhanced MCP server for GitLab: group projects listing and activity tracking
Yunxiao MCP Server provides AI assistants with the ability to interact with the Yunxiao platform. It provides a set of tools that interact with Yunxiao's API, allowing AI assistants to manage Codeup repository, Project, Pipeline, Packages etc.
MCP server for Komodo - manage Docker containers, servers, stacks, and deployments via AI
MCP Security Weekly
Get CVE alerts and security updates for Linstor Mcp Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
linstor-mcp-server is a Go MCP server for LINSTOR and the Piraeus operator. It exposes canonical inventory reads plus a staged cluster-configuration write flow designed for stateful infrastructure: plan first, review the diff, then apply only while the target state is still fresh.
Desired state comes from piraeus.io/v1 CRDs. Runtime state comes from the LINSTOR controller API.
Via npm (no Go required, Linux/macOS, amd64/arm64):
npx linstor-mcp
Note: npm and binary installs become available only after the automated release pipeline has published the first tagged release.
Download binary (Linux/macOS, amd64/arm64):
Download the latest release from GitHub Releases, extract it, and place linstor-mcp-server in your $PATH.
Build from source (requires Go 1.26.2):
git clone https://github.com/Nosmoht/linstor-mcp-server
cd linstor-mcp-server
make build
Pinned and currently validated:
1.26.2go1.26.2v1.5.0v0.35.3modernc.org/sqlite v1.48.1v1.35.0v2.10.4v1.33.11.27.00.118.02.1.97The built-in homelab profile is the default. Configuration precedence is:
flags > env > config file > built-in profile defaults
Optional config.toml:
profile = "homelab"
kube_context = "admin@homelab"
linstor_cluster = "homelab"
controller_mode = "port-forward"
controller_service = "linstor-controller"
controller_namespace = "piraeus-datastore"
tls_ca_secret = "linstor-api-tls"
tls_client_secret = "linstor-client-tls"
state_dir = "~/.local/state/linstor-mcp-server"
http_addr = ""
enable_http_beta = false
log_format = "text"
Environment overrides:
| Variable | Default | Description |
|---|---|---|
LINSTOR_MCP_CONFIG | unset | Path to config.toml |
LINSTOR_MCP_PROFILE | homelab | Configuration profile name |
LINSTOR_MCP_KUBE_CONTEXT | from profile | Kubernetes context override |
LINSTOR_MCP_LINSTOR_CLUSTER | from profile | LINSTOR cluster name override |
LINSTOR_MCP_CONTROLLER_MODE | port-forward | Controller access mode |
LINSTOR_MCP_CONTROLLER_URL | unset | Direct controller URL override |
LINSTOR_MCP_CONTROLLER_SERVICE | linstor-controller | Controller service name |
LINSTOR_MCP_CONTROLLER_NAMESPACE | piraeus-datastore | Controller namespace |
LINSTOR_MCP_TLS_CA_SECRET | linstor-api-tls | Secret containing controller CA trust |
LINSTOR_MCP_TLS_CLIENT_SECRET | linstor-client-tls | Secret containing client cert/key |
LINSTOR_MCP_STATE_DIR | ~/.local/state/linstor-mcp-server | State directory for plans and jobs |
LINSTOR_MCP_HTTP_ADDR |