Skip to content

Commit bcde96d

Browse files
committed
export LoadToolDefinitions and add LoadDefaultToolDefinitions
1 parent f1665ca commit bcde96d

File tree

4 files changed

+14
-10
lines changed

4 files changed

+14
-10
lines changed

cmd/src/mcp.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ func init() {
1717
}
1818
func mcpMain(args []string) error {
1919
fmt.Println("NOTE: This command is still experimental")
20-
tools, err := mcp.LoadToolDefinitions()
20+
tools, err := mcp.LoadDefaultToolDefinitions()
2121
if err != nil {
2222
return err
2323
}

cmd/src/mcp_args.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import (
55
"fmt"
66
"reflect"
77
"strings"
8+
9+
"github.com/sourcegraph/src-cli/internal/mcp"
810
)
911

1012
var _ flag.Value = (*strSliceFlag)(nil)
@@ -35,13 +37,13 @@ func derefFlagValues(vars map[string]any) {
3537
}
3638
}
3739

38-
func buildArgFlagSet(tool *MCPToolDef) (*flag.FlagSet, map[string]any, error) {
39-
fs := flag.NewFlagSet(tool.Name(), flag.ContinueOnError)
40+
func buildArgFlagSet(tool *mcp.ToolDef) (*flag.FlagSet, map[string]any, error) {
41+
fs := flag.NewFlagSet(tool.Name, flag.ContinueOnError)
4042
flagVars := map[string]any{}
4143

4244
for name, pVal := range tool.InputSchema.Properties {
4345
switch pv := pVal.(type) {
44-
case *SchemaPrimitive:
46+
case *mcp.SchemaPrimitive:
4547
switch pv.Kind {
4648
case "integer":
4749
dst := fs.Int(name, 0, pv.Description)
@@ -57,11 +59,11 @@ func buildArgFlagSet(tool *MCPToolDef) (*flag.FlagSet, map[string]any, error) {
5759
return nil, nil, fmt.Errorf("unknown schema primitive kind %q", pv.Kind)
5860

5961
}
60-
case *SchemaArray:
62+
case *mcp.SchemaArray:
6163
strSlice := new(strSliceFlag)
6264
fs.Var(strSlice, name, pv.Description)
6365
flagVars[name] = strSlice
64-
case *SchemaObject:
66+
case *mcp.SchemaObject:
6567
// not supported yet
6668
}
6769
}

cmd/src/mcp_args_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ package main
22

33
import (
44
"testing"
5+
6+
"github.com/sourcegraph/src-cli/internal/mcp"
57
)
68

79
func TestFlagSetParse(t *testing.T) {
@@ -44,7 +46,7 @@ func TestFlagSetParse(t *testing.T) {
4446
]
4547
}`)
4648

47-
defs, err := LoadMCPToolDefinitions(toolJSON)
49+
defs, err := mcp.LoadToolDefinitions(toolJSON)
4850
if err != nil {
4951
t.Fatalf("failed to load tool json: %v", err)
5052
}

internal/mcp/mcp_parse.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,11 @@ type parser struct {
6868
errors []error
6969
}
7070

71-
func LoadToolDefinitions() (map[string]*ToolDef, error) {
72-
return loadToolDefinitions(mcpToolListJSON)
71+
func LoadDefaultToolDefinitions() (map[string]*ToolDef, error) {
72+
return LoadToolDefinitions(mcpToolListJSON)
7373
}
7474

75-
func loadToolDefinitions(data []byte) (map[string]*ToolDef, error) {
75+
func LoadToolDefinitions(data []byte) (map[string]*ToolDef, error) {
7676
defs := struct {
7777
Tools []struct {
7878
Name string `json:"name"`

0 commit comments

Comments
 (0)