muster

command module
v0.7.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 17, 2026 License: Apache-2.0 Imports: 2 Imported by: 0

README ΒΆ

Muster: Universal Control Plane for AI Agents

Go Report Card GoDoc

In German, Muster means "pattern" or "sample." This project provides the building blocks for AI agents to discover patterns and collect samples from any digital environment. It gives them a universal protocol to interact with the world.

Muster is a universal control plane built on the Model Context Protocol (MCP) that solves the MCP server management problem for platform engineers and AI agents.


The Platform Engineer's Dilemma

As a platform engineer, you interact with countless services: Kubernetes, Prometheus, Grafana, Flux, ArgoCD, cloud providers, and custom tooling. While tools like Terraform and Kubernetes operators provide unified orchestration interfaces, debugging and monitoring still requires jumping between different tools and contexts.

The MCP Revolution: LLM agents (in VSCode, Cursor, etc.) + MCP servers should solve this by giving agents direct access to your tools. There are already many excellent MCP servers available (Kubernetes, Prometheus, Grafana, Flux, etc.).

But there's a problem:

  • Adding all MCP servers to your agent pollutes the context and increases costs
  • Turning servers on/off manually is tedious and error-prone
  • Tool discovery becomes overwhelming as your toolkit grows
  • No coordination between different MCP servers and their prerequisites

The Solution: Intelligent MCP Aggregation

Muster solves this by creating a meta-MCP server that manages all your MCP servers and provides your agent with intelligent tool discovery capabilities.

πŸ“– Learn More: MCP Aggregation Deep Dive | System Architecture

How It Works
  1. muster serve starts the control plane that manages your MCP server processes
  2. Configure muster agent as an MCP server in your IDE
  3. Your agent gets meta-tools like list_tools, filter_tools, call_tool
  4. Agent discovers and uses tools dynamically based on the current task
graph TD
    subgraph "Your IDE (VSCode/Cursor)"
        Agent["πŸ€– AI Agent"]
        IDE["IDE MCP Config"]
    end

    subgraph "Muster Control Plane"
        MusterAgent["🎯 muster agent<br/>(Meta-MCP Server)"]
        MusterServe["βš™οΈ muster serve<br/>(Process Manager)"]

        subgraph "Managed MCP Servers"
            K8s["πŸ”· Kubernetes<br/>(kubectl, helm)"]
            Prom["πŸ“Š Prometheus<br/>(metrics, alerts)"]
            Grafana["πŸ“ˆ Grafana<br/>(dashboards)"]
            Flux["πŸ”„ Flux<br/>(GitOps)"]
        end
    end

    Agent <-->|"MCP Protocol"| MusterAgent
    MusterAgent <--> MusterServe
    MusterServe <--> K8s
    MusterServe <--> Prom
    MusterServe <--> Grafana
    MusterServe <--> Flux

πŸ“– Learn More: Component Interaction Diagram | System Overview

Core Capabilities

🧠 Intelligent Tool Discovery

Your agent can now:

# Discover available tools dynamically
agent: "What Kubernetes tools are available?"
β†’ filter tools {pattern="kubernetes"}

# Find the right tool for the task
agent: "I need to check pod logs"
β†’ filter tools {description="logs"}

# Execute tools on-demand
agent: "Show me failing pods in default namespace"
β†’ call x_kubernetes_list {"resourceType": "pods", "namespace": "default"}

πŸ“– Learn More: MCP Tools Reference | Tool Discovery Guide

πŸš€ Dynamic MCP Server Management
  • Lifecycle Control: Start, stop, restart MCP servers on demand
  • Health Monitoring: Automatic health checks and recovery
  • Configuration Management: Hot-reload server configurations
  • Local Process Deployment: Local processes (local) for MCP server execution

πŸ“– Learn More: MCP Server Management | Configuration Guide

πŸ›‘οΈ Smart Access Control
  • Tool Filtering: Block destructive tools by default (override with --yolo)
  • Project-Based Control: Different tool sets for different projects
  • Context Optimization: Only load tools when needed

πŸ“– Learn More: Security Configuration

πŸ—οΈ Advanced Orchestration
Workflows: Deterministic Task Automation

Once your agent discovers how to complete a task, persist it as a workflow:

