From 3993b8ce4265f9d8902cce618a6b110e545076db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E7=8E=AE=20=28Jade=20Lin=29?= Date: Fri, 22 Aug 2025 22:17:10 +0800 Subject: [PATCH] fix: prevent nil pointer dereference in mcp tools parameters (#850) --- internal/llm/agent/mcp-tools.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/llm/agent/mcp-tools.go b/internal/llm/agent/mcp-tools.go index a1a2134da517291423d056ae7674f28b200ac7a0..0e68ff06acb5fba4b4e7f4becb6e6f2d315d0fba 100644 --- a/internal/llm/agent/mcp-tools.go +++ b/internal/llm/agent/mcp-tools.go @@ -98,10 +98,14 @@ func (b *McpTool) Info() tools.ToolInfo { if required == nil { required = make([]string, 0) } + parameters := b.tool.InputSchema.Properties + if parameters == nil { + parameters = make(map[string]any) + } return tools.ToolInfo{ Name: fmt.Sprintf("mcp_%s_%s", b.mcpName, b.tool.Name), Description: b.tool.Description, - Parameters: b.tool.InputSchema.Properties, + Parameters: parameters, Required: required, } }