Troubleshooting#
Use this page as a practical playbook when setup or runtime behavior is not as expected.
1. Server fails to start#
Check port conflicts and startup logs:
| |
If using Docker, inspect container logs:
| |
2. /health is unreachable or non-200#
| |
If connection fails:
- Confirm process/container is running.
- Confirm bind address and published port.
- Confirm firewall or security group rules.
3. SSE endpoint opens but handshake fails#
| |
Then run the built-in smoke test:
| |
If smoke test fails, inspect the first stream events and message endpoint behavior.
4. Authentication keeps returning 401#
Verify runtime auth configuration:
| |
Validate using both supported API key styles:
| |
5. Tool calls are slow or time out#
Start with high-impact checks:
- Confirm upstream backends (Kubernetes API, Prometheus, Grafana, etc.) are reachable.
- Reduce scope of each request (namespace, time range, object count).
- Enable pagination/summary patterns.
- Tune timeout and rate-limit settings in config.
6. Some services are unavailable#
List enabled services and tools:
| |
If a service is unexpectedly missing, check:
MCP_ENABLED_SERVICESMCP_DISABLED_SERVICES- service-specific credentials and endpoint variables
7. Gather useful diagnostics before filing an issue#
Include these details in your issue report:
- server mode (
sse/streamable-http) - startup command and key env vars (mask secrets)
curloutput for/healthand transport endpoint- relevant logs (last 100-200 lines)