nosmoht avatar

Talos Linux MCP Server

nosmoht/talos-mcp-server

Connects Claude directly to your Talos Linux cluster over the native gRPC API using the same mTLS credentials as talosctl. Instead of copying terminal output into chat, you get structured JSON responses for resource queries, service status, logs, container lists, health checks, and lifecycle operations like upgrades and reboots. Ships as an npm package with prebuilt binaries for Linux and macOS. Supports stdio and HTTP transports, read-only mode, node allowlists, and insecure mode for maintenance operations. Validates upgrade paths automatically and includes rate limiting for HTTP deployments. Built on the Talos machinery SDK and tested against v1.9 through v1.12. Good fit if you're managing Talos clusters and want agent-driven operations without shell script wrappers.

GitHub stars
3
tools
23
transport
STDIO
env vars
13
last updated
Nov 9, 2026

Tools

23 tools

Public tool metadata for what this MCP can expose to an agent.

talos_resource_definitionsList all available resource types and their aliases. Call this first to discover what can be queried.

List all available resource types and their aliases. Call this first to discover what can be queried.

No parameter schema in public metadata yet.

talos_getGet or list any COSI resource by type (e.g. MachineStatus, Member, NodeAddress, Service). Supports maintenance-mode (insecure=true + endpoint).

Get or list any COSI resource by type (e.g. MachineStatus, Member, NodeAddress, Service). Supports maintenance-mode (insecure=true + endpoint).

No parameter schema in public metadata yet.

talos_versionGet Talos version info from target nodes. Supports maintenance-mode (insecure=true + endpoint).

Get Talos version info from target nodes. Supports maintenance-mode (insecure=true + endpoint).

No parameter schema in public metadata yet.

talos_servicesList all Talos services and their current state (running, stopped, health).

List all Talos services and their current state (running, stopped, health).

No parameter schema in public metadata yet.

talos_containersList containers in a namespace (default: k8s.io for Kubernetes containers).

List containers in a namespace (default: k8s.io for Kubernetes containers).

No parameter schema in public metadata yet.

talos_processesList running processes on target nodes.

List running processes on target nodes.

No parameter schema in public metadata yet.

talos_healthCheck cluster health (etcd, Kubernetes API, node readiness). Supports control_plane_nodes / worker_nodes override.

Check cluster health (etcd, Kubernetes API, node readiness). Supports control_plane_nodes / worker_nodes override.

No parameter schema in public metadata yet.

talos_logsFetch recent service logs (last N lines, no follow).

Fetch recent service logs (last N lines, no follow).

No parameter schema in public metadata yet.

talos_dmesgRead kernel ring buffer messages.

Read kernel ring buffer messages.

No parameter schema in public metadata yet.

talos_eventsFetch recent Talos runtime events (service changes, config changes).

Fetch recent Talos runtime events (service changes, config changes).

No parameter schema in public metadata yet.

talos_etcdQuery etcd cluster: members (default) or status.

Query etcd cluster: members (default) or status.

No parameter schema in public metadata yet.

talos_etcd_snapshotStream an etcd snapshot to a local file path.

Stream an etcd snapshot to a local file path.

No parameter schema in public metadata yet.

talos_list_filesList files and directories on a node filesystem.

List files and directories on a node filesystem.

No parameter schema in public metadata yet.

talos_read_fileRead file contents from a node filesystem.

Read file contents from a node filesystem.

No parameter schema in public metadata yet.

talos_validateValidate a machine config (YAML/JSON) offline — no cluster connection.

Validate a machine config (YAML/JSON) offline — no cluster connection.

No parameter schema in public metadata yet.

talos_service_actionStart, stop, or restart a Talos service (note: restarting etcd is not supported by the Talos API).

Start, stop, or restart a Talos service (note: restarting etcd is not supported by the Talos API).

No parameter schema in public metadata yet.

talos_rebootReboot target nodes. Supports mode: default, powercycle, force.

Reboot target nodes. Supports mode: default, powercycle, force.

No parameter schema in public metadata yet.

talos_upgradeUpgrade Talos on target nodes. Supports preserve (default true), stage, force, reboot_mode.

Upgrade Talos on target nodes. Supports preserve (default true), stage, force, reboot_mode.

No parameter schema in public metadata yet.

talos_rollbackRoll back the last upgrade on target nodes.

Roll back the last upgrade on target nodes.

No parameter schema in public metadata yet.

talos_patch_configApply a targeted machine config patch (strategic-merge or RFC 6902 JSON Patch).

Apply a targeted machine config patch (strategic-merge or RFC 6902 JSON Patch).

No parameter schema in public metadata yet.

talos_resetWipe and factory-reset target nodes (irreversible).

Wipe and factory-reset target nodes (irreversible).

No parameter schema in public metadata yet.

talos_apply_configApply a complete machine config to a single node. Supports maintenance-mode (insecure=true + endpoint) for fresh-node bootstrap.

Apply a complete machine config to a single node. Supports maintenance-mode (insecure=true + endpoint) for fresh-node bootstrap.

No parameter schema in public metadata yet.

talos_metaRead, write, or delete META partition key/value pairs. Supports maintenance-mode (insecure=true + endpoint).

Read, write, or delete META partition key/value pairs. Supports maintenance-mode (insecure=true + endpoint).

No parameter schema in public metadata yet.

Sponsors

Configuration

TALOSCONFIG

Path to talosconfig file (default: ~/.talos/config)

TALOS_CONTEXT

Context name override (default: active context from config)

TALOS_ENDPOINTS

Comma-separated endpoint overrides

TALOS_MCP_READ_ONLY

Set to "true" to disable all mutating tools (default: false)

TALOS_MCP_HTTP_ADDR

If set (e.g. ":8080"), serve Streamable HTTP instead of stdio

TALOS_MCP_AUTH_TOKEN

Required bearer token when HTTP mode is active (TALOS_MCP_HTTP_ADDR is set)

TALOS_MCP_ALLOWED_NODES

Comma-separated IPs, hostnames, and CIDR ranges permitted as tool targets. Unset or empty allows all nodes.

TALOS_MCP_ALLOWED_PATHS

Comma-separated path prefixes permitted for talos_read_file and talos_list_files (e.g. /etc,/proc). Unset or empty allows all paths.

TALOS_MCP_SKIP_VERSION_CHECK

Set to "true" to bypass upgrade path validation (default: false)

TALOS_MCP_RATE_LIMIT

HTTP mode: token-bucket refill rate in requests/second (float, default: 10)

TALOS_MCP_RATE_BURST

HTTP mode: token-bucket burst capacity (int, default: 20)

TALOS_MCP_MAX_BODY_SIZE

HTTP mode: max POST request body size in bytes (int, default: 4194304 = 4 MiB)

TALOS_MCP_MAX_CONCURRENT

HTTP mode: max concurrent POST handlers; returns 503 on overload (int, default: 20)

Readme

Details

Repository
github.com/nosmoht/talos-mcp-server
Package
talos-mcp
Transport
STDIO
Registry
MCP registry, active