{"record":{"id":"2db9ff8a6a17ef60","repo":"Tencent/WeKnora","slug":"mcp-initialize-handshake-failed","errorCode":null,"errorMessage":"MCP initialize handshake failed","messagePattern":"MCP initialize handshake failed","errorType":"error_code","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/mcp/errors.go","lineNumber":16,"sourceCode":"package mcp\n\nimport \"errors\"\n\nvar (\n\t// ErrUnsupportedTransport is returned when transport type is not supported\n\tErrUnsupportedTransport = errors.New(\"unsupported transport type\")\n\n\t// ErrNotConnected is returned when operation requires connection but client is not connected\n\tErrNotConnected = errors.New(\"client not connected\")\n\n\t// ErrAlreadyConnected is returned when trying to connect an already connected client\n\tErrAlreadyConnected = errors.New(\"client already connected\")\n\n\t// ErrInitializeFailed is returned when MCP initialize handshake fails\n\tErrInitializeFailed = errors.New(\"MCP initialize handshake failed\")\n\n\t// ErrToolNotFound is returned when requested tool is not found\n\tErrToolNotFound = errors.New(\"tool not found\")\n\n\t// ErrResourceNotFound is returned when requested resource is not found\n\tErrResourceNotFound = errors.New(\"resource not found\")\n\n\t// ErrInvalidResponse is returned when server response is invalid\n\tErrInvalidResponse = errors.New(\"invalid response from server\")\n\n\t// ErrTimeout is returned when operation times out\n\tErrTimeout = errors.New(\"operation timed out\")\n\n\t// ErrConnectionClosed is returned when connection is closed unexpectedly\n\tErrConnectionClosed = errors.New(\"connection closed\")\n)\n","sourceCodeStart":1,"sourceCodeEnd":33,"githubUrl":"https://github.com/Tencent/WeKnora/blob/988cbb03305e055d8ebb7d46d9ac6cc0803cd074/internal/mcp/errors.go#L1-L33","documentation":"Sentinel returned when the MCP initialize handshake with the server fails. It indicates the server did not complete or correctly answer the initialize request during connection setup, so the client remains unusable until a successful re-initialization.","triggerScenarios":"Thrown at internal/mcp/errors.go:16 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect the underlying wrapped error for the handshake failure cause (network, protocol version, auth)","Retry the Connect/Initialize sequence; transient network errors often resolve on retry","Verify the MCP server is running the expected protocol version and is reachable","Check server logs for why the initialize request was rejected"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"988cbb03305e055d8ebb7d46d9ac6cc0803cd074","analyzedAt":"2026-09-02T14:41:08.344Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}