From 1124f8a8264c8c80b539645c609c21d2db1808ee Mon Sep 17 00:00:00 2001 From: Matteo Dallaglio Date: Tue, 19 May 2026 16:34:23 +0200 Subject: [PATCH] Add ovn-kubernetes toolset skeleton (CORENET-7134) Register an empty ovn-kubernetes toolset so sibling stories (CORENET-7135/7136) can land OVN/OVS tool handlers on top of this framework. Co-Authored-By: Claude Opus 4.6 Signed-off-by: Matteo Dallaglio --- pkg/mcp/modules.go | 1 + .../toolsets-ovn-kubernetes-tools.json | 1 + pkg/mcp/toolsets_test.go | 2 + pkg/toolsets/ovnkubernetes/toolset.go | 38 +++++++++++++++++++ 4 files changed, 42 insertions(+) create mode 100644 pkg/mcp/testdata/toolsets-ovn-kubernetes-tools.json create mode 100644 pkg/toolsets/ovnkubernetes/toolset.go diff --git a/pkg/mcp/modules.go b/pkg/mcp/modules.go index 2e1a97ca8..fa75cc42c 100644 --- a/pkg/mcp/modules.go +++ b/pkg/mcp/modules.go @@ -9,6 +9,7 @@ import ( _ "github.com/containers/kubernetes-mcp-server/pkg/toolsets/kubevirt" _ "github.com/containers/kubernetes-mcp-server/pkg/toolsets/netedge" _ "github.com/containers/kubernetes-mcp-server/pkg/toolsets/openshift" + _ "github.com/containers/kubernetes-mcp-server/pkg/toolsets/ovnkubernetes" _ "github.com/containers/kubernetes-mcp-server/pkg/toolsets/tekton" _ "github.com/rhobs/obs-mcp/pkg/toolset" ) diff --git a/pkg/mcp/testdata/toolsets-ovn-kubernetes-tools.json b/pkg/mcp/testdata/toolsets-ovn-kubernetes-tools.json new file mode 100644 index 000000000..fe51488c7 --- /dev/null +++ b/pkg/mcp/testdata/toolsets-ovn-kubernetes-tools.json @@ -0,0 +1 @@ +[] diff --git a/pkg/mcp/toolsets_test.go b/pkg/mcp/toolsets_test.go index 7dfe07603..509722d1c 100644 --- a/pkg/mcp/toolsets_test.go +++ b/pkg/mcp/toolsets_test.go @@ -20,6 +20,7 @@ import ( "github.com/containers/kubernetes-mcp-server/pkg/toolsets/kiali" "github.com/containers/kubernetes-mcp-server/pkg/toolsets/kubevirt" "github.com/containers/kubernetes-mcp-server/pkg/toolsets/openshift" + "github.com/containers/kubernetes-mcp-server/pkg/toolsets/ovnkubernetes" "github.com/containers/kubernetes-mcp-server/pkg/toolsets/tekton" "github.com/modelcontextprotocol/go-sdk/mcp" "github.com/stretchr/testify/suite" @@ -178,6 +179,7 @@ func (s *ToolsetsSuite) TestGranularToolsetsTools() { &helm.Toolset{}, &kiali.Toolset{}, &kubevirt.Toolset{}, + &ovnkubernetes.Toolset{}, &tekton.Toolset{}, } for _, testCase := range testCases { diff --git a/pkg/toolsets/ovnkubernetes/toolset.go b/pkg/toolsets/ovnkubernetes/toolset.go new file mode 100644 index 000000000..58e6f4530 --- /dev/null +++ b/pkg/toolsets/ovnkubernetes/toolset.go @@ -0,0 +1,38 @@ +package ovnkubernetes + +import ( + "github.com/containers/kubernetes-mcp-server/pkg/api" + "github.com/containers/kubernetes-mcp-server/pkg/toolsets" +) + +type Toolset struct{} + +var _ api.Toolset = (*Toolset)(nil) + +func (t *Toolset) GetName() string { + return "ovn-kubernetes" +} + +func (t *Toolset) GetDescription() string { + return "OVN-Kubernetes CNI network troubleshooting tools" +} + +func (t *Toolset) GetTools(_ api.Openshift) []api.ServerTool { + return nil +} + +func (t *Toolset) GetPrompts() []api.ServerPrompt { + return nil +} + +func (t *Toolset) GetResources() []api.ServerResource { + return nil +} + +func (t *Toolset) GetResourceTemplates() []api.ServerResourceTemplate { + return nil +} + +func init() { + toolsets.Register(&Toolset{}) +}