tools

package
v0.0.382 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 2, 2026 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package tools holds the read-only MCP tools served on the mcpservers/mcp subresource (designs-and-proposals storage-mcp-endpoint.md). They read only through Reader, so they do not depend on how the data is fetched or how the caller's access is checked.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Register

func Register(s *server.MCPServer, r Reader)

Register adds every tool to s.

func WithDefaultNamespace

func WithDefaultNamespace(ctx context.Context, namespace string) context.Context

WithDefaultNamespace sets the namespace a tool uses when the call gives none.

Types

type ErrorCode

type ErrorCode string

ErrorCode is the code of a tool error. The codes and the ToolError shape are the ones kubescape mcpserver uses, so agents handle both the same way.

const (
	ErrCodeResourceNotFound ErrorCode = "RESOURCE_NOT_FOUND"
	ErrCodeRBACDenied       ErrorCode = "RBAC_DENIED"
	ErrCodeInvalidArgument  ErrorCode = "INVALID_ARGUMENT"
)

type Reader

type Reader interface {
	ListVulnerabilityManifests(ctx context.Context, namespace string, opts metav1.ListOptions) (*v1beta1.VulnerabilityManifestList, error)
	GetVulnerabilityManifest(ctx context.Context, namespace, name string) (*v1beta1.VulnerabilityManifest, error)
	ListSBOMSyfts(ctx context.Context, namespace string, opts metav1.ListOptions) (*v1beta1.SBOMSyftList, error)
	GetSBOMSyft(ctx context.Context, namespace, name string) (*v1beta1.SBOMSyft, error)
}

Reader is what the tools read from. A denied read returns a Forbidden error, as the Kubernetes API does.

type ToolError

type ToolError struct {
	Code    ErrorCode      `json:"code"`
	Message string         `json:"message"`
	Details map[string]any `json:"details,omitempty"`
}

ToolError is the JSON text of a tool error result.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL