Replace skaband tools with a sketch.dev MCP client

sketch.dev provides seeing recent sessions and reading a past
session as tool.
diff --git a/loop/agent.go b/loop/agent.go
index 24f3a70..2683cdc 100644
--- a/loop/agent.go
+++ b/loop/agent.go
@@ -1281,16 +1281,24 @@
 
 	convo.Tools = append(convo.Tools, browserTools...)
 
-	// Add session history tools if skaband client is available
-	if a.config.SkabandClient != nil {
-		sessionHistoryTools := claudetool.CreateSessionHistoryTools(a.config.SkabandClient, a.config.SessionID, a.gitOrigin)
-		convo.Tools = append(convo.Tools, sessionHistoryTools...)
-	}
-
 	// Add MCP tools if configured
 	if len(a.config.MCPServers) > 0 {
+
 		slog.InfoContext(ctx, "Initializing MCP connections", "servers", len(a.config.MCPServers))
-		mcpConnections, mcpErrors := a.mcpManager.ConnectToServers(ctx, a.config.MCPServers, 10*time.Second)
+		serverConfigs, parseErrors := mcp.ParseServerConfigs(ctx, a.config.MCPServers)
+
+		// Replace any headers with value _sketch_public_key_ and _sketch_session_id_ with those values.
+		for i := range serverConfigs {
+			if serverConfigs[i].Headers != nil {
+				for key, value := range serverConfigs[i].Headers {
+					// Replace _sketch_public_key_ placeholder
+					if value == "_sketch_public_key_" {
+						serverConfigs[i].Headers[key] = os.Getenv("SKETCH_PUB_KEY")
+					}
+				}
+			}
+		}
+		mcpConnections, mcpErrors := a.mcpManager.ConnectToServerConfigs(ctx, serverConfigs, 10*time.Second, parseErrors)
 
 		if len(mcpErrors) > 0 {
 			for _, err := range mcpErrors {