@@ -197,15 +197,6 @@ func NewAgent(
197197 tools.NewWriteTool(lspClients, permissions, history, cwd),
198198 }
199199
200− mcpToolsOnce.Do(func() {
201− mcpTools = doGetMCPTools(ctx, permissions, cfg)
202− })
203− allTools = append(allTools, mcpTools...)
204−
205− if len(lspClients) > 0 {
206− allTools = append(allTools, tools.NewDiagnosticsTool(lspClients))
207− }
208−
209200 if agentCfg.AllowedTools == nil {
210201 return allTools
211202 }
@@ -216,6 +207,17 @@ func NewAgent(
216207 filteredTools = append(filteredTools, tool)
217208 }
218209 }
210+
211+ if agentCfg.ID == "coder" {
212+ mcpToolsOnce.Do(func() {
213+ mcpTools = doGetMCPTools(ctx, permissions, cfg)
214+ })
215+ filteredTools = append(filteredTools, mcpTools...)
216+ if len(lspClients) > 0 {
217+ filteredTools = append(filteredTools, tools.NewDiagnosticsTool(lspClients))
218+ }
219+
220+ }
219221 return filteredTools
220222 }
221223