From 9820a28ab0af4ef5f6f53663f89d0d47578fdb18 Mon Sep 17 00:00:00 2001 From: wucm667 Date: Thu, 30 Apr 2026 22:16:25 +0800 Subject: [PATCH] fix(mcp): add nil check for schema to prevent SIGSEGV in AddTool --- mcp/server.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/mcp/server.go b/mcp/server.go index 28504376..ef942711 100644 --- a/mcp/server.go +++ b/mcp/server.go @@ -437,6 +437,9 @@ func setSchema[T any](sfield *any, rfield **jsonschema.Resolved, cache *SchemaCa if err != nil { return zero, err } + if internalSchema == nil { + return zero, fmt.Errorf("schema is nil for type %v", rt) + } *sfield = internalSchema resolved, err := internalSchema.Resolve(&jsonschema.ResolveOptions{ValidateDefaults: true}) @@ -466,6 +469,10 @@ func setSchema[T any](sfield *any, rfield **jsonschema.Resolved, cache *SchemaCa } } + if internalSchema == nil { + return zero, fmt.Errorf("schema is nil for type %v", rt) + } + resolved, err := internalSchema.Resolve(&jsonschema.ResolveOptions{ValidateDefaults: true}) if err != nil { return zero, err