freshcrate
Home > MCP Servers > muster

Description

MCP tool management and workflow proxy

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
Loading

📖 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

ServiceClasses: Handle Prerequisites Automatically

Many MCP servers need setup (port-forwarding, authentication, etc.). ServiceClasses define these prerequisites:

name: prometheus-access
startTool: x_kubernetes_port_forward
args:
  service: "prometheus-server"
  namespace: "monitoring"
  localPort: 9090
healthCheck:
  url: "http://localhost:9090/api/v1/status"

Complete Integration Example:

  1. ServiceClass creates port-forwarding to Prometheus
  2. MCP Server configuration uses the forwarded port
  3. Workflow orchestrates: setup → query → cleanup
  4. Agent executes everything seamlessly

📖 Learn More: ServiceClass Patterns | Service Configuration | Services Component Guide

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

Advanced Platform Engineering Scenarios

Scenario 1: Multi-Cluster Debugging

ServiceClass for cluster access

name: cluster-login
version: "1.0.0"
serviceConfig:
  serviceType: "auth"
  args:
    cluster:
      type: "string"
      required: true
  lifecycleTools:
    start: { tool: "x_teleport_kube_login" }

Workflow to compare pods on two clusters

# Workflow for cross-cluster investigation
name: compare-pod-on-staging-prod
input_schema:
  type: "object"
  properties:
    namespace: { type: "string" }
    pod: { type: "string" }
  required: ["namespace", "pod"]
steps:
  - id: staging-context
    tool: core_service_create
    args:
      serviceClassName: "cluster-login"
      name: "staging-context"
      params:
        cluster: "staging"
  - id: prod-context
    tool: core_service_create
    args:
      serviceClassName: "cluster-login"
      name: "staging-context"
      params:
        cluster: "production"
  - id: wait-for-step
  - id: compare-resources
    tool: workflow_compare_pods_on_clusters
    args:

Scenario 2: Full Observability Stack

# Prometheus access with port-forwarding
name: prometheus-tunnel
startTool: k8s_port_forward
args:
  service: "prometheus-server"
  localPort: 9090

---
# Grafana dashboard access
name: grafana-tunnel
startTool: k8s_port_forward
args:
  service: "grafana"
  localPort: 3000
---
# Complete monitoring workflow
name: investigation-setup
steps:
  - id: setup-prometheus
    serviceClass: prometheus-tunnel
  - id: setup-grafana
    serviceClass: grafana-tunnel
  - id: configure-prometheus-mcp
    tool: core_mcpserver_create
    args:
      name: "prometheus"
      type: "localCommand"
      command: ["mcp-server-prometheus"]
      env:
        PROMETHEUS_URL: "http://localhost:9090"

📖 Learn More: Advanced Scenarios | Configuration Examples

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
  • Automated prerequisites: ServiceClasses handle setup complexity

📖 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.

Release History

