Skip to content

Commit 1a1da68

Browse files
committed
guard against nil tool definitions when building flagsets
1 parent 22a79ed commit 1a1da68

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

internal/mcp/mcp_args.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package mcp
22

33
import (
4+
"errors"
45
"flag"
56
"fmt"
67
"reflect"
@@ -36,6 +37,9 @@ func DerefFlagValues(vars map[string]any) {
3637
}
3738

3839
func BuildArgFlagSet(tool *ToolDef) (*flag.FlagSet, map[string]any, error) {
40+
if tool == nil {
41+
return nil, nil, errors.New("cannot build flagset on nil Tool Definition")
42+
}
3943
fs := flag.NewFlagSet(tool.Name, flag.ContinueOnError)
4044
flagVars := map[string]any{}
4145

internal/mcp/mcp_args_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ func TestFlagSetParse(t *testing.T) {
4949
t.Fatalf("failed to load tool json: %v", err)
5050
}
5151

52-
flagSet, vars, err := BuildArgFlagSet(defs["sg_test_tool"])
52+
flagSet, vars, err := BuildArgFlagSet(defs["test-tool"])
5353
if err != nil {
5454
t.Fatalf("failed to build flagset from mcp tool definition: %v", err)
5555
}

0 commit comments

Comments
 (0)