added proper logging to the mcp agent mode

This commit is contained in:
Luxferre
2026-03-22 12:46:02 +02:00
parent 3a6aa7a8fc
commit 7647be8bf6
3 changed files with 27 additions and 5 deletions
+16 -1
View File
@@ -25,6 +25,8 @@ func main() {
log.SetOutput(os.Stderr)
}
sidekick.GlobalLogger = log.Printf
tmpl, _ := sidekick.LoadPrompts("prompts.toml")
sidekick.InitMCPServers(cfg.MCPServers)
@@ -38,7 +40,14 @@ func main() {
}
}
mCfg := cfg.Models[aCfg.ModelID]
pool[id] = sidekick.NewSidekick(aCfg, mCfg, nil)
agent := sidekick.NewSidekick(aCfg, mCfg, nil)
if aCfg.LogIntermediate {
agentID := id
agent.IntermediateHandler = func(msg string) {
log.Printf("[Agent %s] %s\n", agentID, msg)
}
}
pool[id] = agent
}
entryAgent := "coordinator"
@@ -79,9 +88,12 @@ func main() {
func(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {
msg, err := request.RequireString("message")
if err != nil {
log.Printf("Received invalid 'query' request: missing message argument")
return nil, fmt.Errorf("message argument is required and must be a string: %v", err)
}
log.Printf("Received 'query' request (message length: %d)", len(msg))
var inCtx []sidekick.Message
args := request.GetArguments()
@@ -113,9 +125,12 @@ func main() {
responseStr, err := agent.Run(ctx, inCtx, pool)
if err != nil {
log.Printf("Agent run failed: %v", err)
return nil, fmt.Errorf("agent run failed: %w", err)
}
log.Printf("Sending response (length: %d)", len(responseStr))
// Add the final response to the history structure to be returned
outHistory := append(inCtx, sidekick.Message{
Role: sidekick.MessageRole("assistant"),