Repository navigation
Description
Problem
kagent v1.0.0 / v1.0.1 (GA) pins the kagent-tools chart at 0.3.0. That release ships the non-object outputSchema for kubescape_get_vulnerability_details (#87). Strict MCP clients reject the whole tools/list response, so they get no tools at all. The fix (#101) is on main, and its follow-up (#108) is still open, but neither has been released yet. kagent 0.10.x users on tools 0.3.x hit the same bug.
The tools line is also shared by two kagent lines that have diverged. This is the kagent-tools chart version each kagent release pins, taken from helm/kagent/Chart-template.yaml and go/go.mod at each tag:
| kagent | tools chart | kagent go-sdk |
kagent latest MCP spec | kagent adk |
|---|---|---|---|---|
| v0.9.12 | 0.2.1 | v1.6.1 | 2025-11-25 | adk v1.4.0 |
| v0.10.0 – v0.10.2 | 0.2.1 | v1.6.1 | 2025-11-25 | adk/v2 v2.1.0 |
| v0.10.3 – v0.10.4 | 0.3.0 | v1.6.1 | 2025-11-25 | adk/v2 v2.1.0 |
| v0.10.5 – v0.10.6 | 0.3.1 | v1.7.0 | 2026-07-28 | adk/v2 v2.3.0 |
| v1.0.0 – v1.0.1 (GA) | 0.3.0 | v1.8.0 | 2026-07-28 | adk/v2 v2.6.0 |
The MCP library used by each tools release:
| tools tag | MCP library | go-sdk version |
MCP spec (latest; also supported) |
|---|---|---|---|
| v0.1.4 – v0.2.1 | mark3labs/mcp-go v0.43.2 |
— | 2025-06-18; 2025-03-26, 2024-11-05 |
v0.3.0 – v0.3.1 / main |
modelcontextprotocol/go-sdk |
v1.8.0 | 2026-07-28; 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05 |
The MCP spec versions come from latestProtocolVersion / supportedProtocolVersions in go-sdk mcp/shared.go, and from LATEST_PROTOCOL_VERSION / ValidProtocolVersions in mcp-go mcp/types.go. The client and server negotiate a spec version during initialize. tools v0.3.x supports every spec version kagent 0.10.x and 1.x use, so protocol negotiation is not the compatibility problem. The bug in #87 is an output-schema problem.
Proposal
kagent 0.10.5 – 0.10.6 and kagent 1.0 GA both run tools 0.3.x on go-sdk, and tools v0.3.x supports every MCP spec version either of them negotiates. A separate support branch is not needed right now.
- Release
v0.3.2frommainwith fix: use object output schema for Kubescape vulnerability details #101, fix(security): pass the passthrough token via a per-call kubeconfig, never argv #107 and fix: address object output schema review feedback #108.- Open PRs in kagent-dev/kagent to bump the
kagent-toolschart dependency to0.3.2on bothmain(1.x) and the 0.10.x line. - The release notes must call out the
structuredContentchange forkubescape_get_vulnerability_details, from an array to{"matches": [...]}.
- Open PRs in kagent-dev/kagent to bump the
- Keep
mainaligned with ADK 2.x Go and kagent 1.x GA. Trackmodelcontextprotocol/go-sdkat the same version kagent andadk/v2pin (currentlyv1.8.0in both). - Cut a
release/v0.3branch only when it's actually needed, from the latestv0.3.xtag. That happens the first timemaintakes a change kagent 0.10.x can't consume, such as a go-sdk bump past what 0.10.x negotiates, removed or renamed tools, or av1.0.0tag. - kagent 0.10.0 – 0.10.2 (tools 0.2.1,
mcp-go) get no backports. Users should upgrade to kagent 0.10.5+. - Document the compatibility matrix (tools ↔ kagent ↔ MCP SDK/spec) in
README.md/docs/release-notes.md.
Open questions
- Is the
structuredContentshape change in fix: use object output schema for Kubescape vulnerability details #101 acceptable in a patch release for kagent 0.10.x users? It fixestools/listfor strict clients, but consumers that read the old array shape will need to change. - Is there a known upcoming
mainchange that would force the release branch soon?
Activity
dimetron commentedon Nov 13, 2026
Closing: no separate support branch is needed. kagent v0.10.5–v0.10.6 and v1.0 GA both use tools 0.3.x on go-sdk, so a single v0.3.x release line from main covers both.