Skip to content

v0.2.1

Choose a tag to compare

@lyf-wxy lyf-wxy released this 22 Sep 00:34
· 12 commits to main since this release

Fixed

Refines the cross-client conflict detection added in v0.2.0. client_name identifies the client application (e.g. claude-ai), not a specific window or connection of it — two Claude Desktop windows on the same machine report an identical client_name, so the v0.2.0 check (conflict only when client_name differs) waved that case through as a same-session correction. A reviewer caught this directly.

Provenance now also carries session_id: the MCP connection's server-assigned session id, populated on remote/streamable-http deployments (via the transport's Mcp-Session-Id), None on local stdio (one process is one connection, nothing finer to distinguish). Read from the connection object the server itself assigned, not from a request header — headers are client-supplied and must never be treated as an identity assertion.

_is_cross_client_conflict() now treats two relations as conflicting when either the declared client differs, or the declared client matches but the session id differs (confirmed two different connections of the same app). A missing signal on either side stays conservative and falls through to the existing update-in-place behavior.

Non-breaking — this only changes behavior for the specific case it fixes (same app, two windows/sessions); everything else is unchanged.

Full diff: v0.2.0...v0.2.1