Conversation
teemow
left a comment
There was a problem hiding this comment.
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:
--endpointflag--contextflagMUSTER_CONTEXTenv varcurrent-contextfromcontexts.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
--endpointeverywhere. The user authenticates directly withmuster auth login --endpoint https://.... - Option B (cleaner for multi-context users): Keep Steps 2-3 as-is, and remove
--endpointfrom 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
dexin your management cluster(s) with the proper identity provider."
This reads awkwardly. Suggestion:
"Ensure
dexis 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, anddescribe_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, anddescribe_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 whoamias 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.
teemow
left a comment
There was a problem hiding this comment.
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.
| ## 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 | ||
| ``` |
There was a problem hiding this comment.
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:
--endpointflag (highest)--contextflagMUSTER_CONTEXTenv varcurrent-contextfromcontexts.yaml
I'd suggest picking one approach:
- Option A: Keep context setup here, remove
--endpointfrom 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
--endpointin the IDE config +muster auth login --endpoint <url>.
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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.
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>
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>
Towards https://github.com/giantswarm/giantswarm/issues/35651