Skip to content

v2.1.0

Choose a tag to compare

@algony-tony algony-tony released this 13 May 16:04
· 33 commits to master since this release
0a28ca8

Highlights

Two major features land in this release.

OpenTelemetry three-pillar observability (#21)

mymcp.metrics has been replaced by a full OpenTelemetry stack covering metrics, traces, and logs.

  • Default install keeps the Prometheus-compatible /metrics endpoint (now backed by opentelemetry-exporter-prometheus).
  • New optional extra pip install algony-mymcp[otlp] enables OTLP push to backends such as Grafana Cloud or a self-hosted LGTM stack.
  • New RequestIdMiddleware injects a CRLF-safe X-Request-ID correlation ID into structured JSON logs, audit records, and OTel trace/span attributes.
  • Manual spans around dispatch_tool, bash_execute, and the transfer endpoints, including a download span that stays open across the streaming response and audit write.
  • Saturation gauges for inflight bash processes, audit write failures, and token count by role.
  • Grafana dashboard JSON shipped under deploy/observability/dashboard.json with recipes for pull-only Prometheus, Grafana Cloud, and self-hosted LGTM.
  • New span attributes on mymcp.bash.execute including bash.exit_code, bash.timed_out, bash.stdout_bytes, bash.stderr_bytes, and bash.output_truncated.

Breaking change: the mymcp serve --log-format CLI flag has been removed. Logging is now JSON-formatted unconditionally; any systemd unit or deploy script passing --log-format must drop the flag.

Signed-URL file transfer endpoints (#20)

New upload/download endpoints authenticated by short-lived signed-URL tickets rather than the Bearer token, suitable for transferring files without exposing the admin/rw token to intermediate proxies.

  • Atomic ticket consumption guards against TOCTOU races between issuance and redemption.
  • Streaming downloads with RFC 5987-compliant Content-Disposition filename encoding and protected-path enforcement.

Upgrade notes

  • Run pip install --upgrade algony-mymcp (or pipx upgrade algony-mymcp) and restart the service.
  • For OTLP push, install with the new extra: pip install --upgrade 'algony-mymcp[otlp]' and set the standard OTEL_EXPORTER_OTLP_* environment variables.
  • Audit log entries now include request_id, trace_id, and span_id fields for cross-pillar correlation.

What's Changed

  • feat: file transfer via signed-URL bypass endpoints by @algony-tony in #20
  • feat(obs): OpenTelemetry three-pillar observability (metrics + traces + logs) by @algony-tony in #21

Full Changelog: v2.0.2...v2.1.0