Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/giantswarm/musternpx agentmods add rules/giantswarm/muster/mcp-debuggingWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/rules/giantswarm/muster/mcp-debugging)<a href="https://agentmods.dev/rules/giantswarm/muster/mcp-debugging"><img src="https://agentmods.dev/badge/rules/giantswarm/muster/mcp-debugging/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/rules/giantswarm/muster/mcp-debugging"><img src="https://agentmods.dev/badge/rules/giantswarm/muster/mcp-debugging.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.01559 |
| Opus 5.5 | $0.00000 | $0.00624 |
| Sonnet 5.5 | $0.00000 | $0.00312 |
| Haiku 4.5 | $0.00000 | $0.00156 |
Grade A, and why
mcp-debugging scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 148 lines — stays where its author put it; the contents beside it link to each section on GitHub.
-
Core Testing Loop
-
Whenever you change Go code and want to test the new functionality, you MUST follow these steps:
- Restart the Service:
Run the development restart script to rebuild and restart the
musterservice with your changes../scripts/dev-restart.sh - Initial Log Check:
Verify that the service started correctly by checking the logs.
journalctl --user -u muster.service --no-pager |tail -n 50
Look for any startup errors or unexpected messages.
- Restart the Service:
Run the development restart script to rebuild and restart the
-
Test with
mcp-debug:- Use the
mcp-debugtools to interact with the running service and test your new functionality. - Start by listing the available tools to ensure your new features are registered.
# Example: List all tools from the mcp-debug server mcp_mcp-debug_call_tool(name="core_mcpserver_list_tools", arguments={ "serverName": "mcp-debug" }) - Then, call the specific tools related to your changes to validate their behavior.
# Example: Call a specific tool mcp_mcp-debug_call_tool(name="your_new_tool", arguments={...})
- Use the
-
Final Log Check:
- Inspect the logs again to see the output and any errors generated during your testing.
journalctl --user -u muster.service --no-pager |tail -n 50
- Inspect the logs again to see the output and any errors generated during your testing.
-
Important Note
- Always use
--no-pager: When usingjournalctlorsystemctl, you MUST include the--no-pagerflag. Without it, the output will be piped to a pager program, and you will not receive a response in the terminal.
- Always use
-
-
Debugging muster via mcp-debug
- mcp-debug provides core debugging tools to test and explore the functionality of muster exposed in its aggregated MCP server.
- Use mcp-debug tools as the primary debugging interface rather than manual inspection
-
mcp-debug Tools
- mcp_mcp-debug_list_tools: list all the tools exposed by the aggregated mcp server
- mcp_mcp-debug_describe_tool: describe a tool exposed by the aggregated mcp server
- mcp_mcp-debugcall_tool: execute a tool exposed by the aggregated mcp server
-
Aggregated MCP server
- The aggregated MCP server is exposed by muster. This is the main subject of development and debugging here.
- The aggregated MCP server exposes tools via the model-context-protocol that you can explore via mcp-debug
- The main functionality of muster is exposed through the tools that are prefixed with
core_* - The aggregated MCP server can be compiled and restarted via
./scripts/dev-restart.sh
-
Debugging Examples
-
- Verify All Services Are Running: Start by checking the overall health of the system:
mcp_mcp-debug_call_tool(name="core_service_list", arguments={}) -
- Check MCP Server Registration: Verify that all expected MCP servers are properly registered with the aggregator:
mcp_mcp-debug_call_tool(name="core_mcpserver_list", arguments={}) -
- If a service shows as unhealthy:
- Check its detailed status:
core_service_status - Try restarting it:
core_service_restart - Check if its MCP client is attached in the service list
-
- Workflow validation fails:
- Use
core_workflow_validateto check syntax - Ensure tool names exist (check with
mcp_mcp-debug_list_tools) - Verify argument schemas match the tool requirements
-
-
Important Notes
- The tools with the prefix
x_are coming from the MCP servers that are managed by muster and then aggregated in its own MCP server. Please don't try to fix them. They are separate projects. - Tool names from individual MCP servers get prefixed like this
x_kubernetes_*for the kubernetes MCP server andx_prometheus_*for the prometheus MCP server
- The tools with the prefix
-
Debugging Approach
- Phase 1: System Health Verification
Key Checks:mcp_mcp-debug_call_tool(name="core_mcpserver_list", arguments={}) mcp_mcp-debug_call_tool(name="core_serviceclass_list", arguments={}) mcp_mcp-debug_call_tool(name="core_workflow_list", arguments={}) mcp_mcp-debug_call_tool(name="core_service_list", arguments={})- All MCP servers services show
"health": "Healthy"and"state": "Running" - ServiceClasses show
"available": true - No
missingToolsin ServiceClass definitions
- All MCP servers services show
- ServiceClass-Specific Testing
# Test specific ServiceClass availability mcp_mcp-debug_call_tool(name="core_serviceclass_available", arguments={"name": "<serviceclass-name>"}) # Test instantiation with safe parameters mcp_mcp-debug_call_tool(name="core_service_create", arguments={ "serviceClassName": "<name>", "label": "debug-test", "parameters": {...} }) - Dependency Verification
# Test underlying tools directly mcp_mcp-debug_call_tool(name="<required-tool>", arguments={...}) # Verify connectivity to external systems - Service Recovery
# Restart failed services mcp_mcp-debug_call_tool(name="core_service_restart", arguments={"label": "<service-name>"}) # Check detailed status mcp_mcp-debug_call_tool(name="core_service_status", arguments={"label": "<service-name>"}) - Service Instance Management
# List and clean up test instances mcp_mcp-debug_call_tool(name="core_service_list", arguments={}) mcp_mcp-debug_call_tool(name="core_service_delete", arguments={"instanceId": "debug-test"})
- Phase 1: System Health Verification
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 148 lines · 0 tokens per session scan A 0a8e03382697
mcp-debugging is a cursor rule published in the GitHub repository giantswarm/muster (35 stars, last pushed today), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 1,559 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other cursor rules, from other repositories
code-style
Formatting, lint, comments language.
keystone-computational-go-vet
Full guide: .charter/guides/computational/go-vet.md (read on demand).
handle-unexpected-errors-by-inspecting-the-cause
Cursor rule "handle-unexpected-errors-by-inspecting-the-cause" from PaulJPhilp/EffectPatterns, covering handle unexpected errors by inspecting the cause and example.
roslyn-mcp-decompile
Assembly resolve, ILSpy decompile, NuGet/BCL fallback.
keystone-go-stdlib-first
Prefer Go stdlib over new third-party deps.
php-types-validation
Guidelines for type definitions and validation in PHP MCP SDK.