Skip to content

Observability and tracking

Operational evidence should be produced by the system that owns the operation, not reconstructed from a user’s notes. This project separates product telemetry from document content and from agent memory.

Current behavior

  • The MCP core is stateless and read-only. It keeps a process-local corpus snapshot, not a user timeline or persistent event log.
  • Client-facing responses expose bounded protocol metadata and sanitized error codes. Detailed diagnostics stay on stderr.
  • CI records commit-bound test, build, packaging, security, and deployment evidence. The accepted commit and immutable artifacts are the release record.
  • No OpenTelemetry exporter or remote analytics collector is enabled by default.

Ownership boundary

Signal Owner Default policy
Tool latency, error class, transport status MCP host or deployed service Opt-in collection with bounded retention and no document bodies.
Model, token, and prompt traces Agent host or model gateway Host policy and provider controls; never emitted by the read-only MCP core.
Corpus revision, digest, and publication status Publisher and CI Commit-bound, reproducible evidence.
Business analytics Adopting application Outside this repository’s contract.

When telemetry is enabled, use OpenTelemetry resource and semantic-convention names, redact absolute paths and credentials, and make sampling, export, and retention explicit. A trace identifier may correlate a host operation with its MCP call, but it must not turn the MCP server into a session store.

Planned extension rule

Adding SDK instrumentation or a remote collector requires an architecture decision covering data fields, consent, redaction, failure behavior, cost, retention, and rollback. The first extension point is the host or Streamable HTTP service boundary; stdio remains usable without network access. This keeps the four read-only tools portable and avoids forcing every local user to run an observability backend.