v2.1.0
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
/metricsendpoint (now backed byopentelemetry-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
RequestIdMiddlewareinjects a CRLF-safeX-Request-IDcorrelation 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.jsonwith recipes for pull-only Prometheus, Grafana Cloud, and self-hosted LGTM. - New span attributes on
mymcp.bash.executeincludingbash.exit_code,bash.timed_out,bash.stdout_bytes,bash.stderr_bytes, andbash.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-Dispositionfilename encoding and protected-path enforcement.
Upgrade notes
- Run
pip install --upgrade algony-mymcp(orpipx upgrade algony-mymcp) and restart the service. - For OTLP push, install with the new extra:
pip install --upgrade 'algony-mymcp[otlp]'and set the standardOTEL_EXPORTER_OTLP_*environment variables. - Audit log entries now include
request_id,trace_id, andspan_idfields 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