name: debug-failing-pods
steps:
  - id: find-pods
    tool: x_kubernetes_get_pods
    args:
      namespace: "{{ .namespace }}"
      status: "failed"
  - id: get-logs
    tool: x_kubernetes_get_logs
    args:
      pod: "{{ steps.find-pods.podName }}"
      lines: 100

Benefits:

  • Reduce AI costs (deterministic execution)
  • Faster results (no re-discovery)
  • Consistent debugging across team members

πŸ“– Learn More: Workflow Creation Guide | Workflow Component Architecture

Quick Start

πŸ€– AI Agent Users (5 minutes)

Connect Muster to your IDE for smart tool access:

πŸ“– AI Agent Setup Guide

πŸ—οΈ Platform Engineers (15 minutes)

Set up Muster for infrastructure management:

πŸ“– Platform Setup Guide

πŸ‘©β€πŸ’» Contributors (10 minutes)

Configure your development environment:

πŸ“– Development Setup

Installation
Homebrew (macOS)
brew tap giantswarm/muster
brew install muster
Manual Installation
git clone https://github.com/giantswarm/muster.git
cd muster && go build .

πŸ“– Learn More: Installation Guide | Local Demo

Configure MCP Servers

Create kubernetes-server.yaml:

apiVersion: muster.io/v1
kind: MCPServer
name: kubernetes
spec:
  type: localCommand
  command: ["mcp-kubernetes"]
  autoStart: true

Register it:

./muster create mcpserver kubernetes.yaml
Connect Your AI Agent

Configure your IDE to use Muster's agent as an MCP server:

Cursor/VSCode settings.json:

{
  "mcpServers": {
    "muster": {
      "command": "muster",
      "args": ["standalone"]
    }
  }
}

πŸ“– Learn More: AI Agent Integration | Cursor Advanced Setup

Let Your Agent Discover Tools

Your agent now has meta-capabilities:

  • list_tools: Show all available tools
  • filter_tools: Find tools by name/description
  • describe_tool: Get detailed tool information
  • call_tool: Execute any tool dynamically

πŸ“– Learn More: Complete MCP Tools Reference | CLI Command Reference

Benefits for Platform Teams

Cost Optimization
  • Reduced AI token usage: Tools loaded only when needed
  • Deterministic workflows: No re-discovery costs
  • Efficient context: Smart tool filtering
Team Collaboration
  • GitOps workflows: Share debugging patterns via Git
  • Consistent tooling: Same tool access across team members
  • Knowledge preservation: Workflows capture tribal knowledge
Operational Excellence
  • Faster incident response: Pre-built investigation workflows
  • Reduced context switching: All tools through one interface

πŸ“– Learn More: Core Benefits | Design Principles

Documentation Hub

πŸš€ Getting Started
πŸ› οΈ How-To Guides
πŸ“š Reference Documentation
πŸ—οΈ Architecture & Concepts
πŸš€ Operations & Deployment
πŸ‘₯ Contributing

Community & Support


Muster is a Giant Swarm project, built to empower platform engineers and AI agents with intelligent infrastructure control.

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Directories ΒΆ

