improved mcp reliability
This commit is contained in:
@@ -109,6 +109,7 @@ func initialModel() model {
|
||||
cfg, err := sidekick.LoadConfig("config.toml")
|
||||
var agent *sidekick.Sidekick
|
||||
var pool map[string]*sidekick.Sidekick
|
||||
mcpStats := "No MCP servers configured"
|
||||
|
||||
if err != nil {
|
||||
ac := sidekick.AgentConfig{ID: "tui", Role: sidekick.RoleSpecialist, MaxIterations: 5}
|
||||
@@ -118,6 +119,9 @@ func initialModel() model {
|
||||
tmpl, _ := sidekick.LoadPrompts("prompts.toml")
|
||||
|
||||
sidekick.InitMCPServers(cfg.MCPServers)
|
||||
extTools := sidekick.LoadExternalTools(context.Background())
|
||||
mcpStats = fmt.Sprintf("Connected to %d MCP servers (%d tools loaded)", len(cfg.MCPServers), len(extTools))
|
||||
|
||||
pool = make(map[string]*sidekick.Sidekick)
|
||||
for id, aCfg := range cfg.Agents {
|
||||
if tmpl != nil && tmpl.Lookup(id) != nil {
|
||||
@@ -127,7 +131,7 @@ func initialModel() model {
|
||||
}
|
||||
}
|
||||
mCfg := cfg.Models[aCfg.ModelID]
|
||||
pool[id] = sidekick.NewSidekick(aCfg, mCfg, nil)
|
||||
pool[id] = sidekick.NewSidekick(aCfg, mCfg, extTools)
|
||||
}
|
||||
entryAgent := "coordinator"
|
||||
if _, ok := pool[entryAgent]; !ok {
|
||||
@@ -166,7 +170,7 @@ func initialModel() model {
|
||||
agent: agent,
|
||||
pool: pool,
|
||||
history: []sidekick.Message{
|
||||
{Role: sidekick.MessageRoleSystem, Content: banner + "\n\nSidekick initialized. Type a message below."},
|
||||
{Role: sidekick.MessageRoleSystem, Content: banner + "\n\nSidekick initialized. " + mcpStats + "\nType a message below."},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user