File tree Expand file tree Collapse file tree 1 file changed +38
-0
lines changed Expand file tree Collapse file tree 1 file changed +38
-0
lines changed Original file line number Diff line number Diff line change 1+ package mcp
2+
3+ import (
4+ "github.com/containers/kubernetes-mcp-server/pkg/api"
5+ "github.com/containers/kubernetes-mcp-server/pkg/kubernetes"
6+ )
7+
8+ type ToolFilter func (tool api.ServerTool ) bool
9+
10+ func CompositeFilter (filters ... ToolFilter ) ToolFilter {
11+ return func (tool api.ServerTool ) bool {
12+ for _ , f := range filters {
13+ if ! f (tool ) {
14+ return false
15+ }
16+ }
17+
18+ return true
19+ }
20+ }
21+
22+ func ShouldIncludeTargetListTool (targetName string , targets []string ) ToolFilter {
23+ return func (tool api.ServerTool ) bool {
24+ if tool .Tool .Name == "contexts_list" {
25+ if targetName != kubernetes .KubeConfigTargetParameterName {
26+ // let's not include contexts_list if we aren't targetting contexts in our ManagerProvider
27+ return false
28+ }
29+
30+ if len (targets ) <= maxTargetsInEnum {
31+ // all targets in enum, no need for contexts_list tool
32+ return false
33+ }
34+ }
35+
36+ return true
37+ }
38+ }
You can’t perform that action at this time.
0 commit comments