A Model Context Protocol (MCP) server for debugging Kuadrant installations. Provides structured debugging prompts and embedded troubleshooting guides. Designed to work alongside a Kubernetes MCP server (e.g. mcp-server-kubernetes) for cluster interaction.
# Build
git clone https://github.com/kuadrant/kuadrant-mcp-server && cd kuadrant-mcp-server
go build -o kuadrant-mcp-server
# Add to Claude Code (available in all projects)
claude mcp add -s user kuadrant -- /path/to/kuadrant-mcp-server
# Verify
claude mcp list
# Start using
claude# Add to Claude Code
claude mcp add -s user kuadrant docker -- run -i --rm ghcr.io/kuadrant/kuadrant-mcp-server:latest
# Verify
claude mcp listThe server supports three transport modes:
# stdio (default) — used by Claude Code and Claude Desktop
./kuadrant-mcp-server
# SSE transport — for web-based MCP clients
./kuadrant-mcp-server -transport sse -addr :8080
# HTTP transport — StreamableHTTP for modern web clients
./kuadrant-mcp-server -transport http -addr :8080Add to your Claude Desktop claude_desktop_config.json:
{
"mcpServers": {
"kuadrant": {
"command": "/path/to/kuadrant-mcp-server"
}
}
}Or using Docker:
{
"mcpServers": {
"kuadrant": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/kuadrant/kuadrant-mcp-server:latest"]
}
}
}Structured debugging workflows that guide the LLM through diagnostic steps using a companion Kubernetes MCP server.
| Prompt | Description |
|---|---|
debug-installation |
Verify operator, CRDs, Kuadrant CR, Istio, Limitador, Authorino |
debug-gateway |
Gateway not accepting traffic, listeners, Istio proxy |
debug-dnspolicy |
DNS records not created, provider config, zone issues |
debug-tlspolicy |
Certificates not issuing, issuer problems, cert-manager |
debug-ratelimitpolicy |
Rate limits not enforced, Limitador health, targeting |
debug-authpolicy |
Auth not enforced, Authorino health, rule matching |
debug-telemetrypolicy |
Custom metrics not appearing, CEL expression issues |
debug-tokenratelimitpolicy |
Token-based rate limiting not working |
debug-policy-status |
Interpret status conditions on any policy |
debug-policy-conflicts |
Override/default conflicts, policy hierarchy |
Debug my Kuadrant installation in the kuadrant-system namespace
Why isn't my RateLimitPolicy 'api-limits' being enforced?
Help me understand the status conditions on my AuthPolicy
My DNSPolicy isn't creating DNS records - what's wrong?
Check if there are policy conflicts in the production namespace
Embedded debugging guides bundled into the binary. No network access required.
| Resource | Description |
|---|---|
kuadrant://debug/installation |
Operator, CRDs, Kuadrant CR, Istio health |
kuadrant://debug/gateway-istio |
Istio gateway proxy, listeners, envoy config |
kuadrant://debug/dnspolicy |
DNS provider, zone config, record creation |
kuadrant://debug/tlspolicy |
cert-manager, issuer, certificate lifecycle |
kuadrant://debug/ratelimitpolicy |
Limitador health, rate limit enforcement |
kuadrant://debug/authpolicy |
Authorino health, auth rule matching |
kuadrant://debug/telemetrypolicy |
Custom metrics, CEL expressions |
kuadrant://debug/tokenratelimitpolicy |
Token-based rate limiting |
kuadrant://debug/status-conditions |
All status conditions across all policy types |
kuadrant://debug/policy-conflicts |
Override/default hierarchy, multi-policy resolution |
Combine with a Kubernetes MCP server for a complete debugging workflow:
# Add both servers
claude mcp add -s user kuadrant docker -- run -i --rm ghcr.io/kuadrant/kuadrant-mcp-server:latest
claude mcp add -s user kubernetes npx -- @flux159/mcp-server-kubernetesThe debugging prompts direct the LLM to use the Kubernetes MCP server for cluster queries — checking pod status, reading resource conditions, fetching events, and reading logs.
See RELEASE.md. Images are published to ghcr.io/kuadrant/kuadrant-mcp-server.
Apache 2.0