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

stacklok / toolhive / 29830473015
69%

Build:
DEFAULT BRANCH: main
Ran 21 Jul 2026 12:38PM UTC
Jobs 1
Files 812
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

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

Uncovered Changes

Lines Coverage ∆ File
53
78.85
-0.71% pkg/vmcp/client/client.go
26
81.12
-0.86% pkg/vmcp/server/serve_handlers.go
20
86.21
pkg/vmcp/client/forwarding.go
16
74.6
pkg/vmcp/mocks/mock_forwarding.go
12
65.22
-4.55% pkg/vmcp/internal/backendtelemetry/backendtelemetry.go
8
89.38
-0.76% pkg/vmcp/core/core_vmcp.go
5
89.49
-0.82% pkg/vmcp/aggregator/default_aggregator.go
4
89.17
0.01% pkg/vmcp/core/core_calls.go
4
85.74
0.02% pkg/vmcp/server/server.go

Coverage Regressions

Lines Coverage ∆ File
6
66.87
4.57% pkg/workloads/manager.go
3
80.56
-0.7% pkg/transport/proxy/httpsse/http_proxy.go
2
82.29
-0.21% pkg/vmcp/composer/workflow_engine.go
Jobs
ID Job ID Ran Files Coverage
1 29830473015.1 21 Jul 2026 12:38PM UTC 812
69.0
GitHub Action Run
Source Files on build 29830473015
  • Tree
  • List 812
  • Changed 19
  • Source Changed 12
  • Coverage Changed 18
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #29830473015
  • fbf2f6dd on github
  • Prev Build on main (#29828060653)
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