demo-server-mcp 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ ghu_O8sobttn35LjGTioQ1HOH92R6256U83H6DCx
@@ -0,0 +1 @@
1
+ {"token":"eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJtY3AtcmVnaXN0cnkiLCJleHAiOjE3NjczOTUyNzEsIm5iZiI6MTc2NzM5NDk3MSwiaWF0IjoxNzY3Mzk0OTcxLCJhdXRoX21ldGhvZCI6ImdpdGh1Yi1hdCIsImF1dGhfbWV0aG9kX3N1YiI6InZpZ25lc2hSTjUyIiwicGVybWlzc2lvbnMiOlt7ImFjdGlvbiI6InB1Ymxpc2giLCJyZXNvdXJjZSI6ImlvLmdpdGh1Yi52aWduZXNoUk41Mi8qIn1dfQ.tGpXcIDVkZlsGFw-nNneDIgKQVO-ahXhvuGBgNxBSUA-xGnke6ZzNSCr0UsCZVXJFn_45QS8nipaQ1dfqZIQBA","expires_at":1767395271}
package/Dockerfile ADDED
@@ -0,0 +1,11 @@
1
+ FROM golang:1.24-alpine AS builder
2
+ WORKDIR /app
3
+ COPY . .
4
+ RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o mcp-server main.go
5
+
6
+ FROM alpine:latest
7
+ RUN apk --no-cache add ca-certificates
8
+ WORKDIR /root/
9
+ COPY --from=builder /app/mcp-server .
10
+ RUN chmod +x ./mcp-server
11
+ ENTRYPOINT ["./mcp-server"]
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # demo-mcp-server
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "demo-mcp-server",
3
+ "transport": "stdio",
4
+ "description": "Minimal Go MCP Server",
5
+ "command": "docker",
6
+ "args": ["run", "--rm", "-i", "my-go-mcp-server:latest"]
7
+ }
package/go.mod ADDED
@@ -0,0 +1,18 @@
1
+ module github.com/your-username/my-mcp-server
2
+
3
+ go 1.24.4
4
+
5
+ require github.com/mark3labs/mcp-go v0.43.2
6
+
7
+ require (
8
+ github.com/bahlo/generic-list-go v0.2.0 // indirect
9
+ github.com/buger/jsonparser v1.1.1 // indirect
10
+ github.com/google/go-cmp v0.7.0 // indirect
11
+ github.com/google/uuid v1.6.0 // indirect
12
+ github.com/invopop/jsonschema v0.13.0 // indirect
13
+ github.com/mailru/easyjson v0.7.7 // indirect
14
+ github.com/spf13/cast v1.7.1 // indirect
15
+ github.com/wk8/go-ordered-map/v2 v2.1.8 // indirect
16
+ github.com/yosida95/uritemplate/v3 v3.0.2 // indirect
17
+ gopkg.in/yaml.v3 v3.0.1 // indirect
18
+ )
package/go.sum ADDED
@@ -0,0 +1,39 @@
1
+ github.com/bahlo/generic-list-go v0.2.0 h1:5sz/EEAK+ls5wF+NeqDpk5+iNdMDXrh3z3nPnH1Wvgk=
2
+ github.com/bahlo/generic-list-go v0.2.0/go.mod h1:2KvAjgMlE5NNynlg/5iLrrCCZ2+5xWbdbCW3pNTGyYg=
3
+ github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs=
4
+ github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0=
5
+ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
6
+ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
7
+ github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
8
+ github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
9
+ github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
10
+ github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
11
+ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
12
+ github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
13
+ github.com/invopop/jsonschema v0.13.0 h1:KvpoAJWEjR3uD9Kbm2HWJmqsEaHt8lBUpd0qHcIi21E=
14
+ github.com/invopop/jsonschema v0.13.0/go.mod h1:ffZ5Km5SWWRAIN6wbDXItl95euhFz2uON45H2qjYt+0=
15
+ github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
16
+ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
17
+ github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
18
+ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
19
+ github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
20
+ github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
21
+ github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
22
+ github.com/mark3labs/mcp-go v0.43.2 h1:21PUSlWWiSbUPQwXIJ5WKlETixpFpq+WBpbMGDSVy/I=
23
+ github.com/mark3labs/mcp-go v0.43.2/go.mod h1:YnJfOL382MIWDx1kMY+2zsRHU/q78dBg9aFb8W6Thdw=
24
+ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
25
+ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
26
+ github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
27
+ github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
28
+ github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y=
29
+ github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
30
+ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
31
+ github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
32
+ github.com/wk8/go-ordered-map/v2 v2.1.8 h1:5h/BUHu93oj4gIdvHHHGsScSTMijfx5PeYkE/fJgbpc=
33
+ github.com/wk8/go-ordered-map/v2 v2.1.8/go.mod h1:5nJHM5DyteebpVlHnWMV0rPz6Zp7+xBAnxjb1X5vnTw=
34
+ github.com/yosida95/uritemplate/v3 v3.0.2 h1:Ed3Oyj9yrmi9087+NczuL5BwkIc4wvTb5zIM+UJPGz4=
35
+ github.com/yosida95/uritemplate/v3 v3.0.2/go.mod h1:ILOh0sOhIJR3+L/8afwt/kE++YT040gmv5BQTMR2HP4=
36
+ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
37
+ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
38
+ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
39
+ gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
package/main.go ADDED
@@ -0,0 +1,58 @@
1
+ package main
2
+
3
+ import (
4
+ "context"
5
+ "fmt"
6
+ "log"
7
+
8
+ "github.com/mark3labs/mcp-go/mcp"
9
+ "github.com/mark3labs/mcp-go/server"
10
+ )
11
+
12
+ func main() {
13
+ s := server.NewMCPServer(
14
+ "Demo 🚀",
15
+ "1.0.0",
16
+ server.WithToolCapabilities(true),
17
+ )
18
+
19
+ tool := mcp.NewTool(
20
+ "hello_world",
21
+ mcp.WithString(
22
+ "name",
23
+ mcp.Required(),
24
+ ),
25
+ )
26
+
27
+ s.AddTool(tool, helloHandler)
28
+
29
+ log.Println("MCP stdio server starting...")
30
+ if err := server.ServeStdio(s); err != nil {
31
+ log.Fatalf("Server error: %v", err)
32
+ }
33
+ }
34
+
35
+ func helloHandler(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {
36
+ // 1. Assert that request.Params.Arguments is a map
37
+ args, ok := request.Params.Arguments.(map[string]any)
38
+ if !ok {
39
+ return mcp.NewToolResultError("invalid arguments format"), nil
40
+ }
41
+
42
+ // 2. Now you can index into 'args'
43
+ // If you are still getting that double-wrapped structure:
44
+ innerArgs, ok := args["arguments"].(map[string]any)
45
+ if !ok {
46
+ // Fallback: maybe it's NOT double wrapped now?
47
+ // Let's try to get 'name' directly from the top level
48
+ name, ok := args["name"].(string)
49
+ if ok {
50
+ return mcp.NewToolResultText(fmt.Sprintf("Hello, %s!", name)), nil
51
+ }
52
+ return mcp.NewToolResultError("required argument 'name' not found"), nil
53
+ }
54
+
55
+ // 3. Get name from the inner map
56
+ name, _ := innerArgs["name"].(string)
57
+ return mcp.NewToolResultText(fmt.Sprintf("Hello, %s!", name)), nil
58
+ }
package/package.json ADDED
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "demo-server-mcp",
3
+ "version": "1.0.0",
4
+ "description": "My Go-based MCP Server (via Node)",
5
+ "main": "dist/index.js",
6
+ "bin": {
7
+ "my-mcp-server": "./dist/index.js"
8
+ },
9
+ "mcpName": "io.github.vigneshRN52/demo-mcp-server"
10
+ }
package/server.json ADDED
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
+ "name": "io.github.vigneshRN52/demo-mcp-server",
4
+ "version": "1.0.0",
5
+ "description": "Minimal Go MCP Server for high-performance context bridging",
6
+ "status": "active",
7
+ "repository": {
8
+ "url": "https://github.com/vigneshRN52/demo-mcp-server",
9
+ "source": "github"
10
+ },
11
+ "packages": [
12
+ {
13
+ "transport": {
14
+ "type": "stdio"
15
+ },
16
+ "runtime": "docker",
17
+ "image": "ghcr.io/vigneshRN52/demo-mcp-server:v1.0.0",
18
+ "identifier": "demo-mcp-server",
19
+ "registryType": "github"
20
+ }
21
+ ],
22
+ "tags": ["go", "utilities", "development"]
23
+ }