Repository navigation
v3.1.0
What's Changed
✨ Features
-
feat(mcp): export a trace span per MCP request over OTLP (#775)
scraps mcp serveexports one OpenTelemetry span per MCP request onceOTEL_EXPORTER_OTLP_ENDPOINTorOTEL_EXPORTER_OTLP_TRACES_ENDPOINTis set, on both the stdio and the HTTP transport. A tool call shows up astools/call search_scrapswith its duration and outcome rather than as an anonymousPOST /mcp, following OpenTelemetry's semantic conventions for MCP, and it joins the client's trace when the request carries atraceparent. With neither variable set, nothing is exported.- The exporter speaks OTLP over plain HTTP only, with no TLS and no gRPC, so point it at a collector next to the server. An
https://endpoint is refused at startup with a warning and leaves tracing off. - Tool arguments and error messages stay off the spans unless
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=true. - The release binary grows from 14.6 MB to 16.9 MB on aarch64-apple-darwin.
- The exporter speaks OTLP over plain HTTP only, with no TLS and no gRPC, so point it at a collector next to the server. An
🐛 Bug Fixes
-
fix(mcp): shut down the HTTP server gracefully on SIGTERM (#776)
scraps mcp serve --httpnow stops on SIGTERM the way it does on Ctrl-C: it flushes the spans still buffered and exits 0. Running as PID 1 in a container, it had no handler for the signal, so the kernel dropped it and the container was killed only when its grace period ran out. Outside a container,kill <pid>ended the server with status 143; a script or supervisor that read that status now sees a clean exit. In-flight requests are cut, as they are on Ctrl-C. The stdio transport is unchanged.
🔧 Maintenance
- ci: move the floating tags from the release workflow to the release skill (#758)
- ci: run the performance test on every pull request (#757)
- chore: wait for ai-review's approval in the release skill (#756)
- chore(deps): update rust crates rmcp to v3.5.0 (#723, #766), config to v0.15.27 (#771), comfy-table to v8.0.1 (#760) and hyper-util to v0.1.21 (#759)
- chore(deps): update style-dictionary to v5.5.5 (#739), livt to v0.16.1 (#747), the boykush/ai-plugins digest (#768) and the boykush/workflows digest (#753, #761, #762, #763, #764, #770, #772, #774)
- v3.1.0 (#778)
Full Changelog: v3.0.1...v3.1.0