Skip to content

Add a getting started guide for muster#3000

Merged
pipo02mix merged 10 commits intomainfrom
add-muster-docs
Feb 27, 2026
Merged

Add a getting started guide for muster#3000
pipo02mix merged 10 commits intomainfrom
add-muster-docs

Conversation

@pipo02mix
Copy link
Contributor

@pipo02mix pipo02mix requested a review from a team as a code owner February 27, 2026 13:51
@pipo02mix pipo02mix self-assigned this Feb 27, 2026
@pipo02mix pipo02mix requested a review from teemow February 27, 2026 13:51
Copy link
Member

@teemow teemow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work on this getting-started guide, Fernando! The structure is clear, the ASCII architecture diagram is helpful, and the troubleshooting section covers the right scenarios. Here are my review notes:

Issues

1. muster context show requires a name argument

The command muster context show (line ~54 in the new file) will fail — it requires exactly one argument:

muster context show <name>

Either change it to muster context show my-platform or use muster context current (which takes no arguments and prints the current context name).

2. Redundancy between context setup (Step 2) and --endpoint in IDE config (Step 4)

Steps 2 and 3 walk the user through setting up a context (muster context add + muster context use) and authenticating. But then Step 4 passes --endpoint=https://... explicitly in the IDE's MCP config, which overrides the context entirely.

The muster agent command resolves endpoints with this precedence:

  1. --endpoint flag
  2. --context flag
  3. MUSTER_CONTEXT env var
  4. current-context from contexts.yaml

So the context setup in Step 2 becomes unused if --endpoint is always passed in the IDE config. I'd suggest one of:

  • Option A (simpler): Remove Step 2 entirely and just use --endpoint everywhere. The user authenticates directly with muster auth login --endpoint https://....
  • Option B (cleaner for multi-context users): Keep Steps 2-3 as-is, and remove --endpoint from the IDE config in Step 4, so it resolves from the active context. This is cleaner for users with multiple installations.

3. Grammar fix in prerequisites

"Have it configured dex in your management cluster(s) with the proper identity provider."

This reads awkwardly. Suggestion:

"Ensure dex is configured in your management cluster(s) with a supported identity provider. Contact our support team if this is not the case."

4. Meta-tool list is incomplete

"it exposes a small set of discovery and execution tools: list_tools, call_tool, filter_tools, and describe_tool"

The actual implementation exposes 11 meta-tools (including list_core_tools, list_resources, describe_resource, get_resource, list_prompts, describe_prompt, get_prompt). The simplification is fine for a getting-started guide, but the current phrasing reads as an exhaustive list. Consider changing to:

"it exposes a small set of meta-tools — including list_tools, call_tool, filter_tools, and describe_tool — that your AI assistant uses automatically."

5. Re-authentication description is slightly inaccurate

The session management section says:

"If your session expires, the agent detects it and prompts re-authentication."

The agent is actually more proactive than this — when a tool call fails with a 401 due to an expired session, the agent automatically starts a new OAuth flow and opens the browser. It doesn't just "prompt" the user. A more accurate description:

"If your session expires, the agent automatically detects it and initiates re-authentication by opening your browser."

6. Session duration

"Your overall session lasts approximately 30 days"

The default is exactly 30 days (720h), configurable via Helm values. "Approximately" is fine since it can vary by installation, but it may be worth noting it's the default.

Minor / Nice-to-have

  • The first sentence of the doc ("Giant Swarm platform is ready to be used by AI agents, its integration lets you...") is a comma splice. Consider splitting into two sentences or using a semicolon.
  • The troubleshooting example shows fernando@example.com — good use of a reserved domain.
  • Consider adding a note about muster auth whoami as a quick way to verify identity.
  • The Cursor config section says "restart the MCP server from Cursor's MCP panel" — it might help to mention that in Cursor you can also just toggle the server off/on from the MCP settings UI.

Overall

Solid first version. The main actionable items are fixing the context show command (will error as-is) and resolving the context/endpoint redundancy to avoid confusing the user. The rest are polish items.

Copy link
Member

@teemow teemow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good first version of the muster docs -- well structured, helpful architecture diagram, and solid troubleshooting section. I've added inline suggestions that can be applied directly from the GitHub UI. The main issues are: a broken command (muster context show needs an argument), redundancy between context setup and --endpoint flag, and a few wording fixes for accuracy.

