-
Notifications
You must be signed in to change notification settings - Fork 38
Closed
Labels
bugSomething isn't workingSomething isn't workinggood first issueGood for newcomersGood for newcomersmcpTailor-made MCP powering Skyflo.aiTailor-made MCP powering Skyflo.ai
Description
Several MCP tools accept both namespace and all_namespaces parameters but don't validate that they're mutually exclusive. The k8s_get tool in kubectl.py already has this validation, but the same pattern is missing in Argo and Helm tools. Passing both parameters simultaneously leads to undefined behavior.
Scope
-
MCP (
mcp/tools/argo.py):- Add mutual exclusivity validation to
argo_list_experiments(around line 239): raise aValueErrorif bothnamespaceandall_namespacesare provided. - Add the same validation to
argo_list_analysisruns(around line 295). - Follow the existing pattern from
k8s_getinmcp/tools/kubectl.py(lines 90-96).
- Add mutual exclusivity validation to
-
MCP (
mcp/tools/helm.py):- Add mutual exclusivity validation to
helm_list_releases(around line 30): raise aValueErrorif bothnamespaceandall_namespacesare provided.
- Add mutual exclusivity validation to
Acceptance criteria
- Passing both
namespaceandall_namespacesto any of the three tools returns a clear error message. - Passing only
namespaceor onlyall_namespacescontinues to work as expected. - Default behavior (neither provided) is unchanged.
- Validation matches the existing pattern in
k8s_get.
How to test manually
- Run the Engine and MCP server locally (see
engine/README.mdandmcp/README.md). - From the UI, ask: "List all experiments across all namespaces in the kube-system namespace" (intentionally conflicting).
- Verify the tool returns a clear error about mutually exclusive parameters.
- Ask: "List all helm releases in the default namespace" — verify it works normally.
- Ask: "List all helm releases across all namespaces" — verify it works normally.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workinggood first issueGood for newcomersGood for newcomersmcpTailor-made MCP powering Skyflo.aiTailor-made MCP powering Skyflo.ai