Skip to content

Commit d518f49

Browse files
committed
Pass through the context in MCP server creation functions
1 parent 7b7b45d commit d518f49

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

internal/ghmcp/server.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ func createGitHubClients(cfg github.MCPServerConfig, apiHost utils.APIHostResolv
100100
}, nil
101101
}
102102

103-
func NewStdioMCPServer(cfg github.MCPServerConfig) (*mcp.Server, error) {
103+
func NewStdioMCPServer(ctx context.Context, cfg github.MCPServerConfig) (*mcp.Server, error) {
104104
apiHost, err := utils.NewAPIHost(cfg.Host)
105105
if err != nil {
106106
return nil, fmt.Errorf("failed to parse API host: %w", err)
@@ -144,7 +144,7 @@ func NewStdioMCPServer(cfg github.MCPServerConfig) (*mcp.Server, error) {
144144
return nil, fmt.Errorf("failed to build inventory: %w", err)
145145
}
146146

147-
ghServer, err := github.NewMCPServer(context.Background(), &cfg, deps, inventory)
147+
ghServer, err := github.NewMCPServer(ctx, &cfg, deps, inventory)
148148
if err != nil {
149149
return nil, fmt.Errorf("failed to create GitHub MCP server: %w", err)
150150
}
@@ -246,7 +246,7 @@ func RunStdioServer(cfg StdioServerConfig) error {
246246
logger.Debug("skipping scope filtering for non-PAT token")
247247
}
248248

249-
ghServer, err := NewStdioMCPServer(github.MCPServerConfig{
249+
ghServer, err := NewStdioMCPServer(ctx, github.MCPServerConfig{
250250
Version: cfg.Version,
251251
Host: cfg.Host,
252252
Token: cfg.Token,

pkg/github/server.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ type MCPServerConfig struct {
7373

7474
type MCPServerOption func(*mcp.ServerOptions)
7575

76-
func NewMCPServer(cfg *MCPServerConfig, deps ToolDependencies, inventory *inventory.Inventory) (*mcp.Server, error) {
76+
func NewMCPServer(ctx context.Context, cfg *MCPServerConfig, deps ToolDependencies, inventory *inventory.Inventory) (*mcp.Server, error) {
7777
// Create the MCP server
7878
serverOpts := &mcp.ServerOptions{
7979
Instructions: inventory.Instructions(),
@@ -110,7 +110,7 @@ func NewMCPServer(cfg *MCPServerConfig, deps ToolDependencies, inventory *invent
110110
// In dynamic mode with no explicit toolsets, this is a no-op since enabledToolsets
111111
// is empty - users enable toolsets at runtime via the dynamic tools below (but can
112112
// enable toolsets or tools explicitly that do need registration).
113-
inventory.RegisterAll(context.Background(), ghServer, deps)
113+
inventory.RegisterAll(ctx, ghServer, deps)
114114

115115
// Register dynamic toolset management tools (enable/disable) - these are separate
116116
// meta-tools that control the inventory, not part of the inventory itself

pkg/github/server_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ func TestNewMCPServer_CreatesSuccessfully(t *testing.T) {
134134
require.NoError(t, err, "expected inventory build to succeed")
135135

136136
// Create the server
137-
server, err := NewMCPServer(&cfg, deps, inv)
137+
server, err := NewMCPServer(t.Context(), &cfg, deps, inv)
138138
require.NoError(t, err, "expected server creation to succeed")
139139
require.NotNil(t, server, "expected server to be non-nil")
140140

0 commit comments

Comments
 (0)