@@ -47,7 +47,7 @@ type MCPServerConfig struct {
47
47
Translator translations.TranslationHelperFunc
48
48
}
49
49
50
- func NewMCPServer (cfg MCPServerConfig ) (* server. MCPServer ,error ) {
50
+ func NewMCPServer (cfg MCPServerConfig ) (* github. GitHubMCPServer ,error ) {
51
51
apiHost ,err := parseAPIHost (cfg .Host )
52
52
if err != nil {
53
53
return nil ,fmt .Errorf ("failed to parse API host: %w" ,err )
@@ -91,8 +91,6 @@ func NewMCPServer(cfg MCPServerConfig) (*server.MCPServer, error) {
91
91
OnBeforeInitialize : []server.OnBeforeInitializeFunc {beforeInit },
92
92
}
93
93
94
- ghServer := github .NewServer (cfg .Version ,server .WithHooks (hooks ))
95
-
96
94
enabledToolsets := cfg .EnabledToolsets
97
95
if cfg .DynamicToolsets {
98
96
// filter "all" from the enabled toolsets
@@ -112,6 +110,8 @@ func NewMCPServer(cfg MCPServerConfig) (*server.MCPServer, error) {
112
110
return gqlClient ,nil // closing over client
113
111
}
114
112
113
+ ghServer := github .NewGitHubServer (cfg .Version ,getClient ,server .WithHooks (hooks ))
114
+
115
115
// Create default toolsets
116
116
toolsets ,err := github .InitToolsets (
117
117
enabledToolsets ,
@@ -125,15 +125,15 @@ func NewMCPServer(cfg MCPServerConfig) (*server.MCPServer, error) {
125
125
}
126
126
127
127
context := github .InitContextToolset (getClient ,cfg .Translator )
128
- github .RegisterResources (ghServer ,getClient ,cfg .Translator )
128
+ github .RegisterResources (ghServer . MCPServer ,getClient ,cfg .Translator )
129
129
130
130
// Register the tools with the server
131
- toolsets .RegisterTools (ghServer )
132
- context .RegisterTools (ghServer )
131
+ toolsets .RegisterTools (ghServer . MCPServer )
132
+ context .RegisterTools (ghServer . MCPServer )
133
133
134
134
if cfg .DynamicToolsets {
135
- dynamic := github .InitDynamicToolset (ghServer ,toolsets ,cfg .Translator )
136
- dynamic .RegisterTools (ghServer )
135
+ dynamic := github .InitDynamicToolset (ghServer . MCPServer ,toolsets ,cfg .Translator )
136
+ dynamic .RegisterTools (ghServer . MCPServer )
137
137
}
138
138
139
139
return ghServer ,nil
@@ -192,7 +192,7 @@ func RunStdioServer(cfg StdioServerConfig) error {
192
192
return fmt .Errorf ("failed to create MCP server: %w" ,err )
193
193
}
194
194
195
- stdioServer := server .NewStdioServer (ghServer )
195
+ stdioServer := server .NewStdioServer (ghServer . GetMCPServer () )
196
196
197
197
logrusLogger := logrus .New ()
198
198
if cfg .LogFilePath != "" {