• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stacklok / toolhive / 29830473015

21 Jul 2026 12:31PM UTC coverage: 68.999% (+0.2%) from 68.845%
29830473015

push

github

web-flow
Make vMCP MCP-conformant: completions, templates, subscribe, forwarding (#5875)

* Make vMCP MCP-conformant: completions, templates, subscribe, forwarding

Fixes the vMCP conformance gaps found by running the MCP conformance
suite against a vMCP endpoint. Four clusters:

- Mid-call server->client forwarding: a backend's elicitation/create,
  sampling/createMessage, and progress/logging notifications sent during
  a tools/call are forwarded to the downstream client (captured per-call
  context routes to the calling session only).
- Resource templates: aggregated from backends and served, with
  deterministic URI-template matching on resources/read.
- Completions: completion/complete routed over the prompts and
  resource-template tables with the same admission checks.
- Resource subscribe/unsubscribe: accepted at ack level (URI validated
  and admission-checked; backend update forwarding is a documented
  follow-up).

Panel-reviewed (security: no cross-session leak, all handlers enforce
binding + admission; architecture: clean layering). Bumps
github.com/stacklok/toolhive-core to v0.0.32 (SessionWithResourceTemplates,
completions, subscribe handlers, per-session notification relay, sampling).

Refs #5844
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UthZzKery5m7GBNcXYKALe

* Add vMCP target to MCP conformance suite

The conformance job ran only against the `thv run` transparent proxy,
which imports none of the migrated mcpcompat/go-sdk code — so a green
run said little about the mcp-go -> go-sdk migration. The swapped SDK's
serving surface lives in vMCP (streamable-HTTP session lifecycle,
initialize negotiation, list pagination, tool-call round-trips, error
mapping), which the proxy path never touches.

Add a CONFORMANCE_TARGET=proxy|vmcp switch to run-conformance.sh. The
vmcp target stands up a group, runs the reference server into it, and
serves it through `thv vmcp` (patching the generated c... (continued)

697 of 845 new or added lines in 15 files covered. (82.49%)

11 existing lines in 3 files now uncovered.

76407 of 110736 relevant lines covered (69.0%)

74.95 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

80.56
/pkg/transport/proxy/httpsse/http_proxy.go


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc