talos
A Model Context Protocol (MCP) server for Talos (POC)
claude mcp add --transport stdio qjoly-talos-mcp talos-mcp \ --env TALOSCONFIG="<path to talosconfig>"
How to use
Talos-MCP provides a simple MCP (Model Context Protocol) server implementation that uses the Talos SDK to fetch data from multiple Talos nodes. It exposes capabilities such as listing disks, listing network interfaces, reporting CPU and memory usage, and rebooting nodes. The server relies on a Talos configuration file (talosconfig) to know the endpoints and nodes to connect to, as shown in the README example. To connect a client, use an MCP client that supports the stdio protocol and point it to the talos-mcp server binary. The README demonstrates configuring the MCP client (for example mcp-copilot) to launch the talos-mcp binary with TALOSCONFIG set to the location of your talosconfig. Once connected, you can issue standard MCP stdio commands to retrieve node information or perform actions like reboots.
Typical workflow:
- Ensure your Talos cluster is reachable and you have a configured talosconfig with endpoints and nodes.
- Build and run the talos-mcp server binary so it can listen for an MCP client connection via stdio.
- Configure your MCP client to launch the talos-mcp binary with the required environment variable TALOSCONFIG pointing to your talosconfig.
- Use the client to request data (e.g., disks, NICs, CPU/memory) or to instruct reboot operations on target nodes.
How to install
Prerequisites:
- Go 1.24+ (for building the binary)
- Access to a Talos cluster and a talosconfig file configured for your environment
- Basic Git and shell environment
Installation steps:
-
Clone the repository git clone https://github.com/qjoly/talos-mcp.git
-
Change into the project directory cd talos-mcp
-
Build the project to produce the talos-mcp binary go build -o talos-mcp main.go
-
Prepare your talosconfig file with the required endpoints and nodes. Example (talosconfig): context: mcp contexts: mcp: endpoints: - 192.168.32.83 nodes: - 192.168.32.83 - 192.168.32.85 - 192.168.32.84 ca: x crt: x key: x
-
Run the server (direct binary invocation). If you prefer to run via your MCP client, configure the client to start talos-mcp with TALOSCONFIG set to your talosconfig: ./talos-mcp
-
Connect an MCP client (e.g., mcp-copilot) using the stdio protocol and point it to the talos-mcp binary, ensuring TALOSCONFIG is set correctly in the client config, e.g.: { "mcp": { "servers": { "talos": { "type": "stdio", "command": "/path/to/talos-mcp", "env": { "TALOSCONFIG": "/path/to/talosconfig" } } } } }
Additional notes
Notes and tips:
- The server reads its connection details from talosconfig (endpoints and nodes). Ensure this file is accurate and accessible by the talos-mcp binary.
- The TALOSCONFIG environment variable is required by the client to locate the Talos cluster configuration. Set it to the path of your talosconfig when running the server or via your MCP client configuration.
- The MCP server currently supports listing disks, listing network interfaces, CPU/memory usage, and rebooting nodes via the Talos SDK. If you encounter connectivity errors, verify network reachability to the Talos endpoints and that the nodes listed in talosconfig are correct.
- If you change endpoints or nodes, restart the talos-mcp binary so it picks up the new configuration.
Related MCP Servers
mcp-language
mcp-language-server gives MCP enabled clients access semantic tools like get definition, references, rename, and diagnostics.
kodit
👩💻 MCP server to index external repositories
github-brain
An experimental GitHub MCP server with local database.
bgg
BGG MCP provides access to BoardGameGeek and a variety of board game related data through the Model Context Protocol. Enabling retrieval and filtering of board game data, user collections, and profiles.
mcp
Teamwork.com MCP server
chromedp
MCP server for browser automation using chromedp