go-sdk/mcp/testdata
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Ravish Gupta 74d2751d88
mcp: return input validation errors as tool results, not JSON-RPC errors (#863)
This implements [SEP-1303](https://github.com/modelcontextprotocol/modelcontextprotocol/issues/1303).

Input validation errors (missing required fields, wrong types) during
tool calls
are now returned as `CallToolResult` with `IsError=true` instead of
JSON-RPC
`-32602` errors. This allows LLMs to see the validation error and
self-correct,
  per the MCP spec.
The existing pattern for handler-returned errors (lines 347-350 in
server.go)
already converts regular errors to tool results with `IsError=true`.
This change
applies the same pattern to argument schema validation and unmarshal
errors,
  resolving the `TODO(#450)` in the code.                   

Thanks to @iwyrkore for filing the issue and proposing the approach, and
  @findleyr for the cross-SDK analysis in the discussion.
  Fixes #450

Co-authored-by: Maciej Kisiel <mkisiel@google.com>
2026-03-31 10:14:36 +02:00
..
conformance/server mcp: return input validation errors as tool results, not JSON-RPC errors (#863) 2026-03-31 10:14:36 +02:00
files internal/mcp: implement resource templates 2025-06-09 10:59:01 -07:00
public internal/mcp: implement resource templates 2025-06-09 10:59:01 -07:00
private.txt internal/mcp: implement resource templates 2025-06-09 10:59:01 -07:00