@@ -197,15 +197,6 @@ func NewAgent(
197 tools.NewWriteTool(lspClients, permissions, history, cwd),
197 tools.NewWriteTool(lspClients, permissions, history, cwd),
200− mcpToolsOnce.Do(func() {
201− mcpTools = doGetMCPTools(ctx, permissions, cfg)
203− allTools = append(allTools, mcpTools...)
205− if len(lspClients) > 0 {
206− allTools = append(allTools, tools.NewDiagnosticsTool(lspClients))
209 if agentCfg.AllowedTools == nil {
200 if agentCfg.AllowedTools == nil {
210 return allTools
201 return allTools
@@ -216,6 +207,17 @@ func NewAgent(
216 filteredTools = append(filteredTools, tool)
207 filteredTools = append(filteredTools, tool)
211+ if agentCfg.ID == "coder" {
212+ mcpToolsOnce.Do(func() {
213+ mcpTools = doGetMCPTools(ctx, permissions, cfg)
215+ filteredTools = append(filteredTools, mcpTools...)
216+ if len(lspClients) > 0 {
217+ filteredTools = append(filteredTools, tools.NewDiagnosticsTool(lspClients))
219 return filteredTools
221 return filteredTools