mcp: align resource not found error code with sep-2164 (#931)
Change the error code returned by ResourceNotFoundError from -32002 to -32602 (jsonrpc.CodeInvalidParams), aligning with [SEP-2164](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2164). * Not gated with a protocol version check, because the previous error code was never formally specified and the behaviour varied across SDKs. * In case clients which rely on the old error code exist, the previous behaviour can be restored with `MCPGODEBUG=customresnotfounderrcode=1`. * `CodeResourceNotFound` deprecated since its only purpose going forward is backward compatibility. The new code should use `jsonrpc.CodeInvalidParams` directly. * `CodeResourceNotFound` changed to `var` so it can stay in sync with `ResourceNotFoundError` and existing code doing `code == mcp.CodeResourceNotFound` keeps working in both the default and compat modes.
This commit is contained in:
parent
ec54d41a17
commit
2b7c9937e6
1 changed files with 62 additions and 2 deletions
|
|
@ -347,14 +347,22 @@ const (
|
|||
// CodeHeaderMismatch indicates that HTTP headers do not match the corresponding values
|
||||
// in the request body, or that required headers are missing or malformed.
|
||||
CodeHeaderMismatch = -32001
|
||||
// CodeResourceNotFound indicates that a requested resource could not be found.
|
||||
CodeResourceNotFound = -32002
|
||||
// CodeURLElicitationRequired indicates that the server requires URL elicitation
|
||||
// before processing the request. The client should execute the elicitation handler
|
||||
// with the elicitations provided in the error data.
|
||||
CodeURLElicitationRequired = -32042
|
||||
)
|
||||
|
||||
// CodeResourceNotFound indicates that a requested resource could not be found.
|
||||
//
|
||||
// By default, the value is -32602 (Invalid Params), as specified in the
|
||||
// MCP specification (SEP-2164). To restore the pre-1.7.0 release behavior where the
|
||||
// error code was -32002, set MCPGODEBUG=customresnotfounderrcode=1.
|
||||
//
|
||||
// Deprecated: Use [jsonrpc.CodeInvalidParams] directly. This variable will be
|
||||
// removed in a future version.
|
||||
var CodeResourceNotFound int64 = jsonrpc.CodeInvalidParams
|
||||
|
||||
// URLElicitationRequiredError returns an error indicating that URL elicitation is required
|
||||
// before the request can be processed. The elicitations parameter should contain the
|
||||
// elicitation requests that must be completed.
|
||||
|
|
|
|||
Loading…
Reference in a new issue