Path Synopsis
internal
admin
Package admin provides a read-only web UI for inspecting and managing muster sessions.
Package admin provides a read-only web UI for inspecting and managing muster sessions.
agent
Package agent provides comprehensive MCP (Model Context Protocol) client and server implementations for debugging, testing, and integrating with the muster aggregator.
Package agent provides comprehensive MCP (Model Context Protocol) client and server implementations for debugging, testing, and integrating with the muster aggregator.
agent/commands
Package commands provides a shared interface for REPL command implementations.
Package commands provides a shared interface for REPL command implementations.
agent/oauth
Package oauth implements OAuth 2.1 client authentication for the Muster Agent.
Package oauth implements OAuth 2.1 client authentication for the Muster Agent.
aggregator
Package aggregator provides the MCP aggregator server implementation.
Package aggregator provides the MCP aggregator server implementation.
api
Package api provides the central API layer for muster's Service Locator Pattern.
Package api provides the central API layer for muster's Service Locator Pattern.
app
Package app provides application bootstrap, lifecycle management, and configuration management for muster.
Package app provides application bootstrap, lifecycle management, and configuration management for muster.
cli
Package cli provides sophisticated command-line interface utilities for the muster application.
Package cli provides sophisticated command-line interface utilities for the muster application.
client
Package client provides a unified client abstraction for accessing muster resources both locally (filesystem) and in-cluster (Kubernetes API).
Package client provides a unified client abstraction for accessing muster resources both locally (filesystem) and in-cluster (Kubernetes API).
client/filesystem
Package filesystem is the filesystem-backed implementation of the unified muster client interface defined in the parent client package.
Package filesystem is the filesystem-backed implementation of the unified muster client interface defined in the parent client package.
config
Package config provides configuration management for muster.
Package config provides configuration management for muster.
context
Package context provides kubectl-style context management for muster CLI.
Package context provides kubectl-style context management for muster CLI.
events
Package events provides core infrastructure for generating Kubernetes Events for muster CRD lifecycle operations.
Package events provides core infrastructure for generating Kubernetes Events for muster CRD lifecycle operations.
mcpserver
Package mcpserver provides MCP (Model Context Protocol) server management functionality.
Package mcpserver provides MCP (Model Context Protocol) server management functionality.
metatools
Package metatools provides server-side meta-tool handlers for the MCP aggregator.
Package metatools provides server-side meta-tool handlers for the MCP aggregator.
oauth
Package oauth implements OAuth 2.1 proxy functionality for remote MCP server authentication.
Package oauth implements OAuth 2.1 proxy functionality for remote MCP server authentication.
oauth/store
Package store provides per-session authentication and capability stores for the token broker layer.
Package store provides per-session authentication and capability stores for the token broker layer.
orchestrator
Package orchestrator manages the lifecycle of services registered in the shared service registry.
Package orchestrator manages the lifecycle of services registered in the shared service registry.
reconciler
Package reconciler provides a unified reconciliation system for muster resources.
Package reconciler provides a unified reconciliation system for muster resources.
server
Package server provides OAuth 2.1 protection for the Muster Server.
Package server provides OAuth 2.1 protection for the Muster Server.
services
Package services provides the service abstraction layer for muster.
Package services provides the service abstraction layer for muster.
template
Package template implements the variable substitution and templating engine used by workflow steps.
Package template implements the variable substitution and templating engine used by workflow steps.
testing
## Service Testing - **Lifecycle Management**: Test service creation, management, and deletion - **Dependency Management**: Validate service dependency resolution - **State Transitions**: Test service state changes and event handling - **Integration**: Test service interaction with other system components
## Service Testing - **Lifecycle Management**: Test service creation, management, and deletion - **Dependency Management**: Validate service dependency resolution - **State Transitions**: Test service state changes and event handling - **Integration**: Test service interaction with other system components
testing/fixtures/oauth
Package oauth contains test fixtures for OAuth authentication testing.
Package oauth contains test fixtures for OAuth authentication testing.
testing/mock
Package mock provides mock MCP server functionality for testing muster components.
Package mock provides mock MCP server functionality for testing muster components.
workflow
Package workflow provides workflow management and execution capabilities for muster.
Package workflow provides workflow management and execution capabilities for muster.
pkg
apis/muster/v1alpha1
Package v1alpha1 contains API Schema definitions for the muster v1alpha1 API group.
Package v1alpha1 contains API Schema definitions for the muster v1alpha1 API group.
logging
Package logging provides a structured logging system for muster with unified log handling and flexible output formatting.
Package logging provides a structured logging system for muster with unified log handling and flexible output formatting.
oauth
Package oauth provides shared OAuth 2.1 types and utilities used by both the Muster Agent and Server.
Package oauth provides shared OAuth 2.1 types and utilities used by both the Muster Agent and Server.
observability
Package observability holds the shared OpenTelemetry identifiers that every muster package emits under, so a single TracerProvider / MeterProvider scope joins spans, metrics, and logs across the codebase.
Package observability holds the shared OpenTelemetry identifiers that every muster package emits under, so a single TracerProvider / MeterProvider scope joins spans, metrics, and logs across the codebase.
project
Package project exposes the build identifiers populated by the architect-orb `go-build` job at link time (gitSHA, buildTimestamp).
Package project exposes the build identifiers populated by the architect-orb `go-build` job at link time (gitSHA, buildTimestamp).
strings
Package strings provides string utility functions for the muster project.
Package strings provides string utility functions for the muster project.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL