v3.4.4
Released 2026-07-12.
A capability release that adds the experimental MCP Tasks protocol surface to
the Bernstein MCP server, plus release-pipeline hardening.
MCP Tasks extension
-
Long-running runs are now exposed through the experimental MCP Tasks protocol.
A task-capable MCP client (Claude Code, Cursor, Cline, and others) can start a
run withbernstein_run, receive aCreateTaskResult, and then poll status
and retrieve the result asynchronously through theget_task,
get_task_result,list_tasks, andcancel_taskhandlers without holding a
blocking session open. The task handle embeds the run's audit-chain head hash
({task_id}:{head_hash}) so a stateless client can still tie a progress claim
back to the signed chain. -
W3C trace-context (
traceparent,tracestate,baggage) is ingested from
the incoming request and propagated to the spawned agent, scoped per task so a
run without trace-context never inherits another run's context. -
Every task status projects to a terminal MCP status on completion, and
get_task_resultreports an error for terminal-error and in-flight tasks
instead of reporting success.Thanks to @Amanmeena0 for contributing the MCP Tasks protocol implementation
and the trace-context propagation.
Release pipeline
- The MCP registry listing publish is now idempotent: a version that is already
live is treated as success instead of failing the release on a re-run or a
tag-push/dispatch race. (#2466)
Housekeeping
- Refreshed the packaged adapter last-green projection and its docs table from
the nightly conformance canary; every row stays anchored to its attesting
receipt.