Skip to content

feat(tools): add MCP tool annotations to all 66 tools#116

Open
basebandit wants to merge 1 commit into
chore/mcp-go-api-migrationfrom
feat/tool-annotations
Open

feat(tools): add MCP tool annotations to all 66 tools#116
basebandit wants to merge 1 commit into
chore/mcp-go-api-migrationfrom
feat/tool-annotations

Conversation

@basebandit
Copy link
Copy Markdown
Owner

Summary

Adds readOnlyHint, destructiveHint, idempotentHint, openWorldHint, and title annotations to every registered tool, per MCP spec 2025-03-26.

A small helper file (tools/annotations.go) defines four named annotation sets so each call site is one line:

Helper When to use
readOnlyAnnotation list / get / describe / status / history — no cluster mutation
destructiveAnnotation delete / undo — destroys resources or rolls back state
creationAnnotation create / load / restart — non-idempotent mutation
idempotentMutationAnnotation update / scale / suspend / resume / pause / patch — desired-state mutation

openWorldHint is true for every tool because the Kubernetes API is an external system.

Coverage

66 tools across 11 files annotated. All existing tests pass without modification.

Stacked on

Based on chore/mcp-go-api-migration (#115). Merge order: #114#115 → this.

Test plan

  • go build ./...
  • go vet ./...
  • go test -race ./...

@basebandit basebandit force-pushed the chore/mcp-go-api-migration branch from c9c812e to b7d02e0 Compare May 7, 2026 11:32
@basebandit basebandit force-pushed the feat/tool-annotations branch from cfa0058 to b68ae65 Compare May 7, 2026 11:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant