Talos Linux MCP Server
talos-mcp
Ein MCP-Server, der die Verwaltung von Talos Linux-Clustern für KI-Agenten (Claude Code, OpenAI Codex und jeden MCP-kompatiblen Client) zugänglich macht. Anstatt talosctl-Ausgaben in den Chat zu kopieren, ruft der Agent strukturierte Tools auf, die maschinenlesbares JSON direkt von der Talos gRPC-API zurückgeben – ohne Token-Kosten für Zwischenausgaben.
Verbindet sich über die native Talos gRPC-API mit Ihrem Cluster unter Verwendung derselben mTLS-Anmeldedaten wie talosctl (~/.talos/config).
Installation
Via npm (kein Go erforderlich, Linux/macOS, amd64/arm64):
npx talos-mcpBinärdatei herunterladen (Linux/macOS, amd64/arm64):
Laden Sie das neueste Release von GitHub Releases herunter, entpacken Sie es und legen Sie die Binärdatei in Ihrem $PATH ab.
Aus dem Quellcode bauen (erfordert Go 1.21+):
git clone https://github.com/Nosmoht/talos-mcp-server
cd talos-mcp
go build -o talos-mcp .Konfiguration
Liest standardmäßig ~/.talos/config (dieselbe Datei, die talosctl verwendet). Überschreiben Sie dies über Umgebungsvariablen:
Variable | Standardwert | Beschreibung |
|
| Pfad zur talosconfig-Datei |
| aktiver Kontext | Zu verwendender Kontextname |
| aus Konfiguration | Kommagetrennte Endpunkt-Überschreibungen |
|
| Auf |
| (alle) | Kommagetrennte Pfadpräfixe, die für |
|
| Auf |
Kompatibilität
Dieser Server wurde mit Talos Linux v1.9.x bis v1.12.x getestet.
talos-mcp | Talos Linux | machinery SDK |
v0.x (aktuell) | v1.9.0 – v1.12.x | v1.12.6 |
Der Server protokolliert eine Startwarnung, wenn die Talos-Version des verbundenen Clusters außerhalb des getesteten Bereichs liegt. Alle 19 verwendeten gRPC-Methoden sind seit Talos v1.9 stabil.
Validierung des Upgrade-Pfads
Das Tool talos_upgrade validiert, ob die Zielversion dem unterstützten Upgrade-Pfad von Talos folgt – maximal eine Minor-Version auf einmal (z. B. v1.11.x → v1.12.x). Upgrades, die Minor-Versionen überspringen, werden mit einem Fehler abgelehnt.
Wenn Ihr Image ein benutzerdefiniertes oder Factory-Tag verwendet (z. B. factory.talos.dev/... oder :latest), kann das Tag nicht geparst werden und die Validierung wird automatisch übersprungen. Um die Validierung explizit zu umgehen, setzen Sie TALOS_MCP_SKIP_VERSION_CHECK=true.
Client-Einrichtung
Claude Code
Fügen Sie dies zur .mcp.json Ihres Projekts hinzu:
{
"mcpServers": {
"talos": {
"command": "npx",
"args": ["-y", "talos-mcp"]
}
}
}Oder global in ~/.claude.json unter "mcpServers". Wenn Sie eine lokale Binärdatei bevorzugen, ersetzen Sie "command": "npx" durch den Pfad zur Binärdatei.
Claude Desktop
Fügen Sie dies zu ~/Library/Application Support/Claude/claude_desktop_config.json hinzu:
{
"mcpServers": {
"talos": {
"command": "npx",
"args": ["-y", "talos-mcp"]
}
}
}OpenAI Codex
Fügen Sie dies zu .codex/config.toml (Projekt) oder ~/.codex/config.toml (global) hinzu:
[mcp_servers.talos]
command = "npx"
args = ["-y", "talos-mcp"]
[mcp_servers.talos.env]
TALOSCONFIG = "/path/to/talosconfig"Generischer MCP-Client
Der Server spricht das MCP-Protokoll über stdio:
./talos-mcpTools
Nur-Lese-Tools
Tool | Beschreibung |
| Listet alle verfügbaren Ressourcentypen und deren Aliase auf. Rufen Sie dies zuerst auf, um zu erfahren, was abgefragt werden kann. |
| Ruft eine beliebige COSI-Ressource nach Typ ab oder listet sie auf (z. B. |
| Ruft Talos-Versionsinformationen von Zielknoten ab. |
| Listet alle Talos-Dienste und deren aktuellen Status auf (laufend, gestoppt, gesund). |
| Listet Container in einem Namespace auf (Standard: |
| Listet laufende Prozesse auf Zielknoten auf. |
| Überprüft den Cluster-Status (etcd, Kubernetes API, Knotenbereitschaft). Unterstützt |
| Ruft aktuelle Dienstprotokolle ab (letzte N Zeilen, kein Follow). |
| Liest Kernel-Ringpuffer-Meldungen. |
| Ruft aktuelle Talos-Laufzeitereignisse ab (Dienständerungen, Konfigurationsänderungen). |
| Fragt den etcd-Cluster ab: |
| Listet Dateien und Verzeichnisse auf einem Knoten-Dateisystem auf. |
| Liest Dateiinhalte von einem Knoten-Dateisystem. |
Mutierende Tools
Diese Tools ändern den Cluster-Status und verfügen über explizite Sicherheitsvorkehrungen.
Tool | Beschreibung | Sicherheitsvorkehrungen |
| Startet, stoppt oder startet einen Talos-Dienst neu (Hinweis: der Neustart von | — |
| Startet Zielknoten neu. Unterstützt |
|
| Führt ein Upgrade von Talos auf Zielknoten durch. Unterstützt |
|
| Führt ein Rollback des letzten Upgrades auf Zielknoten durch. |
|
| Wendet einen Maschinenkonfigurations-Patch an (JSON oder YAML Strategic Merge). |
|
Alle Tools akzeptieren ein optionales nodes-Feld (Liste von Knoten-IPs oder Hostnamen). Wenn es weggelassen wird, wird der aktive Kontext aus der talosconfig verwendet.
Sicherheitsmodell
Vertrauensgrenzen
MCP Client (Claude Code / Codex)
│ stdio / JSON-RPC
▼
talos-mcp ◄── reads TALOSCONFIG (~/.talos/config)
│ gRPC + mTLS
▼
Talos API (each node)
│
▼
Node OSWarnung zum Datenfluss: Tool-Antworten fließen direkt in das Kontextfenster des LLM und werden an den LLM-Anbieter gesendet. Alles, was ein Tool zurückgibt – Knoten-IPs, Hostnamen, Dienstkonfigurationen, Kernel-Protokolle, Dateiinhalte – wird Teil des Prompts, der über das Netzwerk gesendet wird. Verwenden Sie diesen Server nicht mit Clustern, die Daten enthalten, die Sie nicht an Ihren LLM-Anbieter senden möchten.
Talos RBAC wird serverseitig durchgesetzt. Die Anmeldedaten in Ihrer talosconfig bestimmen, welche Vorgänge auf jedem Knoten zulässig sind. talos-mcp kann Talos RBAC nicht umgehen – eine Anfrage, die von der API abgelehnt wird, schlägt mit einem Fehler fehl und ist nicht erfolgreich.
Tool-Klassifizierung und erforderliche RBAC-Mindestrolle
Tool | RBAC-Minimum |
|
|
|
|
|
|
Sicherheitsmechanismen
Mechanismus | Funktionsweise |
Nur-Lese-Modus |
|
Pfad-Allowlist |
|
Bestätigungsgates |
|
Preserve-Standard |
|
Dry-Run-Standard |
|
Audit-Protokollierung | Alle Aufrufe mutierender Tools ( |
Was nicht Teil des Bedrohungsmodells ist
Das LLM selbst – Prompt-Injection, halluzinierte Tool-Argumente und die Datenspeicherung des LLM-Anbieters liegen außerhalb des Zuständigkeitsbereichs dieses Servers
Der MCP-Client – die Sicherheit von Claude Code, Codex oder anderen MCP-Clients liegt in der Verantwortung dieser Projekte
Netzwerkpfad zwischen talos-mcp und Talos-Knoten – geschützt durch gegenseitiges TLS unter Verwendung der Anmeldedaten in Ihrer talosconfig
Einrichtung von Anmeldedaten mit minimalen Rechten
Erstellen Sie eine dedizierte talosconfig mit minimalen Berechtigungen für die Verwendung mit diesem Server:
Nur-Lese-Zugriff (empfohlen für die meisten Anwendungsfälle):
# Generate a reader-only talosconfig
talosctl config new --roles=os:reader talosconfig-readonlySetzen Sie dann TALOSCONFIG=/path/to/talosconfig-readonly und TALOS_MCP_READ_ONLY=true für maximale Einschränkung. Bei dieser Einrichtung stellt der Server nur Nur-Lese-Tools bereit und die Anmeldedaten können keine mutierenden Vorgänge ausführen, selbst wenn ein Tool irgendwie umgangen würde.
Operator-Zugriff (für Dienstverwaltung, Neustart, Upgrade):
talosctl config new --roles=os:operator talosconfig-operatorDies deckt alle Tools außer talos_patch_config ab (welches os:admin erfordert).
Vollzugriff (erforderlich für Konfigurations-Patching):
Verwenden Sie Ihre Standard-talosconfig oder generieren Sie eine mit os:admin. Reservieren Sie dies für Setups, bei denen die Konfigurations-Patch-Funktion explizit benötigt wird.
Downloads verifizieren
Prüfsummen (Integrität)
Jedes Release enthält eine talos-mcp_<version>_checksums.txt-Datei mit SHA-256-Hashes aller Archive. Überprüfen Sie die Binärdatei nach dem Herunterladen:
# Download archive and checksums
curl -LO https://github.com/Nosmoht/talos-mcp-server/releases/download/v<version>/talos-mcp_<version>_linux_amd64.tar.gz
curl -LO https://github.com/Nosmoht/talos-mcp-server/releases/download/v<version>/talos-mcp_<version>_checksums.txt
# Verify
sha256sum --check --ignore-missing talos-mcp_<version>_checksums.txtDies erkennt Beschädigungen oder unvollständige Downloads. Es schützt nicht vor einer kompromittierten Release-Pipeline.
GitHub Artifact Attestations (SLSA L2-Provenienz)
Jedes Release enthält eine GitHub-native Build-Provenienz-Attestierung, die die Binärdatei kryptografisch mit dem spezifischen Commit und dem Workflow-Lauf verknüpft, der sie erstellt hat:
gh attestation verify talos-mcp_<version>_linux_amd64.tar.gz \
--repo Nosmoht/talos-mcp-serverDies erfordert die GitHub CLI. Eine erfolgreiche Überprüfung bedeutet, dass das Artefakt vom offiziellen Release-Workflow in diesem Repository erstellt wurde, nicht von einem Build eines Drittanbieters.
npm-Paket-Provenienz
npm-Pakete werden mit Provenienz-Attestierung veröffentlicht:
npm audit signaturesEin erfolgreiches Ergebnis bedeutet, dass das Paket vom offiziellen GitHub Actions-Release-Workflow über OIDC Trusted Publishing veröffentlicht wurde.
Entwicklung
# Build
go build -o talos-mcp .
# Test
go test -race ./...
# Lint (requires golangci-lint v2)
golangci-lint run
# Format check
gofmt -l .Lizenz
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/Nosmoht/talos-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server