diff --git a/internal/sys/sys.go b/internal/sys/sys.go index 9447f42b..52551526 100644 --- a/internal/sys/sys.go +++ b/internal/sys/sys.go @@ -38,6 +38,10 @@ func (s *SysServer) HandleRequest(method string, params json.RawMessage) (interf log.Printf("Failed to unmarshal tool call params: %v", err) return nil, fmt.Errorf("invalid params: %w", err) } + if callParams.Name == "" { + log.Printf("Tool call missing name field") + return nil, fmt.Errorf("invalid params: missing tool name") + } log.Printf("Calling tool: name=%s", callParams.Name) return s.callTool(callParams.Name, callParams.Arguments) default: diff --git a/internal/sys/sys_test.go b/internal/sys/sys_test.go index dbf6305f..0a3c69fa 100644 --- a/internal/sys/sys_test.go +++ b/internal/sys/sys_test.go @@ -222,10 +222,6 @@ func TestHandleRequest_ToolsCall_UnknownTool(t *testing.T) { name: "unknown tool", toolName: "unknown_tool", }, - { - name: "empty tool name", - toolName: "", - }, { name: "misspelled tool", toolName: "sys_initialize",