Problem
The Go SDK example in .claude/skills/mcp-sdk-tier-audit/README.md invokes the everything server incorrectly, so following the skill's instructions produces false-negative conformance results.
Following the README verbatim against go-sdk v1.7.0:
| | 2025-06-18 | 2025-11-25 | All* |
| Server | 24/27 | 25/31 | 25/31 (81%) | ← WRONG
Tier Assessment: Tier 2
Tier 1 Blockers: server_conformance, client_conformance
Running the sdk subcommand against the same checkout:
node dist/index.js sdk go-sdk --path ~/src/mcp/go-sdk --mode server
# → 73/73 passed, 0 failed
node dist/index.js sdk go-sdk --path ~/src/mcp/go-sdk --mode client --skip-build
# → 460/460 passed (13 baselined ext-auth failures excluded)
The go-sdk's own CI is also green — it does the correct invocation. The false failures only appear when someone follows the skill README.
Root cause
The go-sdk everything-server has a -stateless flag that defaults to true. Scenarios from spec revisions before 2026-07-28 (sampling, elicitation, session-lifecycle, SSE multi-stream) require the stateful transport and cannot pass against a stateless server.
The correct invocation is already encoded in src/sdk-runner/known-sdks.ts:
'go-sdk': {
server: {
command: './.conformance-server -http=localhost:3000 -stateless=false',
url: 'http://localhost:3000'
},
specOverrides: {
'2026-07-28': {
server: { command: './.conformance-server -http=localhost:3000' }
}
}
}
With an explicit comment:
"The server's -stateless flag defaults to true; the dated-spec (active suite) scenarios need the stateful transport, so the base command pins -stateless=false and the 2026-07-28 override drops it for the SEP-2575 stateless lifecycle."
The skill README's example ignores both the -stateless=false flag and the /mcp URL path that both known-sdks.ts and the go-sdk CI workflow use.
Suggested fix
Minimal: update the two Go SDK blocks in the skill README to match the go-sdk CI's two-run pattern (start server with -stateless=false, run older specs, restart in stateless mode, run 2026-07-28).
Problem
The Go SDK example in
.claude/skills/mcp-sdk-tier-audit/README.mdinvokes the everything server incorrectly, so following the skill's instructions produces false-negative conformance results.Following the README verbatim against go-sdk v1.7.0:
Running the
sdksubcommand against the same checkout:The go-sdk's own CI is also green — it does the correct invocation. The false failures only appear when someone follows the skill README.
Root cause
The go-sdk
everything-serverhas a-statelessflag that defaults totrue. Scenarios from spec revisions before2026-07-28(sampling, elicitation, session-lifecycle, SSE multi-stream) require the stateful transport and cannot pass against a stateless server.The correct invocation is already encoded in
src/sdk-runner/known-sdks.ts:With an explicit comment:
The skill README's example ignores both the
-stateless=falseflag and the/mcpURL path that bothknown-sdks.tsand the go-sdk CI workflow use.Suggested fix
Minimal: update the two Go SDK blocks in the skill README to match the go-sdk CI's two-run pattern (start server with
-stateless=false, run older specs, restart in stateless mode, run2026-07-28).