Manage LINSTOR and Piraeus safely from MCP clients with inventory, planning, and apply workflows
{
"mcpServers": {
"linstor-mcp-server": {
"command": "<see-readme>",
"args": []
}
}
}No install config available. Check the server's README for setup instructions.
Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Manage LINSTOR and Piraeus safely from MCP clients with inventory, planning, and apply workflows
Is it safe?
No package registry to scan.
No authentication — any process on your machine can connect.
MIT. View license →
Is it maintained?
Last commit 0 days ago.
Will it work with my client?
Transport: stdio. Works with Claude Desktop, Cursor, Claude Code, and most MCP clients.
No automated test available for this server. Check the GitHub README for setup instructions.
No known vulnerabilities.
This server is missing a description. Tools and install config are also missing.If you've used it, help the community.
Add informationHave you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Persistent memory using a knowledge graph
Privacy-first. MCP is the protocol for tool access. We're the virtualization layer for context.
Pre-build reality check. Scans GitHub, HN, npm, PyPI, Product Hunt — returns 0-100 signal.
Monitor browser logs directly from Cursor and other MCP compatible IDEs.
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 |