Objective
Adopt the new Capabilities API from MCP Go SDK v1.1.0 to configure server behavior and disable unnecessary listChanged notifications.
Context
The MCP Go SDK v1.1.0 introduced a new Capabilities API that allows controlling server behavior. Since gh-aw's MCP tools are static (they don't change at runtime), we should disable listChanged notifications to reduce unnecessary overhead.
Approach
Update MCP server creation in two files to use ServerOptions:
File 1: pkg/cli/mcp_server.go (around line 105)
Current:
server := mcp.NewServer(&mcp.Implementation{
Name: "gh-aw",
Version: GetVersion(),
}, nil)
Updated:
server := mcp.NewServer(&mcp.Implementation{
Name: "gh-aw",
Version: GetVersion(),
}, &mcp.ServerOptions{
Capabilities: &mcp.ServerCapabilities{
ListChanged: false, // Tools are static, no notifications needed
},
})
File 2: pkg/gateway/gateway.go (around line 85)
Apply the same pattern to the gateway's MCP server creation.
Files to Modify
pkg/cli/mcp_server.go - Add ServerOptions with Capabilities
pkg/gateway/gateway.go - Add ServerOptions with Capabilities
Acceptance Criteria
AI generated by Plan Command for discussion #6222
Objective
Adopt the new Capabilities API from MCP Go SDK v1.1.0 to configure server behavior and disable unnecessary listChanged notifications.
Context
The MCP Go SDK v1.1.0 introduced a new Capabilities API that allows controlling server behavior. Since gh-aw's MCP tools are static (they don't change at runtime), we should disable listChanged notifications to reduce unnecessary overhead.
Approach
Update MCP server creation in two files to use
ServerOptions:File 1: pkg/cli/mcp_server.go (around line 105)
Current:
Updated:
File 2: pkg/gateway/gateway.go (around line 85)
Apply the same pattern to the gateway's MCP server creation.
Files to Modify
pkg/cli/mcp_server.go- Add ServerOptions with Capabilitiespkg/gateway/gateway.go- Add ServerOptions with CapabilitiesAcceptance Criteria
ServerOptionswithListChanged: falsemake testRelated to [plan] Adopt MCP Go SDK v1.1.0 improvements #6249