Skip to content

Commit a4328c4

Browse files
committed
chore: update dependencies and server version
- Upgrade go version to 1.25.1 - Update mcp-go library to v0.39.1 - Bump server version to 0.2.0 - Simplify parameter extraction in request handlers - Add new dependencies for generic data structures
1 parent 05af0ef commit a4328c4

File tree

3 files changed

+36
-40
lines changed

3 files changed

+36
-40
lines changed

go.mod

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
module github.com/hasansino/go42x
22

3-
go 1.25.0
3+
go 1.25.1
44

55
require (
66
github.com/blevesearch/bleve/v2 v2.5.3
77
github.com/lmittmann/tint v1.1.2
8-
github.com/mark3labs/mcp-go v0.8.0
8+
github.com/mark3labs/mcp-go v0.39.1
99
github.com/spf13/cobra v1.10.1
10-
github.com/spf13/pflag v1.0.9
10+
github.com/spf13/pflag v1.0.10
1111
go.uber.org/mock v0.6.0
1212
gopkg.in/yaml.v3 v3.0.1
1313
)
1414

1515
require (
1616
github.com/RoaringBitmap/roaring/v2 v2.4.5 // indirect
17+
github.com/bahlo/generic-list-go v0.2.0 // indirect
1718
github.com/bits-and-blooms/bitset v1.22.0 // indirect
1819
github.com/blevesearch/bleve_index_api v1.2.8 // indirect
1920
github.com/blevesearch/geo v0.2.4 // indirect
@@ -32,16 +33,21 @@ require (
3233
github.com/blevesearch/zapx/v14 v14.4.2 // indirect
3334
github.com/blevesearch/zapx/v15 v15.4.2 // indirect
3435
github.com/blevesearch/zapx/v16 v16.2.4 // indirect
36+
github.com/buger/jsonparser v1.1.1 // indirect
3537
github.com/golang/protobuf v1.5.4 // indirect
3638
github.com/golang/snappy v0.0.4 // indirect
3739
github.com/google/uuid v1.6.0 // indirect
3840
github.com/inconshreveable/mousetrap v1.1.0 // indirect
41+
github.com/invopop/jsonschema v0.13.0 // indirect
3942
github.com/json-iterator/go v1.1.12 // indirect
40-
github.com/kr/pretty v0.3.1 // indirect
43+
github.com/mailru/easyjson v0.7.7 // indirect
4144
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 // indirect
4245
github.com/modern-go/reflect2 v1.0.2 // indirect
4346
github.com/mschoch/smat v0.2.0 // indirect
4447
github.com/rogpeppe/go-internal v1.14.1 // indirect
48+
github.com/spf13/cast v1.7.1 // indirect
49+
github.com/wk8/go-ordered-map/v2 v2.1.8 // indirect
50+
github.com/yosida95/uritemplate/v3 v3.0.2 // indirect
4551
go.etcd.io/bbolt v1.4.0 // indirect
4652
golang.org/x/sys v0.35.0 // indirect
4753
google.golang.org/protobuf v1.34.2 // indirect

go.sum

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
github.com/RoaringBitmap/roaring/v2 v2.4.5 h1:uGrrMreGjvAtTBobc0g5IrW1D5ldxDQYe2JW2gggRdg=
22
github.com/RoaringBitmap/roaring/v2 v2.4.5/go.mod h1:FiJcsfkGje/nZBZgCu0ZxCPOKD/hVXDS2dXi7/eUFE0=
3+
github.com/bahlo/generic-list-go v0.2.0 h1:5sz/EEAK+ls5wF+NeqDpk5+iNdMDXrh3z3nPnH1Wvgk=
4+
github.com/bahlo/generic-list-go v0.2.0/go.mod h1:2KvAjgMlE5NNynlg/5iLrrCCZ2+5xWbdbCW3pNTGyYg=
35
github.com/bits-and-blooms/bitset v1.12.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8=
46
github.com/bits-and-blooms/bitset v1.22.0 h1:Tquv9S8+SGaS3EhyA+up3FXzmkhxPGjQQCkcs2uw7w4=
57
github.com/bits-and-blooms/bitset v1.22.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8=
@@ -39,11 +41,14 @@ github.com/blevesearch/zapx/v15 v15.4.2 h1:sWxpDE0QQOTjyxYbAVjt3+0ieu8NCE0fDRaFx
3941
github.com/blevesearch/zapx/v15 v15.4.2/go.mod h1:1pssev/59FsuWcgSnTa0OeEpOzmhtmr/0/11H0Z8+Nw=
4042
github.com/blevesearch/zapx/v16 v16.2.4 h1:tGgfvleXTAkwsD5mEzgM3zCS/7pgocTCnO1oyAUjlww=
4143
github.com/blevesearch/zapx/v16 v16.2.4/go.mod h1:Rti/REtuuMmzwsI8/C/qIzRaEoSK/wiFYw5e5ctUKKs=
44+
github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs=
45+
github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0=
4246
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
43-
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
4447
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
4548
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
4649
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
50+
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
51+
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
4752
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
4853
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
4954
github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
@@ -55,6 +60,9 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
5560
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
5661
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
5762
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
63+
github.com/invopop/jsonschema v0.13.0 h1:KvpoAJWEjR3uD9Kbm2HWJmqsEaHt8lBUpd0qHcIi21E=
64+
github.com/invopop/jsonschema v0.13.0/go.mod h1:ffZ5Km5SWWRAIN6wbDXItl95euhFz2uON45H2qjYt+0=
65+
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
5866
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
5967
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
6068
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
@@ -66,30 +74,37 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
6674
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
6775
github.com/lmittmann/tint v1.1.2 h1:2CQzrL6rslrsyjqLDwD11bZ5OpLBPU+g3G/r5LSfS8w=
6876
github.com/lmittmann/tint v1.1.2/go.mod h1:HIS3gSy7qNwGCj+5oRjAutErFBl4BzdQP6cJZ0NfMwE=
69-
github.com/mark3labs/mcp-go v0.8.0 h1:VTRvHFW25NLBdMoxRkgD/VYy4fabNIIo1zZfR2i2rSQ=
70-
github.com/mark3labs/mcp-go v0.8.0/go.mod h1:ePkDSyplFbA306xRgyp587+q/vpdgxuswwjZqTQ+I8Q=
77+
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
78+
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
79+
github.com/mark3labs/mcp-go v0.39.1 h1:2oPxk7aDbQhouakkYyKl2T4hKFU1c6FDaubWyGyVE1k=
80+
github.com/mark3labs/mcp-go v0.39.1/go.mod h1:T7tUa2jO6MavG+3P25Oy/jR7iCeJPHImCZHRymCn39g=
7181
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc=
7282
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
7383
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
7484
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
7585
github.com/mschoch/smat v0.2.0 h1:8imxQsjDm8yFEAVBe7azKmKSgzSkZXDuKkSq9374khM=
7686
github.com/mschoch/smat v0.2.0/go.mod h1:kc9mz7DoBKqDyiRL7VZN8KvXQMWeTaVnttLRXOlotKw=
77-
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
7887
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
7988
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
80-
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
8189
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
8290
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
8391
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
92+
github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y=
93+
github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
8494
github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s=
8595
github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0=
86-
github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY=
8796
github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
97+
github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk=
98+
github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
8899
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
89100
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
90101
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
91102
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
92103
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
104+
github.com/wk8/go-ordered-map/v2 v2.1.8 h1:5h/BUHu93oj4gIdvHHHGsScSTMijfx5PeYkE/fJgbpc=
105+
github.com/wk8/go-ordered-map/v2 v2.1.8/go.mod h1:5nJHM5DyteebpVlHnWMV0rPz6Zp7+xBAnxjb1X5vnTw=
106+
github.com/yosida95/uritemplate/v3 v3.0.2 h1:Ed3Oyj9yrmi9087+NczuL5BwkIc4wvTb5zIM+UJPGz4=
107+
github.com/yosida95/uritemplate/v3 v3.0.2/go.mod h1:ILOh0sOhIJR3+L/8afwt/kE++YT040gmv5BQTMR2HP4=
93108
go.etcd.io/bbolt v1.4.0 h1:TU77id3TnN/zKr7CO/uk+fBCwF2jGcMuw2B/FMAzYIk=
94109
go.etcd.io/bbolt v1.4.0/go.mod h1:AsD+OCi/qPN1giOX1aiLAha3o1U8rAz65bvN4j0sRuk=
95110
go.uber.org/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y=

pkg/kwb/server.go

Lines changed: 5 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import (
1010

1111
const (
1212
serverName = "kwb"
13-
serverVersion = "0.1.0"
13+
serverVersion = "0.2.0"
1414
)
1515

1616
type MCPServer struct {
@@ -55,21 +55,8 @@ func (s *MCPServer) searchHandler(
5555
ctx context.Context,
5656
request mcp.CallToolRequest,
5757
) (*mcp.CallToolResult, error) {
58-
queryInterface, ok := request.Params.Arguments["query"]
59-
if !ok {
60-
return mcp.NewToolResultError("Missing query parameter"), nil
61-
}
62-
query, ok := queryInterface.(string)
63-
if !ok {
64-
return mcp.NewToolResultError("Invalid query parameter"), nil
65-
}
66-
67-
limit := 10
68-
if limitInterface, ok := request.Params.Arguments["limit"]; ok {
69-
if limitFloat, ok := limitInterface.(float64); ok && limitFloat > 0 {
70-
limit = int(limitFloat)
71-
}
72-
}
58+
query := request.GetString("query", "")
59+
limit := request.GetInt("limit", 10)
7360

7461
results, err := s.service.Search(ctx, query, limit)
7562
if err != nil {
@@ -94,31 +81,19 @@ func (s *MCPServer) getFileHandler(
9481
ctx context.Context,
9582
request mcp.CallToolRequest,
9683
) (*mcp.CallToolResult, error) {
97-
pathInterface, ok := request.Params.Arguments["path"]
98-
if !ok {
99-
return mcp.NewToolResultError("Missing path parameter"), nil
100-
}
101-
path, ok := pathInterface.(string)
102-
if !ok {
103-
return mcp.NewToolResultError("Invalid path parameter"), nil
104-
}
105-
84+
path := request.GetString("path", "")
10685
content, err := s.service.GetFile(ctx, path)
10786
if err != nil {
10887
return mcp.NewToolResultError(fmt.Sprintf("Error reading file: %v", err)), nil
10988
}
110-
11189
return mcp.NewToolResultText(content), nil
11290
}
11391

11492
func (s *MCPServer) listFilesHandler(
11593
ctx context.Context,
11694
request mcp.CallToolRequest,
11795
) (*mcp.CallToolResult, error) {
118-
fileType := ""
119-
if typeInterface, ok := request.Params.Arguments["type"]; ok {
120-
fileType, _ = typeInterface.(string)
121-
}
96+
fileType := request.GetString("type", "")
12297

12398
files, err := s.service.ListFiles(ctx, fileType)
12499
if err != nil {

0 commit comments

Comments
 (0)