Skip to content

Commit 392f719

Browse files
mcp/examples: move server example into example folder (#357)
For better organization.
1 parent 03c5113 commit 392f719

File tree

3 files changed

+27
-20
lines changed

3 files changed

+27
-20
lines changed

mcp/server_example_test.go renamed to examples/server/basic/main.go

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// Use of this source code is governed by an MIT-style
33
// license that can be found in the LICENSE file.
44

5-
package mcp_test
5+
package main
66

77
import (
88
"context"
@@ -24,7 +24,7 @@ func SayHi(ctx context.Context, req *mcp.CallToolRequest, args SayHiParams) (*mc
2424
}, nil, nil
2525
}
2626

27-
func ExampleServer() {
27+
func main() {
2828
ctx := context.Background()
2929
clientTransport, serverTransport := mcp.NewInMemoryTransports()
3030

@@ -56,19 +56,3 @@ func ExampleServer() {
5656

5757
// Output: Hi user
5858
}
59-
60-
// createSessions creates and connects an in-memory client and server session for testing purposes.
61-
func createSessions(ctx context.Context) (*mcp.ClientSession, *mcp.ServerSession, *mcp.Server) {
62-
server := mcp.NewServer(testImpl, nil)
63-
client := mcp.NewClient(testImpl, nil)
64-
serverTransport, clientTransport := mcp.NewInMemoryTransports()
65-
serverSession, err := server.Connect(ctx, serverTransport, nil)
66-
if err != nil {
67-
log.Fatal(err)
68-
}
69-
clientSession, err := client.Connect(ctx, clientTransport, nil)
70-
if err != nil {
71-
log.Fatal(err)
72-
}
73-
return clientSession, serverSession, server
74-
}

mcp/client_list_test.go

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ package mcp_test
77
import (
88
"context"
99
"iter"
10+
"log"
1011
"testing"
1112

1213
"github.com/google/go-cmp/cmp"
@@ -17,9 +18,19 @@ import (
1718

1819
func TestList(t *testing.T) {
1920
ctx := context.Background()
20-
clientSession, serverSession, server := createSessions(ctx)
21-
defer clientSession.Close()
21+
server := mcp.NewServer(testImpl, nil)
22+
client := mcp.NewClient(testImpl, nil)
23+
serverTransport, clientTransport := mcp.NewInMemoryTransports()
24+
serverSession, err := server.Connect(ctx, serverTransport, nil)
25+
if err != nil {
26+
log.Fatal(err)
27+
}
2228
defer serverSession.Close()
29+
clientSession, err := client.Connect(ctx, clientTransport, nil)
30+
if err != nil {
31+
log.Fatal(err)
32+
}
33+
defer clientSession.Close()
2334

2435
t.Run("tools", func(t *testing.T) {
2536
var wantTools []*mcp.Tool

mcp/cmd_test.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,18 @@ import (
2222

2323
const runAsServer = "_MCP_RUN_AS_SERVER"
2424

25+
type SayHiParams struct {
26+
Name string `json:"name"`
27+
}
28+
29+
func SayHi(ctx context.Context, req *mcp.CallToolRequest, args SayHiParams) (*mcp.CallToolResult, any, error) {
30+
return &mcp.CallToolResult{
31+
Content: []mcp.Content{
32+
&mcp.TextContent{Text: "Hi " + args.Name},
33+
},
34+
}, nil, nil
35+
}
36+
2537
func TestMain(m *testing.M) {
2638
// If the runAsServer variable is set, execute the relevant serverFunc
2739
// instead of running tests (aka the fork and exec trick).

0 commit comments

Comments
 (0)