Token hygiene
The JWT from
appsAdd is shown once — same rules as authentication.
Stdio (local IDE)
- Tokens live in
~/.cursor/mcp.jsonor Claude Desktop config on your machine - Anyone with access to your laptop can read them — use full-disk encryption and separate dev tokens
- Prefer a dedicated “MCP dev” app with read-only scopes when exploring
Hosted (/mcp)
- Call only from trusted servers you control
- Terminate TLS at your edge; never downgrade to HTTP
- Pass
x-app-tokenserver-side; never forward to browsers or mobile apps - Session ids (
mcp-session-id) are not secrets, but tie activity to your server — do not publish them
Permission scoping
Before giving an agent write tools (customersAdd, tagsRemove, …):
- Create an app limited to the required user group
- Test mutations in the Playground
- Optionally set
KARZOUN_MCP_TOOL_PREFIXto read-only prefixes during development
Agent safety
LLMs can call mutations unexpectedly. Mitigations:- System prompts that require confirmation before deletes/merges (agent patterns)
- Read-only tokens for analytics agents
- Audit app usage via Karzoun logs where available
Comparison with other integrations
Incident response
If a token leaks:- Disable or remove the app in Developer → Apps
- Create a new app and update MCP config or server secrets
- Review recent GraphQL activity if audit tools are enabled
Related
- Troubleshooting — Permission and 401 errors
- Tenant webhooks — Outbound events (different threat model)