Skip to content

Commit 84c2db9

Browse files
committed
fix: int64
1 parent c845231 commit 84c2db9

File tree

5 files changed

+27
-5
lines changed

5 files changed

+27
-5
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@
66
build.sh
77
compose.yml
88
__pycache__
9-
.cursor
9+
.cursor
10+
.vscode

mcp_go/main.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package main
22

33
import (
4+
"flag"
45
"fmt"
56

67
"github.com/chaitin/SafeLine/mcp_server/internal/api"
@@ -11,7 +12,10 @@ import (
1112
)
1213

1314
func main() {
14-
if err := config.Load("config.yaml"); err != nil {
15+
configPath := flag.String("config", "config.yaml", "path to config file")
16+
flag.Parse()
17+
18+
if err := config.Load(*configPath); err != nil {
1519
panic(fmt.Errorf("failed to load config: %v", err))
1620
}
1721

mcp_go/pkg/mcp/mcp.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,6 @@ func RegisterTool[T any, R any](s *MCPServer, tool Tool[T, R]) error {
125125
if err != nil {
126126
return err
127127
}
128-
129128
t := mcp.NewTool(tool.Name(),
130129
opts...,
131130
)

mcp_go/pkg/mcp/schema.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func SchemaToOptions(schema any) ([]mcp.ToolOption, error) {
4444
}
4545

4646
switch field.Type.Kind() {
47-
case reflect.Int:
47+
case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Float32, reflect.Float64:
4848
if defaultTag != "" {
4949
if defaultValue, err := strconv.Atoi(defaultTag); err == nil {
5050
opts = append(opts, mcp.DefaultNumber(float64(defaultValue)))
@@ -112,7 +112,7 @@ func SchemaToOptions(schema any) ([]mcp.ToolOption, error) {
112112
var items map[string]any
113113

114114
switch elemType.Kind() {
115-
case reflect.Int:
115+
case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Float32, reflect.Float64:
116116
items = map[string]any{
117117
"type": "number",
118118
}

mcp_go/pkg/mcp/schema_test.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,24 @@ func TestSchemaToOptions(t *testing.T) {
2222
mcp.WithNumber("a", mcp.Required(), mcp.Description("number a")),
2323
),
2424
},
25+
{
26+
name: "test number int64",
27+
args: struct {
28+
A int64 `json:"a" desc:"number a" required:"true"`
29+
}{},
30+
want: mcp.NewTool("test number int64",
31+
mcp.WithNumber("a", mcp.Required(), mcp.Description("number a")),
32+
),
33+
},
34+
{
35+
name: "test number float64",
36+
args: struct {
37+
A float64 `json:"a" desc:"number a" required:"true"`
38+
}{},
39+
want: mcp.NewTool("test number float64",
40+
mcp.WithNumber("a", mcp.Required(), mcp.Description("number a")),
41+
),
42+
},
2543
{
2644
name: "test number default",
2745
args: struct {

0 commit comments

Comments
 (0)