Telemetry

A condensed version of the telemetry policy with actionable opt-out instructions.

What we collect (in brief)

xmcp tracks anonymous build stats—command, versions, OS, adapter/transport picks, component counts, and coarse success/error signals. No code, prompts, logs, or secrets leave your machine, and every payload stays tied to a random anonymous ID rather than repository data. For the long-form policy, visit /telemetry.

Disable telemetry per run

Use the environment flag in front of any command, including CI tasks:

Only the literal string true (case-insensitive) disables telemetry, so values like false or 0 keep it enabled.

Opt out globally

  • Shell/CI env: Export XMCP_TELEMETRY_DISABLED=true in your shell profile, .env, or CI secrets to stop telemetry everywhere.
  • Config file: Delete the generated telemetry.json (location printed in debug logs) after setting the env flag if you want to purge the existing anonymous ID. Removing the file while the env variable is set keeps telemetry off and regenerates a fresh opt-in prompt whenever you re-enable it.

When disabled, xmcp skips generating anonymous IDs, avoids writing telemetry event files, and no build metadata leaves the machine.

Inspecting payloads

If you want to audit what would be sent without disabling telemetry, set XMCP_DEBUG_TELEMETRY=true. This mirrors each payload to stderr with the [telemetry] prefix while still sending events.

On this page

One framework to rule them all

    Telemetry | xmcp Documentation