{"id":34507454,"url":"https://github.com/giantswarm/muster","last_synced_at":"2026-04-01T17:09:02.070Z","repository":{"id":301343819,"uuid":"1005771177","full_name":"giantswarm/muster","owner":"giantswarm","description":"MCP tool management and workflow proxy","archived":false,"fork":false,"pushed_at":"2026-03-25T08:23:02.000Z","size":42671,"stargazers_count":20,"open_issues_count":36,"forks_count":6,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-25T09:31:28.127Z","etag":null,"topics":["ai","development","development-tools","mcp","mcp-client","mcp-proxy","mcp-server","mcp-tools"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/giantswarm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/contributing/README.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":"DCO","cla":null}},"created_at":"2025-06-20T19:39:02.000Z","updated_at":"2026-03-25T08:22:44.000Z","dependencies_parsed_at":"2026-02-09T09:02:32.134Z","dependency_job_id":null,"html_url":"https://github.com/giantswarm/muster","commit_stats":null,"previous_names":["giantswarm/muster"],"tags_count":323,"template":false,"template_full_name":null,"purl":"pkg:github/giantswarm/muster","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giantswarm%2Fmuster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giantswarm%2Fmuster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giantswarm%2Fmuster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giantswarm%2Fmuster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/giantswarm","download_url":"https://codeload.github.com/giantswarm/muster/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giantswarm%2Fmuster/sbom","scorecard":{"id":1239496,"data":{"date":"2025-10-15T15:25:26Z","repo":{"name":"github.com/giantswarm/muster","commit":"47012ceda617ddaecdf30f8cacfb2a771b61ad78"},"scorecard":{"version":"v5.3.0","commit":"c22063e786c11f9dd714d777a687ff7c4599b600"},"score":6.7,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 9 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#binary-artifacts"}},{"name":"Code-Review","score":8,"reason":"Found 14/17 approved changesets -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#code-review"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#security-policy"}},{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: RenovateBot: renovate.json5:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#dependency-update-tool"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: topLevel 'contents' permission set to 'write': .github/workflows/auto-release.yaml:11","Info: topLevel 'pull-requests' permission set to 'read': .github/workflows/auto-release.yaml:12","Warn: no topLevel permission defined: .github/workflows/ci.yaml:1","Warn: no topLevel permission defined: .github/workflows/zz_generated.add-team-labels.yaml:1","Warn: no topLevel permission defined: .github/workflows/zz_generated.add-to-project-board.yaml:1","Warn: no topLevel permission defined: .github/workflows/zz_generated.check_values_schema.yaml:1","Warn: no topLevel permission defined: .github/workflows/zz_generated.create_release.yaml:1","Warn: no topLevel permission defined: .github/workflows/zz_generated.create_release_pr.yaml:1","Warn: no topLevel permission defined: .github/workflows/zz_generated.fix_vulnerabilities.yaml:1","Warn: no topLevel permission defined: .github/workflows/zz_generated.gitleaks.yaml:1","Warn: no topLevel permission defined: .github/workflows/zz_generated.run_ossf_scorecard.yaml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/zz_generated.validate_changelog.yaml:16","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":5,"reason":"dependency not pinned by hash detected -- score normalized to 5","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/auto-release.yaml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/giantswarm/muster/auto-release.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/auto-release.yaml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/giantswarm/muster/auto-release.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/auto-release.yaml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/giantswarm/muster/auto-release.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/auto-release.yaml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/giantswarm/muster/auto-release.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/giantswarm/muster/ci.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/giantswarm/muster/ci.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/giantswarm/muster/ci.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/giantswarm/muster/ci.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yaml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/giantswarm/muster/ci.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/zz_generated.check_values_schema.yaml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/giantswarm/muster/zz_generated.check_values_schema.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/zz_generated.create_release_pr.yaml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/giantswarm/muster/zz_generated.create_release_pr.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/zz_generated.fix_vulnerabilities.yaml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/giantswarm/muster/zz_generated.fix_vulnerabilities.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/zz_generated.gitleaks.yaml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/giantswarm/muster/zz_generated.gitleaks.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/zz_generated.run_ossf_scorecard.yaml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/giantswarm/muster/zz_generated.run_ossf_scorecard.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/zz_generated.validate_changelog.yaml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/giantswarm/muster/zz_generated.validate_changelog.yaml/main?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/ci.yaml:43","Info:  14 out of  20 GitHub-owned GitHubAction dependencies pinned","Info:   7 out of  16 third-party GitHubAction dependencies pinned","Info:   2 out of   2 goCommand dependencies pinned","Info:   0 out of   1 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2025-3922 / GHSA-jc7w-c686-c4v9"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#vulnerabilities"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/auto-release.yaml:15"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#packaging"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#branch-protection"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v0.0.65 not signed: https://api.github.com/repos/giantswarm/muster/releases/253363181","Warn: release artifact v0.0.61 not signed: https://api.github.com/repos/giantswarm/muster/releases/253354428","Warn: release artifact v0.0.60 not signed: https://api.github.com/repos/giantswarm/muster/releases/253352477","Warn: release artifact v0.0.59 not signed: https://api.github.com/repos/giantswarm/muster/releases/253352532","Warn: release artifact v0.0.58 not signed: https://api.github.com/repos/giantswarm/muster/releases/253352308","Warn: release artifact v0.0.65 does not have provenance: https://api.github.com/repos/giantswarm/muster/releases/253363181","Warn: release artifact v0.0.61 does not have provenance: https://api.github.com/repos/giantswarm/muster/releases/253354428","Warn: release artifact v0.0.60 does not have provenance: https://api.github.com/repos/giantswarm/muster/releases/253352477","Warn: release artifact v0.0.59 does not have provenance: https://api.github.com/repos/giantswarm/muster/releases/253352532","Warn: release artifact v0.0.58 does not have provenance: https://api.github.com/repos/giantswarm/muster/releases/253352308"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#signed-releases"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#license"}},{"name":"Contributors","score":10,"reason":"project has 5 contributing companies or organizations","details":["Info: found contributions from: Nerds, d27y, giant swarm, giantswarm, nko"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#contributors"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 27 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"27 out of 27 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#ci-tests"}}]},"last_synced_at":"2025-11-05T21:27:43.541Z","repository_id":301343819,"created_at":"2025-11-05T21:27:43.542Z","updated_at":"2025-11-05T21:27:43.542Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31290538,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","development","development-tools","mcp","mcp-client","mcp-proxy","mcp-server","mcp-tools"],"created_at":"2025-12-24T03:04:10.995Z","updated_at":"2026-04-01T17:09:02.044Z","avatar_url":"https://github.com/giantswarm.png","language":"Go","readme":"# Muster: Universal Control Plane for AI Agents\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/giantswarm/muster)](https://goreportcard.com/report/github.com/giantswarm/muster)\n[![GoDoc](https://godoc.org/github.com/giantswarm/muster?status.svg)](https://godoc.org/github.com/giantswarm/muster)\n\n**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.**\n\nMuster 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.\n\n---\n\n## The Platform Engineer's Dilemma\n\nAs 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.\n\n**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.).\n\n**But there's a problem**:\n\n- Adding all MCP servers to your agent **pollutes the context** and increases costs\n- **Turning servers on/off manually** is tedious and error-prone\n- **Tool discovery** becomes overwhelming as your toolkit grows\n- **No coordination** between different MCP servers and their prerequisites\n\n## The Solution: Intelligent MCP Aggregation\n\nMuster solves this by creating a **meta-MCP server** that manages all your MCP servers and provides your agent with **intelligent tool discovery** capabilities.\n\n\u003e 📖 **Learn More**: [MCP Aggregation Deep Dive](docs/explanation/mcp-aggregation.md) | [System Architecture](docs/explanation/architecture.md)\n\n### How It Works\n\n1. **`muster serve`** starts the control plane that manages your MCP server processes\n2. **Configure `muster agent`** as an MCP server in your IDE\n3. **Your agent gets meta-tools** like `list_tools`, `filter_tools`, `call_tool`\n4. **Agent discovers and uses tools dynamically** based on the current task\n\n```mermaid\ngraph TD\n    subgraph \"Your IDE (VSCode/Cursor)\"\n        Agent[\"🤖 AI Agent\"]\n        IDE[\"IDE MCP Config\"]\n    end\n\n    subgraph \"Muster Control Plane\"\n        MusterAgent[\"🎯 muster agent\u003cbr/\u003e(Meta-MCP Server)\"]\n        MusterServe[\"⚙️ muster serve\u003cbr/\u003e(Process Manager)\"]\n\n        subgraph \"Managed MCP Servers\"\n            K8s[\"🔷 Kubernetes\u003cbr/\u003e(kubectl, helm)\"]\n            Prom[\"📊 Prometheus\u003cbr/\u003e(metrics, alerts)\"]\n            Grafana[\"📈 Grafana\u003cbr/\u003e(dashboards)\"]\n            Flux[\"🔄 Flux\u003cbr/\u003e(GitOps)\"]\n        end\n    end\n\n    Agent \u003c--\u003e|\"MCP Protocol\"| MusterAgent\n    MusterAgent \u003c--\u003e MusterServe\n    MusterServe \u003c--\u003e K8s\n    MusterServe \u003c--\u003e Prom\n    MusterServe \u003c--\u003e Grafana\n    MusterServe \u003c--\u003e Flux\n```\n\n\u003e 📖 **Learn More**: [Component Interaction Diagram](docs/explanation/diagrams/component-interaction.md) | [System Overview](docs/explanation/diagrams/system-overview.md)\n\n## Core Capabilities\n\n### 🧠 Intelligent Tool Discovery\n\nYour agent can now:\n\n```bash\n# Discover available tools dynamically\nagent: \"What Kubernetes tools are available?\"\n→ filter tools {pattern=\"kubernetes\"}\n\n# Find the right tool for the task\nagent: \"I need to check pod logs\"\n→ filter tools {description=\"logs\"}\n\n# Execute tools on-demand\nagent: \"Show me failing pods in default namespace\"\n→ call x_kubernetes_list {\"resourceType\": \"pods\", \"namespace\": \"default\"}\n```\n\n\u003e 📖 **Learn More**: [MCP Tools Reference](docs/reference/mcp-tools.md) | [Tool Discovery Guide](docs/how-to/mcp-server-management.md)\n\n### 🚀 Dynamic MCP Server Management\n\n- **Lifecycle Control**: Start, stop, restart MCP servers on demand\n- **Health Monitoring**: Automatic health checks and recovery\n- **Configuration Management**: Hot-reload server configurations\n- **Local Process Deployment**: Local processes (`local`) for MCP server execution\n\n\u003e 📖 **Learn More**: [MCP Server Management](docs/how-to/mcp-server-management.md) | [Configuration Guide](docs/reference/configuration.md)\n\n### 🛡️ Smart Access Control\n\n- **Tool Filtering**: Block destructive tools by default (override with `--yolo`)\n- **Project-Based Control**: Different tool sets for different projects\n- **Context Optimization**: Only load tools when needed\n\n\u003e 📖 **Learn More**: [Security Configuration](docs/operations/security.md)\n\n### 🏗️ Advanced Orchestration\n\n#### **Workflows**: Deterministic Task Automation\n\nOnce your agent discovers how to complete a task, **persist it as a workflow**:\n\n```yaml\nname: debug-failing-pods\nsteps:\n  - id: find-pods\n    tool: x_kubernetes_get_pods\n    args:\n      namespace: \"{{ .namespace }}\"\n      status: \"failed\"\n  - id: get-logs\n    tool: x_kubernetes_get_logs\n    args:\n      pod: \"{{ steps.find-pods.podName }}\"\n      lines: 100\n```\n\n**Benefits**:\n\n- **Reduce AI costs** (deterministic execution)\n- **Faster results** (no re-discovery)\n- **Consistent debugging** across team members\n\n\u003e 📖 **Learn More**: [Workflow Creation Guide](docs/how-to/workflow-creation.md) | [Workflow Component Architecture](docs/explanation/components/workflows.md)\n\n#### **ServiceClasses**: Handle Prerequisites Automatically\n\nMany MCP servers need setup (port-forwarding, authentication, etc.). ServiceClasses define these prerequisites:\n\n```yaml\nname: prometheus-access\nstartTool: x_kubernetes_port_forward\nargs:\n  service: \"prometheus-server\"\n  namespace: \"monitoring\"\n  localPort: 9090\nhealthCheck:\n  url: \"http://localhost:9090/api/v1/status\"\n```\n\n**Complete Integration Example**:\n\n1. **ServiceClass** creates port-forwarding to Prometheus\n2. **MCP Server** configuration uses the forwarded port\n3. **Workflow** orchestrates: setup → query → cleanup\n4. **Agent** executes everything seamlessly\n\n\u003e 📖 **Learn More**: [ServiceClass Patterns](docs/how-to/serviceclass-patterns.md) | [Service Configuration](docs/how-to/service-configuration.md) | [Services Component Guide](docs/explanation/components/services.md)\n\n## Quick Start\n\n### 🤖 AI Agent Users (5 minutes)\n\nConnect Muster to your IDE for smart tool access:\n\u003e 📖 **[AI Agent Setup Guide](docs/getting-started/ai-agent-integration.md)**\n\n### 🏗️ Platform Engineers (15 minutes)\n\nSet up Muster for infrastructure management:\n\u003e 📖 **[Platform Setup Guide](docs/getting-started/platform-setup.md)**\n\n### 👩‍💻 Contributors (10 minutes)\n\nConfigure your development environment:\n\u003e 📖 **[Development Setup](docs/contributing/development-setup.md)**\n\n### Installation\n\n#### Homebrew (macOS)\n\n```bash\nbrew tap giantswarm/muster\nbrew install muster\n```\n\n#### Manual Installation\n\n```bash\ngit clone https://github.com/giantswarm/muster.git\ncd muster \u0026\u0026 go build .\n```\n\n\u003e 📖 **Learn More**: [Installation Guide](docs/operations/installation.md) | [Local Demo](docs/getting-started/local-demo.md)\n\n#### Configure MCP Servers\n\nCreate `kubernetes-server.yaml`:\n\n```yaml\napiVersion: muster.io/v1\nkind: MCPServer\nname: kubernetes\nspec:\n  type: localCommand\n  command: [\"mcp-kubernetes\"]\n  autoStart: true\n```\n\nRegister it:\n\n```bash\n./muster create mcpserver kubernetes.yaml\n```\n\n#### Connect Your AI Agent\n\nConfigure your IDE to use Muster's agent as an MCP server:\n\n**Cursor/VSCode settings.json**:\n\n```json\n{\n  \"mcpServers\": {\n    \"muster\": {\n      \"command\": \"muster\",\n      \"args\": [\"standalone\"]\n    }\n  }\n}\n```\n\n\u003e 📖 **Learn More**: [AI Agent Integration](docs/getting-started/ai-agent-integration.md) | [Cursor Advanced Setup](docs/how-to/cursor-advanced-setup.md)\n\n#### Let Your Agent Discover Tools\n\nYour agent now has meta-capabilities:\n\n- **`list_tools`**: Show all available tools\n- **`filter_tools`**: Find tools by name/description\n- **`describe_tool`**: Get detailed tool information\n- **`call_tool`**: Execute any tool dynamically\n\n\u003e 📖 **Learn More**: [Complete MCP Tools Reference](docs/reference/mcp-tools.md) | [CLI Command Reference](docs/reference/cli/README.md)\n\n## Advanced Platform Engineering Scenarios\n\n### Scenario 1: Multi-Cluster Debugging\n\nServiceClass for cluster access\n\n```yaml\nname: cluster-login\nversion: \"1.0.0\"\nserviceConfig:\n  serviceType: \"auth\"\n  args:\n    cluster:\n      type: \"string\"\n      required: true\n  lifecycleTools:\n    start: { tool: \"x_teleport_kube_login\" }\n```\n\nWorkflow to compare pods on two clusters\n\n```yaml\n# Workflow for cross-cluster investigation\nname: compare-pod-on-staging-prod\ninput_schema:\n  type: \"object\"\n  properties:\n    namespace: { type: \"string\" }\n    pod: { type: \"string\" }\n  required: [\"namespace\", \"pod\"]\nsteps:\n  - id: staging-context\n    tool: core_service_create\n    args:\n      serviceClassName: \"cluster-login\"\n      name: \"staging-context\"\n      params:\n        cluster: \"staging\"\n  - id: prod-context\n    tool: core_service_create\n    args:\n      serviceClassName: \"cluster-login\"\n      name: \"staging-context\"\n      params:\n        cluster: \"production\"\n  - id: wait-for-step\n  - id: compare-resources\n    tool: workflow_compare_pods_on_clusters\n    args:\n\n```\n\n### Scenario 2: Full Observability Stack\n```yaml\n# Prometheus access with port-forwarding\nname: prometheus-tunnel\nstartTool: k8s_port_forward\nargs:\n  service: \"prometheus-server\"\n  localPort: 9090\n\n---\n# Grafana dashboard access\nname: grafana-tunnel\nstartTool: k8s_port_forward\nargs:\n  service: \"grafana\"\n  localPort: 3000\n---\n# Complete monitoring workflow\nname: investigation-setup\nsteps:\n  - id: setup-prometheus\n    serviceClass: prometheus-tunnel\n  - id: setup-grafana\n    serviceClass: grafana-tunnel\n  - id: configure-prometheus-mcp\n    tool: core_mcpserver_create\n    args:\n      name: \"prometheus\"\n      type: \"localCommand\"\n      command: [\"mcp-server-prometheus\"]\n      env:\n        PROMETHEUS_URL: \"http://localhost:9090\"\n```\n\n\u003e 📖 **Learn More**: [Advanced Scenarios](docs/how-to/advanced-scenarios.md) | [Configuration Examples](docs/explanation/configuration-examples.md)\n\n## Benefits for Platform Teams\n\n### **Cost Optimization**\n- **Reduced AI token usage**: Tools loaded only when needed\n- **Deterministic workflows**: No re-discovery costs\n- **Efficient context**: Smart tool filtering\n\n### **Team Collaboration**\n- **GitOps workflows**: Share debugging patterns via Git\n- **Consistent tooling**: Same tool access across team members\n- **Knowledge preservation**: Workflows capture tribal knowledge\n\n### **Operational Excellence**\n- **Faster incident response**: Pre-built investigation workflows\n- **Reduced context switching**: All tools through one interface\n- **Automated prerequisites**: ServiceClasses handle setup complexity\n\n\u003e 📖 **Learn More**: [Core Benefits](docs/explanation/benefits.md) | [Design Principles](docs/explanation/design-principles.md)\n\n## Documentation Hub\n\n### 🚀 Getting Started\n- [Quick Start Guide](docs/getting-started/quick-start.md) - Get up and running in minutes\n- [AI Agent Setup](docs/getting-started/ai-agent-integration.md) - IDE integration guide\n- [Platform Setup](docs/getting-started/platform-setup.md) - Infrastructure setup\n- [Local Demo](docs/getting-started/local-demo.md) - Try Muster locally\n\n### 🛠️ How-To Guides\n- [Workflow Creation](docs/how-to/workflow-creation.md) - Build automation workflows\n- [ServiceClass Patterns](docs/how-to/serviceclass-patterns.md) - Manage service dependencies\n- [MCP Server Management](docs/how-to/mcp-server-management.md) - Configure external tools\n- [Troubleshooting](docs/how-to/troubleshooting.md) - Common issues and solutions\n- [AI Troubleshooting](docs/how-to/ai-troubleshooting.md) - AI-specific debugging\n\n### 📚 Reference Documentation\n- [CLI Commands](docs/reference/cli/README.md) - Complete command reference\n- [Configuration](docs/reference/configuration.md) - Configuration schemas\n- [API Reference](docs/reference/api.md) - REST and MCP APIs\n- [MCP Tools](docs/reference/mcp-tools.md) - Available tools catalog\n- [CRDs](docs/reference/crds.md) - Kubernetes Custom Resources\n\n### 🏗️ Architecture \u0026 Concepts\n- [System Architecture](docs/explanation/architecture.md) - How Muster works\n- [Component Overview](docs/explanation/components/README.md) - Individual components\n- [MCP Aggregation](docs/explanation/mcp-aggregation.md) - Core aggregation logic\n- [Design Decisions](docs/explanation/decisions/README.md) - Architecture decisions\n- [Problem Statement](docs/explanation/problem-statement.md) - Why Muster exists\n\n### 🚀 Operations \u0026 Deployment\n- [Installation](docs/operations/installation.md) - Production deployment\n- [Security Configuration](docs/operations/security.md) - Security best practices\n\n### 👥 Contributing\n- [Development Setup](docs/contributing/development-setup.md) - Dev environment\n- [Testing Framework](docs/contributing/testing/README.md) - Testing guidelines\n- [Code Guidelines](docs/contributing/README.md) - Development standards\n\n## Community \u0026 Support\n\n- **[Contributing Guide](docs/contributing/README.md)**: How to contribute to Muster\n- **[Issue Tracker](https://github.com/giantswarm/muster/issues)**: Bug reports and feature requests\n- **[Discussions](https://github.com/giantswarm/muster/discussions)**: Community Q\u0026A and use cases\n\n---\n\n*Muster is a [Giant Swarm](https://giantswarm.io) project, built to empower platform engineers and AI agents with intelligent infrastructure control.*\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiantswarm%2Fmuster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgiantswarm%2Fmuster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiantswarm%2Fmuster/lists"}