@@ -106,11 +106,13 @@ Examples:
106106
107107// runMCPGateway starts the MCP gateway server
108108func runMCPGateway (configFile string , port int , logDir string ) error {
109+ fmt .Fprintln (os .Stderr , console .FormatInfoMessage (fmt .Sprintf ("Starting MCP gateway (port: %d, logDir: %s, configFile: %q)" , port , logDir , configFile )))
109110 gatewayLog .Printf ("Starting MCP gateway on port %d" , port )
110111
111112 // Read configuration
112113 config , err := readGatewayConfig (configFile )
113114 if err != nil {
115+ fmt .Fprintln (os .Stderr , console .FormatErrorMessage (fmt .Sprintf ("Failed to read configuration: %v" , err )))
114116 return fmt .Errorf ("failed to read gateway configuration: %w" , err )
115117 }
116118
@@ -150,38 +152,69 @@ func readGatewayConfig(configFile string) (*MCPGatewayConfig, error) {
150152 if configFile != "" {
151153 // Read from file
152154 gatewayLog .Printf ("Reading configuration from file: %s" , configFile )
155+ fmt .Fprintln (os .Stderr , console .FormatInfoMessage (fmt .Sprintf ("Reading configuration from file: %s" , configFile )))
153156 data , err = os .ReadFile (configFile )
154157 if err != nil {
155158 return nil , fmt .Errorf ("failed to read config file: %w" , err )
156159 }
160+ fmt .Fprintln (os .Stderr , console .FormatInfoMessage (fmt .Sprintf ("Read %d bytes from file" , len (data ))))
157161 } else {
158162 // Read from stdin
159163 gatewayLog .Print ("Reading configuration from stdin" )
164+ fmt .Fprintln (os .Stderr , console .FormatInfoMessage ("Reading configuration from stdin..." ))
160165 data , err = io .ReadAll (os .Stdin )
161166 if err != nil {
162167 return nil , fmt .Errorf ("failed to read from stdin: %w" , err )
163168 }
169+ fmt .Fprintln (os .Stderr , console .FormatInfoMessage (fmt .Sprintf ("Read %d bytes from stdin" , len (data ))))
170+ if len (data ) == 0 {
171+ fmt .Fprintln (os .Stderr , console .FormatWarningMessage ("WARNING: No data received from stdin" ))
172+ }
164173 }
165174
175+ gatewayLog .Printf ("Parsing %d bytes of configuration data" , len (data ))
166176 var config MCPGatewayConfig
167177 if err := json .Unmarshal (data , & config ); err != nil {
178+ fmt .Fprintln (os .Stderr , console .FormatErrorMessage (fmt .Sprintf ("Failed to parse JSON: %v" , err )))
179+ fmt .Fprintln (os .Stderr , console .FormatInfoMessage (fmt .Sprintf ("Data received (first 500 chars): %s" , string (data [:min (500 , len (data ))]))))
168180 return nil , fmt .Errorf ("failed to parse configuration JSON: %w" , err )
169181 }
170182
171183 gatewayLog .Printf ("Loaded configuration with %d MCP servers" , len (config .MCPServers ))
184+ fmt .Fprintln (os .Stderr , console .FormatSuccessMessage (fmt .Sprintf ("Successfully loaded configuration with %d MCP servers" , len (config .MCPServers ))))
185+
186+ // Log server names for debugging
187+ if len (config .MCPServers ) > 0 {
188+ serverNames := make ([]string , 0 , len (config .MCPServers ))
189+ for name := range config .MCPServers {
190+ serverNames = append (serverNames , name )
191+ }
192+ fmt .Fprintln (os .Stderr , console .FormatInfoMessage (fmt .Sprintf ("MCP servers configured: %v" , serverNames )))
193+ } else {
194+ fmt .Fprintln (os .Stderr , console .FormatWarningMessage ("WARNING: No MCP servers configured" ))
195+ }
196+
172197 return & config , nil
173198}
174199
175200// initializeSessions creates MCP sessions for all configured servers
176201func (g * MCPGatewayServer ) initializeSessions () error {
202+ fmt .Fprintln (os .Stderr , console .FormatInfoMessage (fmt .Sprintf ("Initializing %d MCP sessions" , len (g .config .MCPServers ))))
177203 gatewayLog .Printf ("Initializing %d MCP sessions" , len (g .config .MCPServers ))
178204
205+ if len (g .config .MCPServers ) == 0 {
206+ fmt .Fprintln (os .Stderr , console .FormatWarningMessage ("WARNING: No MCP servers to initialize" ))
207+ return nil
208+ }
209+
179210 for serverName , serverConfig := range g .config .MCPServers {
180211 gatewayLog .Printf ("Initializing session for server: %s" , serverName )
212+ fmt .Fprintln (os .Stderr , console .FormatInfoMessage (fmt .Sprintf ("Initializing session for server: %s" , serverName )))
181213
182214 session , err := g .createMCPSession (serverName , serverConfig )
183215 if err != nil {
184216 gatewayLog .Printf ("Failed to initialize session for %s: %v" , serverName , err )
217+ fmt .Fprintln (os .Stderr , console .FormatErrorMessage (fmt .Sprintf ("Failed to initialize session for %s: %v" , serverName , err )))
185218 return fmt .Errorf ("failed to create session for server %s: %w" , serverName , err )
186219 }
187220
@@ -190,8 +223,10 @@ func (g *MCPGatewayServer) initializeSessions() error {
190223 g .mu .Unlock ()
191224
192225 gatewayLog .Printf ("Successfully initialized session for %s" , serverName )
226+ fmt .Fprintln (os .Stderr , console .FormatSuccessMessage (fmt .Sprintf ("Successfully initialized session for %s" , serverName )))
193227 }
194228
229+ fmt .Fprintln (os .Stderr , console .FormatSuccessMessage (fmt .Sprintf ("All %d MCP sessions initialized successfully" , len (g .config .MCPServers ))))
195230 return nil
196231}
197232
0 commit comments