You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I maintain a GitLab MCP server built on this SDK: about 865 tools on its individual surface, three tool surfaces, stdio and streamable HTTP, resource subscriptions and OAuth. I audited it against the MCP specification and against the SDK, and recorded every finding that belongs upstream rather than in my own code. Nine of them concern this SDK and have no fix yet: each was reproduced against a real deployment or against the compiled binary driven over its own transport, each names the specification clause, documentation page or semantic convention it fails, and each is pinned by a test I can hand you.
I am filing them as separate issues so that each can be triaged, labelled and closed on its own. This one is the index, so you can see the set at once and see that it comes from one audit rather than from nine unrelated reports. I checked every finding against current main before filing; the individual issues give the version I first observed it on.
Specification conformance, with a fix offered
Each of these four is a conformance defect with a pull request against it: a minimal change in the SDK's own style, a test that fails before it and passes after, and go test ./... green. Two of them have merged.
Two defects that the review of #1266 turned up rather than the original audit, each filed with a pull request in the same shape as the four above. Both have merged.
These four cannot be closed without new exported API, so they went out as proposals rather than as pull requests: each body states the requirement, cites the SDK code that stands in the way, and offers a concrete Go signature together with the alternatives I considered. Three of them, #1263, #1264 and #1265, are waiting on your decision about the shape, and I will write the pull request once you say which one you want.
I maintain a GitLab MCP server built on this SDK: about 865 tools on its individual surface, three tool surfaces, stdio and streamable HTTP, resource subscriptions and OAuth. I audited it against the MCP specification and against the SDK, and recorded every finding that belongs upstream rather than in my own code. Nine of them concern this SDK and have no fix yet: each was reproduced against a real deployment or against the compiled binary driven over its own transport, each names the specification clause, documentation page or semantic convention it fails, and each is pinned by a test I can hand you.
I am filing them as separate issues so that each can be triaged, labelled and closed on its own. This one is the index, so you can see the set at once and see that it comes from one audit rather than from nine unrelated reports. I checked every finding against current main before filing; the individual issues give the version I first observed it on.
Specification conformance, with a fix offered
Each of these four is a conformance defect with a pull request against it: a minimal change in the SDK's own style, a test that fails before it and passes after, and
go test ./...green. Two of them have merged._metais not answered with UnsupportedProtocolVersionError #1260 mcp: an unknown protocol version in per-request_metais not answered withUnsupportedProtocolVersionError. An unrecognised version is misclassified instead of being refused with the error the versioning page requires. The pull request is mcp: classify the per-request protocol version by membership #1268, merged.Found during review of the pull requests above
Two defects that the review of #1266 turned up rather than the original audit, each filed with a pull request in the same shape as the four above. Both have merged.
logging/setLevel,resources/subscribeandresources/unsubscribeskip it; subscribe is the one that reaches state. The pull request is mcp: refuse a call on a legacy session before initialize #1273, merged.Already filed
API the SDK does not expose, proposal only
These four cannot be closed without new exported API, so they went out as proposals rather than as pull requests: each body states the requirement, cites the SDK code that stands in the way, and offers a concrete Go signature together with the alternatives I considered. Three of them, #1263, #1264 and #1265, are waiting on your decision about the shape, and I will write the pull request once you say which one you want.
http.Server.WriteTimeoutarmed, so a long-lived stream dies before its first notification. A stream that stays idle is cut by the server's own write deadline before it ever sends anything. The shape was settled on the issue: mcp: add StreamableHTTPOptions.StreamKeepAlive for periodic SSE comments on idle streams #1232 added the keep-alive, and mcp: extend the write deadline on every write to a keep-alive stream #1293, open, moves the write deadline on every write to that stream.notifications/cancelledthat 2026-07-28 requires when it tears down asubscriptions/listenstream. The protocol asks for that notification on teardown and application code has no way to send it.Filed since
Every finding above is now filed. The nine of the original audit link back here.