• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stacklok / toolhive / 31094889961

06 Aug 2026 10:51AM UTC coverage: 69.901% (+0.007%) from 69.894%
31094889961

push

github

web-flow
Skip logging/setLevel on a Modern-negotiated session (#6184)

vMCP tool calls against a dual-era stdio backend failed while the gateway
reported healthy. github-mcp-server v1.6.0 negotiates 2026-07-28 over the
LEGACY initialize handshake, so the session must then carry that version
on every request. go-sdk still sends logging/setLevel as a Legacy-shaped
call, producing a Modern protocol header with no Modern _meta -- a shape
the classifier rejects with -32020. go-sdk treats that as fatal, closing
the session and killing the tool call the logging was only meant to
decorate.

The 2026-07-28 revision REMOVED logging/setLevel; the per-request
io.modelcontextprotocol/logLevel _meta key replaces it, and the Modern
path already mints it. Calling an RPC the negotiated revision removed is
the defect, so skip it there. Sessions that negotiate a Legacy version
still get it.

Rejecting the malformed shape is deliberate and pinned by
TestIntegration_Modern_RealBackend_LoggingContract, whose comment records
that go-sdk closed the upstream report wont-fix-by-design. Loosening the
classifier instead would have broken that contract; what the contract's
"worse than the failing upstream call" tradeoff did not anticipate is
that the rejection is fatal to the whole session, not just to the logging
call.

legacyInit now returns the negotiated version so the call site can make
this decision; the four callers that do not need it discard it.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

83066 of 118833 relevant lines covered (69.9%)

97.2 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

46.88
/pkg/api/server.go


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc