Skip to content

Commit 4a3ff2f

Browse files
authored
refactor(mcp): use k8s.io/utils ptr.Deref instead of a custom func
1 parent 85876a4 commit 4a3ff2f

File tree

9 files changed

+28
-18
lines changed

9 files changed

+28
-18
lines changed

pkg/mcp/configuration.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@ package mcp
33
import (
44
"context"
55
"fmt"
6-
"github.com/manusa/kubernetes-mcp-server/pkg/output"
6+
77
"github.com/mark3labs/mcp-go/mcp"
88
"github.com/mark3labs/mcp-go/server"
9+
10+
"github.com/manusa/kubernetes-mcp-server/pkg/output"
911
)
1012

1113
func (s *Server) initConfiguration() []server.ServerTool {

pkg/mcp/events.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@ package mcp
33
import (
44
"context"
55
"fmt"
6-
"github.com/manusa/kubernetes-mcp-server/pkg/output"
6+
77
"github.com/mark3labs/mcp-go/mcp"
88
"github.com/mark3labs/mcp-go/server"
9+
10+
"github.com/manusa/kubernetes-mcp-server/pkg/output"
911
)
1012

1113
func (s *Server) initEvents() []server.ServerTool {

pkg/mcp/helm.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package mcp
33
import (
44
"context"
55
"fmt"
6+
67
"github.com/mark3labs/mcp-go/mcp"
78
"github.com/mark3labs/mcp-go/server"
89
)

pkg/mcp/mcp.go

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,15 @@ package mcp
22

33
import (
44
"context"
5+
"net/http"
6+
7+
"github.com/mark3labs/mcp-go/mcp"
8+
"github.com/mark3labs/mcp-go/server"
9+
"k8s.io/utils/ptr"
10+
511
"github.com/manusa/kubernetes-mcp-server/pkg/kubernetes"
612
"github.com/manusa/kubernetes-mcp-server/pkg/output"
713
"github.com/manusa/kubernetes-mcp-server/pkg/version"
8-
"github.com/mark3labs/mcp-go/mcp"
9-
"github.com/mark3labs/mcp-go/server"
10-
"net/http"
1114
)
1215

1316
type Configuration struct {
@@ -45,10 +48,6 @@ func NewSever(configuration Configuration) (*Server, error) {
4548
return s, nil
4649
}
4750

48-
func isFalse(value *bool) bool {
49-
return value == nil || !*value
50-
}
51-
5251
func (s *Server) reloadKubernetesClient() error {
5352
k, err := kubernetes.NewKubernetes(s.configuration.Kubeconfig)
5453
if err != nil {
@@ -57,10 +56,10 @@ func (s *Server) reloadKubernetesClient() error {
5756
s.k = k
5857
applicableTools := make([]server.ServerTool, 0)
5958
for _, tool := range s.configuration.Profile.GetTools(s) {
60-
if s.configuration.ReadOnly && isFalse(tool.Tool.Annotations.ReadOnlyHint) {
59+
if s.configuration.ReadOnly && !ptr.Deref(tool.Tool.Annotations.ReadOnlyHint, false) {
6160
continue
6261
}
63-
if s.configuration.DisableDestructive && isFalse(tool.Tool.Annotations.ReadOnlyHint) && !isFalse(tool.Tool.Annotations.DestructiveHint) {
62+
if s.configuration.DisableDestructive && !ptr.Deref(tool.Tool.Annotations.ReadOnlyHint, false) && ptr.Deref(tool.Tool.Annotations.DestructiveHint, false) {
6463
continue
6564
}
6665
applicableTools = append(applicableTools, tool)

pkg/mcp/namespaces.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@ package mcp
33
import (
44
"context"
55
"fmt"
6-
"github.com/manusa/kubernetes-mcp-server/pkg/kubernetes"
6+
77
"github.com/mark3labs/mcp-go/mcp"
88
"github.com/mark3labs/mcp-go/server"
9+
10+
"github.com/manusa/kubernetes-mcp-server/pkg/kubernetes"
911
)
1012

1113
func (s *Server) initNamespaces() []server.ServerTool {

pkg/mcp/pods.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,13 @@ import (
55
"context"
66
"errors"
77
"fmt"
8-
"github.com/manusa/kubernetes-mcp-server/pkg/kubernetes"
9-
"github.com/manusa/kubernetes-mcp-server/pkg/output"
10-
"k8s.io/kubectl/pkg/metricsutil"
118

129
"github.com/mark3labs/mcp-go/mcp"
1310
"github.com/mark3labs/mcp-go/server"
11+
"k8s.io/kubectl/pkg/metricsutil"
12+
13+
"github.com/manusa/kubernetes-mcp-server/pkg/kubernetes"
14+
"github.com/manusa/kubernetes-mcp-server/pkg/output"
1415
)
1516

1617
func (s *Server) initPods() []server.ServerTool {

pkg/mcp/profiles.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
package mcp
22

33
import (
4-
"github.com/mark3labs/mcp-go/server"
54
"slices"
5+
6+
"github.com/mark3labs/mcp-go/server"
67
)
78

89
type Profile interface {

pkg/mcp/resources.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@ import (
44
"context"
55
"errors"
66
"fmt"
7-
"github.com/manusa/kubernetes-mcp-server/pkg/kubernetes"
8-
"github.com/manusa/kubernetes-mcp-server/pkg/output"
97

108
"github.com/mark3labs/mcp-go/mcp"
119
"github.com/mark3labs/mcp-go/server"
1210
"k8s.io/apimachinery/pkg/runtime/schema"
11+
12+
"github.com/manusa/kubernetes-mcp-server/pkg/kubernetes"
13+
"github.com/manusa/kubernetes-mcp-server/pkg/output"
1314
)
1415

1516
func (s *Server) initResources() []server.ServerTool {

pkg/output/output.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package output
22

33
import (
44
"bytes"
5+
56
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
67
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
78
"k8s.io/apimachinery/pkg/runtime"

0 commit comments

Comments
 (0)