Skip to content

Commit c2edacd

Browse files
committed
Fix session handling
1 parent a5fc320 commit c2edacd

File tree

3 files changed

+12
-11
lines changed

3 files changed

+12
-11
lines changed

experimental/apps-mcp/lib/mcp/middleware_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ func TestServerMiddleware(t *testing.T) {
224224
Name: "test-server",
225225
Version: "1.0.0",
226226
}
227-
server := mcp.NewServer(impl, nil)
227+
server := mcp.NewServer(impl, nil, nil)
228228

229229
var executionOrder []string
230230

@@ -264,7 +264,7 @@ func TestServerSessionPersistence(t *testing.T) {
264264
Name: "test-server",
265265
Version: "1.0.0",
266266
}
267-
server := mcp.NewServer(impl, nil)
267+
server := mcp.NewServer(impl, nil, nil)
268268

269269
// Add middleware that increments a counter
270270
server.AddMiddlewareFunc(func(ctx *mcp.MiddlewareContext, next mcp.NextFunc) (*mcp.CallToolResult, error) {

experimental/apps-mcp/lib/mcp/server.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,15 @@ type serverTool struct {
3030
}
3131

3232
// NewServer creates a new MCP server.
33-
func NewServer(impl *Implementation, options any) *Server {
33+
// If sess is nil, a new session will be created.
34+
func NewServer(impl *Implementation, options any, sess *session.Session) *Server {
35+
if sess == nil {
36+
sess = session.NewSession()
37+
}
3438
return &Server{
3539
impl: impl,
3640
tools: make(map[string]*serverTool),
37-
session: session.NewSession(),
41+
session: sess,
3842
}
3943
}
4044

experimental/apps-mcp/lib/server/server.go

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,8 @@ func NewServer(ctx context.Context, cfg *mcp.Config) *Server {
3131
Version: build.GetInfo().Version,
3232
}
3333

34-
server := mcpsdk.NewServer(impl, nil)
3534
sess := session.NewSession()
36-
37-
// Set enabled capabilities for this MCP server
38-
sess.Set(session.CapabilitiesDataKey, []string{"apps"})
35+
server := mcpsdk.NewServer(impl, nil, sess)
3936

4037
tracker, err := trajectory.NewTracker(ctx, sess, cfg)
4138
if err != nil {
@@ -50,6 +47,9 @@ func NewServer(ctx context.Context, cfg *mcp.Config) *Server {
5047

5148
sess.SetTracker(tracker)
5249

50+
// Set enabled capabilities for this MCP server
51+
sess.Set(session.CapabilitiesDataKey, []string{"apps"})
52+
5353
return &Server{
5454
server: server,
5555
config: cfg,
@@ -85,9 +85,6 @@ func (s *Server) RegisterTools(ctx context.Context) error {
8585
func (s *Server) registerCLIToolsProvider(ctx context.Context) error {
8686
log.Info(ctx, "Registering CLI tools provider")
8787

88-
// Add session to context
89-
ctx = session.WithSession(ctx, s.session)
90-
9188
provider, err := clitools.NewProvider(ctx, s.config, s.session)
9289
if err != nil {
9390
return err

0 commit comments

Comments
 (0)