Part of #5743 (Workstream B: 2025-11-25 compliance). Bundles three small, independent polish items (consolidates #5750, #5751, #5752 — each is roughly an afternoon and they don't warrant separate tracking).
1. Readiness probe protocol version
The runner's readiness probe hardcodes "protocolVersion": "2024-11-05" in its initialize and the MCP-Protocol-Version header (pkg/runner/runner.go:935,986). Servers that reject ancient versions fail readiness.
2. JSON-RPC error for filtered tool calls
The tool-call gating middleware returns HTTP 400 when blocking a filtered tool (pkg/mcp/tool_filter.go, acknowledged in a comment). Clients expect a protocol-level error.
3. Version-agnostic proxying: document + optional strict mode
Proxies accept any MCP-Protocol-Version (pkg/transport/proxy/streamable/utils.go — unconditional true). Defensible for a transparent proxy, but undocumented; spec says invalid/unsupported → 400.
Generated with Claude Code
Part of #5743 (Workstream B: 2025-11-25 compliance). Bundles three small, independent polish items (consolidates #5750, #5751, #5752 — each is roughly an afternoon and they don't warrant separate tracking).
1. Readiness probe protocol version
The runner's readiness probe hardcodes
"protocolVersion": "2024-11-05"in itsinitializeand theMCP-Protocol-Versionheader (pkg/runner/runner.go:935,986). Servers that reject ancient versions fail readiness.2. JSON-RPC error for filtered tool calls
The tool-call gating middleware returns HTTP 400 when blocking a filtered tool (
pkg/mcp/tool_filter.go, acknowledged in a comment). Clients expect a protocol-level error.3. Version-agnostic proxying: document + optional strict mode
Proxies accept any
MCP-Protocol-Version(pkg/transport/proxy/streamable/utils.go— unconditional true). Defensible for a transparent proxy, but undocumented; spec says invalid/unsupported → 400.docs/arch/.Generated with Claude Code