Skip to content

feat: modernize Kai for MCP 2025-06-18 spec #123

Merged
basebandit merged 5 commits into
mainfrom
feat/context-plumbing
May 12, 2026
Merged

feat: modernize Kai for MCP 2025-06-18 spec #123
basebandit merged 5 commits into
mainfrom
feat/context-plumbing

Conversation

@basebandit
Copy link
Copy Markdown
Owner

Summary

  • Bumps mcp-go 0.28.0 → 0.52.0, k8s.io/* 0.33.1 → 0.34.1, golangci-lint 2.1.6 → 2.12.2, raises Go module version to 1.25.5.
  • Migrates the entire tool layer to the v0.52.0 mcp-go API (request.GetArguments() and mcp.CallToolParams{} in tests).
  • Adds MCP tool annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint, title) to all 66 tools.
  • Adds Streamable HTTP transport at /mcp (MCP spec 2025-03-26) alongside the legacy SSE transport (now sse-legacy).
  • Plumbs --request-timeout through cluster.Manager so the flag is actually honored by the K8s REST client (was silently ignored).
  • Fixes staticcheck QF1012 issues uncovered by the new linter version.

Why

The repo was running on the 2-year-old MCP SDK and the deprecated HTTP+SSE transport, with no behavioural tool metadata and a --request-timeout flag the K8s client never read. Phase A is the protocol foundation — bumping the library, adopting the modern transport, and exposing tool annotations — that every subsequent phase (structured output, OAuth, resources, full K8s coverage) depends on.

Test plan

  • go build ./...
  • go vet ./...
  • go test -race ./...
  • golangci-lint run --timeout=3m (locally with v2.12.2)
  • Manual: npx @modelcontextprotocol/inspector kai — verify annotations render on list_pods, delete_pod, etc.
  • Manual: kai -transport=streamable-http — confirm /mcp handshake with Mcp-Session-Id works.
  • Manual: kai -request-timeout=2s — confirm a slow K8s call aborts at ~2s.

Supersedes #114, #115, #116, #117.

@sonarqubecloud
Copy link
Copy Markdown

@basebandit basebandit changed the title feat: modernize Kai for MCP 2025-06-18 spec (Phase A) feat: modernize Kai for MCP 2025-06-18 spec May 12, 2026
@basebandit basebandit merged commit abbd4ff into main May 12, 2026
15 of 17 checks passed
@basebandit basebandit deleted the feat/context-plumbing branch May 12, 2026 09:49
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