@@ -285,9 +285,7 @@ func (us *UnifiedServer) registerToolsFromBackend(serverID string) error {
285285 if err != nil {
286286 logger .LogError ("client" , "MCP tool call error, session=%s, tool=%s, error=%v" , sessionID , toolNameCopy , err )
287287 } else {
288- resultJSON , _ := json .Marshal (data )
289- sanitizedResult := sanitize .SanitizeString (string (resultJSON ))
290- logger .LogInfo ("client" , "MCP tool call response, session=%s, tool=%s, result=%s" , sessionID , toolNameCopy , sanitizedResult )
288+ logger .LogInfo ("client" , "MCP tool call response, session=%s, tool=%s, result=%s" , sessionID , toolNameCopy , marshalAndSanitizeForLog (data ))
291289 }
292290
293291 return result , data , err
@@ -351,6 +349,22 @@ func (us *UnifiedServer) callSysServer(toolName string) (interface{}, error) {
351349 return result , nil
352350}
353351
352+ func marshalAndSanitizeForLog (value interface {}) string {
353+ resultJSON , _ := json .Marshal (value )
354+ return sanitize .SanitizeString (string (resultJSON ))
355+ }
356+
357+ func (us * UnifiedServer ) callAndLogSysTool (sessionID , operationName , sysToolName string ) (* sdk.CallToolResult , interface {}, error ) {
358+ result , err := us .callSysServer (sysToolName )
359+ if err != nil {
360+ logger .LogError ("client" , "MCP %s call failed, session=%s, error=%v" , operationName , sessionID , err )
361+ return mcp .NewErrorCallToolResult (err )
362+ }
363+
364+ logger .LogInfo ("client" , "MCP %s response, session=%s, result=%s" , operationName , sessionID , marshalAndSanitizeForLog (result ))
365+ return nil , result , nil
366+ }
367+
354368// registerSysTools registers built-in sys tools
355369func (us * UnifiedServer ) registerSysTools () error {
356370 // Create sys_init handler
@@ -392,16 +406,7 @@ func (us *UnifiedServer) registerSysTools() error {
392406 logger .LogInfo ("client" , "MCP session initialized successfully, session=%s, available_servers=%v" , sessionID , us .launcher .ServerIDs ())
393407
394408 // Call sys_init
395- result , err := us .callSysServer ("sys_init" )
396- if err != nil {
397- logger .LogError ("client" , "MCP session initialization: sys_init call failed, session=%s, error=%v" , sessionID , err )
398- return mcp .NewErrorCallToolResult (err )
399- }
400-
401- resultJSON , _ := json .Marshal (result )
402- sanitizedResult := sanitize .SanitizeString (string (resultJSON ))
403- logger .LogInfo ("client" , "MCP session initialization complete, session=%s, result=%s" , sessionID , sanitizedResult )
404- return nil , result , nil
409+ return us .callAndLogSysTool (sessionID , "session initialization" , "sys_init" )
405410 }
406411
407412 // Register sys_init tool using helper
@@ -431,15 +436,7 @@ func (us *UnifiedServer) registerSysTools() error {
431436 return mcp .NewErrorCallToolResult (err )
432437 }
433438
434- result , err := us .callSysServer ("sys_list_servers" )
435- if err != nil {
436- logger .LogError ("client" , "MCP sys_list_servers error, session=%s, error=%v" , sessionID , err )
437- return mcp .NewErrorCallToolResult (err )
438- }
439-
440- resultJSON , _ := json .Marshal (result )
441- logger .LogInfo ("client" , "MCP sys_list_servers response, session=%s, result=%s" , sessionID , string (resultJSON ))
442- return nil , result , nil
439+ return us .callAndLogSysTool (sessionID , "sys_list_servers" , "sys_list_servers" )
443440 }
444441
445442 // Register sys_list_servers tool using helper
0 commit comments