@@ -3,6 +3,7 @@ package mcp
33import (
44 "encoding/json"
55 "fmt"
6+
67 "github.com/spf13/cast"
78)
89
@@ -433,6 +434,10 @@ func ParseContent(contentMap map[string]any) (Content, error) {
433434}
434435
435436func ParseGetPromptResult (rawMessage * json.RawMessage ) (* GetPromptResult , error ) {
437+ if rawMessage == nil {
438+ return nil , fmt .Errorf ("rawMessage is nil" )
439+ }
440+
436441 var jsonContent map [string ]any
437442 if err := json .Unmarshal (* rawMessage , & jsonContent ); err != nil {
438443 return nil , fmt .Errorf ("failed to unmarshal response: %w" , err )
@@ -495,6 +500,10 @@ func ParseGetPromptResult(rawMessage *json.RawMessage) (*GetPromptResult, error)
495500}
496501
497502func ParseCallToolResult (rawMessage * json.RawMessage ) (* CallToolResult , error ) {
503+ if rawMessage == nil {
504+ return nil , fmt .Errorf ("rawMessage is nil" )
505+ }
506+
498507 var jsonContent map [string ]any
499508 if err := json .Unmarshal (* rawMessage , & jsonContent ); err != nil {
500509 return nil , fmt .Errorf ("failed to unmarshal response: %w" , err )
@@ -573,6 +582,10 @@ func ParseResourceContents(contentMap map[string]any) (ResourceContents, error)
573582}
574583
575584func ParseReadResourceResult (rawMessage * json.RawMessage ) (* ReadResourceResult , error ) {
585+ if rawMessage == nil {
586+ return nil , fmt .Errorf ("rawMessage is nil" )
587+ }
588+
576589 var jsonContent map [string ]any
577590 if err := json .Unmarshal (* rawMessage , & jsonContent ); err != nil {
578591 return nil , fmt .Errorf ("failed to unmarshal response: %w" , err )
0 commit comments