Change summary
internal/config/config.go | 11 ++++++-----
internal/llm/agent/mcp-tools.go | 4 ++++
2 files changed, 10 insertions(+), 5 deletions(-)
Detailed changes
@@ -86,11 +86,12 @@ const (
)
type MCPConfig struct {
- Command string `json:"command,omitempty" `
- Env []string `json:"env,omitempty"`
- Args []string `json:"args,omitempty"`
- Type MCPType `json:"type"`
- URL string `json:"url,omitempty"`
+ Command string `json:"command,omitempty" `
+ Env []string `json:"env,omitempty"`
+ Args []string `json:"args,omitempty"`
+ Type MCPType `json:"type"`
+ URL string `json:"url,omitempty"`
+ Disabled bool `json:"disabled,omitempty"`
// TODO: maybe make it possible to get the value from the env
Headers map[string]string `json:"headers,omitempty"`
@@ -188,6 +188,10 @@ func GetMcpTools(ctx context.Context, permissions permission.Service, cfg *confi
return mcpTools
}
for name, m := range cfg.MCP {
+ if m.Disabled {
+ slog.Debug("skipping disabled mcp", "name", name)
+ continue
+ }
switch m.Type {
case config.MCPStdio:
c, err := client.NewStdioMCPClient(