fix(mcp): carry resultType on unknown-argument rejections #758
No reviewers
Labels
No labels
breaking
bug
documentation
enhancement
epic
good first issue
help wanted
refactoring
resolution/duplicate
resolution/invalid
resolution/wontfix
security
severity/critical
severity/high
severity/low
severity/medium
status/abandoned
status/blocked
status/needs-decision
status/needs-info
status/needs-verification
testing
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sixfold-space/madtea!758
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "issue-740-resulttype-rejection"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
A 2026-07-28 MCP client rejects a tools/call result that omits resultType.
Unknown-argument rejections omitted it, so the caller saw a malformed-result
error instead of the did-you-mean message (#740).
The rejection ran as a receiving middleware that short-circuited before the SDK
stamps resultType. The SDK schema validator already rejects an unknown argument
in band, and callTool stamps that result, so this removes the pre-empting
middleware and moves the did-you-mean into the existing enrichment, which mutates
the already-stamped validator result. The matcher bounds are unchanged (ADR 0005).
A new conformance gate asserts every tool's rejection carries resultType (39
tools), covering the error path the previous guard skipped.
Closes #740