Comment on lines +60 to +67
## Step 2: Configure your context

A context tells Muster which aggregator endpoint to connect to. Add one with the endpoint URL your account engineer provided, then activate it:

```bash
muster context add my-platform --endpoint https://muster.<management-cluster>.<base-domain>/mcp
muster context use my-platform
```
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This context setup is great, but it becomes redundant because Step 4 passes --endpoint=... explicitly in the IDE config, which overrides the context.

The muster agent resolves endpoints with this precedence:

  1. --endpoint flag (highest)
  2. --context flag
  3. MUSTER_CONTEXT env var
  4. current-context from contexts.yaml

I'd suggest picking one approach:

  • Option A: Keep context setup here, remove --endpoint from IDE configs in Step 4. The agent will resolve from the active context. This is cleaner for users with multiple installations.
  • Option B: Remove Steps 2-3, and just rely on --endpoint in the IDE config + muster auth login --endpoint <url>.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But I think this shows users how contexts works an even if you add the context and login step 4 works. It maybe redundant but helps end user to understand how muster works under the hood, dont you think?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we should add --endpoint if we tell users to run muster context use before. This just confuses users. If you want to explain more then you can add some note like this:

With a context in muster you don't have to type --endpoint for every muster command.

pipo02mix and others added 5 commits February 27, 2026 15:33
Co-authored-by: Timo Derstappen <timo@giantswarm.io>
- Fix comma splice in opening sentence
- Fix prerequisite grammar for dex configuration
- Fix `muster context show` to require name argument (`show my-platform`)
- Remove --endpoint from IDE configs (agent resolves from active context)
- Clarify meta-tool list is not exhaustive ("including" instead of exhaustive list)
- Fix re-auth description: agent opens browser automatically, doesn't just prompt
- Add "(the default)" note to 30-day session duration
- Restore CLI quick reference table with `muster auth whoami` and corrected context commands
- Clarify Cursor MCP toggle workflow

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Microsoft style guide requires em dashes without surrounding spaces.
Replace all instances of ' — ' with '—'.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Vale ERRORs fixed in content:
- Microsoft.Plurals: cluster(s) → clusters
- Vale.Spelling: add IDE, Muster, mcp-kubernetes to vocabulary

Vale WARNINGs fixed in content:
- Microsoft.HeadingAcronyms: rename 'Configure your IDE' → 'Configure your code editor'
- Microsoft.FirstPerson: rephrase 'Show me' example prompts
- Microsoft.Adverbs: remove 'roughly' from token expiry description
- Microsoft.Wordiness: 'if this is not the case' → 'if not'
- Microsoft.Ellipses: replace '...' with 'and similar'

Vale config:
- Disable Microsoft.HeadingAcronyms (product names like VS Code, MCP, SSO
  are common in technical doc headings)
- Add IDE, Muster, mcp-kubernetes to vocab accept list

Markdownlint errors fixed:
- MD036: convert bold pseudo-headings to ### headings in troubleshooting section
- MD040: add 'text' language to bare code fence
- MD031: add blank lines around code fence

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The 30-word limit is too strict for technical documentation that
often requires more context in a single sentence.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@pipo02mix pipo02mix requested a review from teemow February 27, 2026 15:32
pipo02mix and others added 2 commits February 27, 2026 17:04
Vale.Terms errors:
- Add 'VS Code' to vocab accept list so it's not flagged as
  incorrect form of 'vs.' (versus)

Microsoft.Dashes error:
- Replace em-dash sandwich around inline code on line 164 with
  parentheses; Vale adds spaces when tokenizing backtick spans,
  causing false 'space before em dash' detection

Microsoft.Headings suggestion:
- Add GitHub, Copilot, and Cursor to Headings.yml exceptions so
  product names in headings are not flagged for capitalization

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
'Code' is already in Microsoft.Headings exceptions, and 'VS Code'
is the official product name. The lowercase 'code' from the remote
was unnecessary after adding GitHub/Copilot to the exceptions list.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@pipo02mix pipo02mix merged commit 6eddd4a into main Feb 27, 2026
4 of 6 checks passed
@pipo02mix pipo02mix deleted the add-muster-docs branch February 27, 2026 16:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants