Getting Started FAQ#
Which mode should I choose first?#
Use this default decision path:
streamable-http: best fit for modern MCP transport in productionsse: broad compatibility with existing MCP clients and integrations
If you are unsure, start with sse, complete validation, then migrate to streamable-http.
Why do I get 401 unauthorized?#
Check the following in order:
MCP_AUTH_ENABLED=trueis actually set in runtime environment.MCP_AUTH_MODEis one ofapikey,bearer,basic.- For
apikeymode,MCP_AUTH_API_KEYis non-empty and matches request value. - API key is sent via
X-Api-Keyheader orapi_keyquery parameter. - Container/process was restarted after configuration changes.
Is API key header or query parameter preferred?#
Both are supported, but use request headers in production whenever possible:
| |
Use query parameter mainly for quick local checks.
How can I reduce response size for AI agents?#
- Use summary-focused tools before requesting full payloads.
- Use pagination-capable tools for large result sets.
- Disable unnecessary services via
MCP_DISABLED_SERVICES. - Apply request rate limits to avoid burst overload.
Can I enable only a subset of services?#
Yes. You can explicitly enable or disable services:
| |
Keep configuration consistent to avoid overlapping expectations in team environments.
What is a safe production baseline?#
- Enable authentication and rotate secrets regularly.
- Protect upstream credentials (Grafana, Prometheus, Kibana, etc.).
- Enable structured logging and audit if required.
- Monitor
/healthand key service integrations continuously. - Run load tests against realistic tool-call patterns.