Skip to content

mcp: re-list and retry tools/call on HeaderMismatch - #1502

Merged
guglielmo-san merged 3 commits into
mainfrom
serob/tools/call-fallback-on-HeaderMismatch
Nov 5, 2026
Merged

guglielmo-san merged 3 commits into
mainfrom
serob/tools/call-fallback-on-HeaderMismatch

Conversation

@nahapetyan-serob

Copy link
Copy Markdown
Contributor

fixes #1481

@guglielmo-san
guglielmo-san merged commit e747987 into main Nov 5, 2026
10 checks passed
@guglielmo-san
guglielmo-san deleted the serob/tools/call-fallback-on-HeaderMismatch branch November 5, 2026 14:08
Tangerg added a commit to Tangerg/go-sdk that referenced this pull request Nov 6, 2026
Sync 6 upstream commits through df0f295: the new
ParseURLElicitationRequiredError (modelcontextprotocol#1495), the tools/call retry on
HeaderMismatch (modelcontextprotocol#1502), notifications without Mcp-Method (modelcontextprotocol#1504), the
cancelable ioConn write lock (modelcontextprotocol#1499), invalid_token in 401 challenges
(modelcontextprotocol#1507) and the ioConn frame cap that no longer depends on read
boundaries (modelcontextprotocol#1510).

modelcontextprotocol#1499 and modelcontextprotocol#1510 are the upstream form of the fork's transport fixes, so
ioConn now matches upstream except that canceling a write already in
progress still closes the connection, because the peer may hold part of
the frame. Upstream's tests replace the fork's duplicates of them; the
fork keeps its test for the in-progress cancellation. New pkg.go.dev
links in the docs use the fork's module path.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

mcp: ClientSession.CallTool omits Mcp-Param-* headers unless the tool is in the ListTools cache, so a call without a prior tools/list is rejected

2 participants