Skip to main content
mcpjam collects anonymous command-level telemetry so we can understand CLI usage and reliability. Telemetry is designed for aggregate product insight, not user or server inspection. Telemetry is enabled by default. The first command invocation that is not opted out writes telemetry.json with enabled: true and a random install UUID.

What’s collected

The CLI emits one cli_command event after a command action starts. Event properties are limited to:

What’s not collected

Telemetry does not collect raw argv, URLs, hostnames, ports, tokens, headers, environment values, working directories, file paths, tool names, resource names, prompt names, error messages, stack traces, repository names, branch names, workflow names, or CI job IDs.

Install ID

Telemetry uses a random install UUID as the event distinct_id. The UUID is stored in the same platform cache directory used by update checks, in a telemetry.json file: The install ID is created on the first real telemetry capture or when you run mcpjam telemetry enable. Running mcpjam telemetry disable before an ID exists does not create one.

Opt out

Disable telemetry for one invocation:
Disable telemetry persistently:
Check or re-enable telemetry:
Environment opt-outs: --no-telemetry overrides environment and persisted state for the current invocation. Disable environment variables override persisted state.

Debug mode

Set MCPJAM_TELEMETRY_DEBUG=1 to print the exact sanitized payload to stderr instead of sending it:
Debug mode only logs when telemetry is otherwise enabled. If --no-telemetry, DO_NOT_TRACK=1, MCPJAM_TELEMETRY_DISABLED=1, or persisted disabled state applies, no payload is logged or sent.