on main help sign in
fix: prevent nil pointer dereference in mcp tools parameters (#850)
3993b8c林玮 (Jade Lin)
internal/llm/agent/mcp-tools.go+5−1
@@ -98,10 +98,14 @@ func (b *McpTool) Info() tools.ToolInfo {
98 if required == nil {
98 if required == nil {
99 required = make([]string, 0)
99 required = make([]string, 0)
100 }
100 }
101+ parameters := b.tool.InputSchema.Properties
102+ if parameters == nil {
103+ parameters = make(map[string]any)
104+ }
101 return tools.ToolInfo{
105 return tools.ToolInfo{
102 Name: fmt.Sprintf("mcp_%s_%s", b.mcpName, b.tool.Name),
106 Name: fmt.Sprintf("mcp_%s_%s", b.mcpName, b.tool.Name),
103 Description: b.tool.Description,
107 Description: b.tool.Description,
104− Parameters: b.tool.InputSchema.Properties,
108+ Parameters: parameters,
105 Required: required,
109 Required: required,
106 }
110 }
107}
111}