VersionChangesUrgencyDate
v0.1.115## What's Changed * Update module github.com/mark3labs/mcp-go to v0.49.0 by @renovate[bot] in https://github.com/giantswarm/muster/pull/577 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.114...v0.1.115 High4/21/2026
v0.1.114## What's Changed * fix: forward underlying tool error to call_tool outer isError by @marians in https://github.com/giantswarm/muster/pull/576 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.113...v0.1.114 High4/21/2026
v0.1.113## What's Changed * feat: accept ID tokens issued directly by the upstream OIDC provider by @paurosello in https://github.com/giantswarm/muster/pull/566 ## New Contributors * @paurosello made their first contribution in https://github.com/giantswarm/muster/pull/566 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.112...v0.1.113 High4/21/2026
v0.1.112## What's Changed * fix: validate muster CRDs via discovery API instead of namespaced list by @teemow in https://github.com/giantswarm/muster/pull/574 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.111...v0.1.112 High4/20/2026
v0.1.111## What's Changed * Align files by @architectbot in https://github.com/giantswarm/muster/pull/573 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.110...v0.1.111 High4/20/2026
v0.1.110## What's Changed * Update module github.com/giantswarm/apptest-framework/v3 to v4 by @renovate[bot] in https://github.com/giantswarm/muster/pull/569 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.109...v0.1.110 High4/20/2026
v0.1.109## What's Changed * Align files by @architectbot in https://github.com/giantswarm/muster/pull/572 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.108...v0.1.109 High4/17/2026
v0.1.108## What's Changed * Align files by @architectbot in https://github.com/giantswarm/muster/pull/571 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.107...v0.1.108 High4/17/2026
v0.1.107## What's Changed * chore(deps): bump github.com/moby/spdystream from 0.5.0 to 0.5.1 in /tests/e2e by @dependabot[bot] in https://github.com/giantswarm/muster/pull/567 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.106...v0.1.107 High4/17/2026
v0.1.106## What's Changed * Update module github.com/giantswarm/mcp-oauth to v0.2.100 by @renovate[bot] in https://github.com/giantswarm/muster/pull/565 * Update module github.com/giantswarm/mcp-oauth to v0.2.101 by @renovate[bot] in https://github.com/giantswarm/muster/pull/568 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.105...v0.1.106 High4/17/2026
v0.1.105## What's Changed * Update k8s modules to v0.35.4 by @renovate[bot] in https://github.com/giantswarm/muster/pull/564 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.104...v0.1.105 High4/16/2026
v0.1.104## What's Changed * Align files by @architectbot in https://github.com/giantswarm/muster/pull/563 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.103...v0.1.104 High4/16/2026
v0.1.103## What's Changed * Update module github.com/giantswarm/mcp-oauth to v0.2.99 by @renovate[bot] in https://github.com/giantswarm/muster/pull/562 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.102...v0.1.103 High4/15/2026
v0.1.102## What's Changed * Align files by @architectbot in https://github.com/giantswarm/muster/pull/561 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.101...v0.1.102 High4/15/2026
v0.1.101## What's Changed * Update module github.com/mark3labs/mcp-go to v0.48.0 by @renovate[bot] in https://github.com/giantswarm/muster/pull/560 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.100...v0.1.101 Medium4/14/2026
v0.1.100## What's Changed * Update actions/upload-pages-artifact action to v5 by @renovate[bot] in https://github.com/giantswarm/muster/pull/559 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.99...v0.1.100 Medium4/14/2026
v0.1.99## What's Changed * Update module github.com/giantswarm/mcp-oauth to v0.2.98 by @renovate[bot] in https://github.com/giantswarm/muster/pull/558 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.98...v0.1.99 Medium4/12/2026
v0.1.98## What's Changed * Update module github.com/valkey-io/valkey-go to v1.0.74 by @renovate[bot] in https://github.com/giantswarm/muster/pull/557 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.97...v0.1.98 Medium4/12/2026
v0.1.97## What's Changed * Update module github.com/giantswarm/apptest-framework/v4 to v4.1.0 by @renovate[bot] in https://github.com/giantswarm/muster/pull/555 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.96...v0.1.97 Medium4/10/2026
v0.1.96## What's Changed * Update dependency go to v1.26.2 by @renovate[bot] in https://github.com/giantswarm/muster/pull/551 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.95...v0.1.96 Medium4/10/2026
v0.1.95## What's Changed * Update module github.com/jedib0t/go-pretty/v6 to v6.7.9 by @renovate[bot] in https://github.com/giantswarm/muster/pull/554 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.94...v0.1.95 Medium4/10/2026
v0.1.94## What's Changed * Update golang Docker tag to v1.26.2 by @renovate[bot] in https://github.com/giantswarm/muster/pull/552 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.93...v0.1.94 Medium4/10/2026
v0.1.93## What's Changed * Update module github.com/giantswarm/mcp-oauth to v0.2.97 by @renovate[bot] in https://github.com/giantswarm/muster/pull/553 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.92...v0.1.93 Medium4/10/2026
v0.1.92## What's Changed * Update module github.com/mark3labs/mcp-go to v0.47.1 by @renovate[bot] in https://github.com/giantswarm/muster/pull/556 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.91...v0.1.92 Medium4/10/2026
v0.1.91## What's Changed * Align files by @architectbot in https://github.com/giantswarm/muster/pull/550 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.90...v0.1.91 Medium4/10/2026
v0.1.90## What's Changed * Update actions/configure-pages action to v6 by @renovate[bot] in https://github.com/giantswarm/muster/pull/548 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.89...v0.1.90 Medium3/30/2026
v0.1.89## What's Changed * Update dependency requests to ~=2.33.0 [SECURITY] by @renovate[bot] in https://github.com/giantswarm/muster/pull/546 * Update module github.com/giantswarm/mcp-oauth to v0.2.93 by @renovate[bot] in https://github.com/giantswarm/muster/pull/547 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.88...v0.1.89 Medium3/27/2026
v0.1.88## What's Changed * Update actions/deploy-pages action to v5 by @renovate[bot] in https://github.com/giantswarm/muster/pull/542 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.87...v0.1.88 Medium3/26/2026
v0.1.87## What's Changed * Add optional cluster egress rules to CiliumNetworkPolicy by @pipo02mix in https://github.com/giantswarm/muster/pull/544 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.86...v0.1.87 Medium3/26/2026
v0.1.86## What's Changed * Update module github.com/mark3labs/mcp-go to v0.46.0 by @renovate[bot] in https://github.com/giantswarm/muster/pull/545 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.85...v0.1.86 Medium3/26/2026
v0.1.85## What's Changed * Add `muster call` command for direct MCP tool invocation by @pipo02mix in https://github.com/giantswarm/muster/pull/533 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.84...v0.1.85 Medium3/26/2026
v0.1.84## What's Changed * Update module github.com/giantswarm/mcp-oauth to v0.2.92 by @renovate[bot] in https://github.com/giantswarm/muster/pull/540 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.83...v0.1.84 Medium3/25/2026
v0.1.83## What's Changed * Update module github.com/giantswarm/apptest-framework/v3 to v4 by @renovate[bot] in https://github.com/giantswarm/muster/pull/537 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.82...v0.1.83 Medium3/24/2026
v0.1.82## What's Changed * Update azure/setup-helm action to v5 by @renovate[bot] in https://github.com/giantswarm/muster/pull/539 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.81...v0.1.82 Medium3/24/2026
v0.1.81## What's Changed * Fix Cilium network policy DNS label for kubeadm clusters by @teemow in https://github.com/giantswarm/muster/pull/538 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.80...v0.1.81 Medium3/23/2026
v0.1.80## What's Changed * Update k8s modules to v0.35.3 by @renovate[bot] in https://github.com/giantswarm/muster/pull/531 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.79...v0.1.80 Low3/19/2026
v0.1.79## What's Changed * Update module github.com/giantswarm/mcp-oauth to v0.2.90 by @renovate[bot] in https://github.com/giantswarm/muster/pull/532 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.78...v0.1.79 Low3/19/2026
v0.1.78## What's Changed * chore(deps): bump google.golang.org/grpc from 1.79.2 to 1.79.3 by @dependabot[bot] in https://github.com/giantswarm/muster/pull/530 ## New Contributors * @dependabot[bot] made their first contribution in https://github.com/giantswarm/muster/pull/530 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.77...v0.1.78 Low3/19/2026
v0.1.77## What's Changed * More structured logging improvements by @marians in https://github.com/giantswarm/muster/pull/529 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.76...v0.1.77 Low3/19/2026
v0.1.76## What's Changed * Aggregator server logging improvements by @marians in https://github.com/giantswarm/muster/pull/527 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.75...v0.1.76 Low3/19/2026
v0.1.75## What's Changed * Fix: Bump mcp-oauth to v0.2.89 and revert debug logging by @teemow in https://github.com/giantswarm/muster/pull/528 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.74...v0.1.75 Low3/18/2026
v0.1.74## What's Changed * Feat: Add ID token claims logging for SSO debugging by @teemow in https://github.com/giantswarm/muster/pull/526 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.73...v0.1.74 Low3/18/2026
v0.1.73## What's Changed * Update module github.com/giantswarm/apptest-framework/v3 to v3.3.0 by @renovate[bot] in https://github.com/giantswarm/muster/pull/524 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.72...v0.1.73 Low3/18/2026
v0.1.72## What's Changed * Fix: Harden session context guards and handle downstream SSO connection failures by @teemow in https://github.com/giantswarm/muster/pull/525 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.71...v0.1.72 Low3/18/2026
v0.1.71## What's Changed * Disable BackendTrafficPolicy timeout for SSE connections by @teemow in https://github.com/giantswarm/muster/pull/523 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.70...v0.1.71 Low3/18/2026
v0.1.70## What's Changed * Diagnostics: Add INFO-level logging to SSO session init paths by @teemow in https://github.com/giantswarm/muster/pull/522 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.69...v0.1.70 Low3/18/2026
v0.1.69## What's Changed * Fix: SSO token forwarding fails after ID token expiry (closes #516) by @teemow in https://github.com/giantswarm/muster/pull/519 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.68...v0.1.69 Low3/18/2026
v0.1.68## What's Changed * Update module github.com/giantswarm/mcp-oauth to v0.2.88 by @renovate[bot] in https://github.com/giantswarm/muster/pull/471 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.67...v0.1.68 Low3/17/2026
v0.1.67## What's Changed * Fix: Reduce SSO tracker failure TTL and clear failures on session re-init by @teemow in https://github.com/giantswarm/muster/pull/517 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.66...v0.1.67 Low3/17/2026
v0.1.66## What's Changed * Fix: Restore groups scope in DefaultOAuthCIMDScopes by @teemow in https://github.com/giantswarm/muster/pull/518 **Full Changelog**: https://github.com/giantswarm/muster/compare/v0.1.65...v0.1.66 Low3/17/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

pipulateLocal First AI SEO Software on Nix, FastHTML & HTMXvoice-synthesis-breakthrough
studioOpen-source control plane for your AI agents. Connect tools, hire agents, track every token and dollarv2.268.2
mcpOfficial MCP Servers for AWS2026.04.20260421081720
npcpyThe python library for research and development in NLP, multimodal LLMs, Agents, ML, Knowledge Graphs, and more.v1.4.21
agentA unified Model Context Protocol server implementation that aggregates multiple MCP servers into one.v0.31.0-beta1