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

stacklok / toolhive / 30946223642
70%

Build:
DEFAULT BRANCH: main
Ran 04 Aug 2026 08:12PM UTC
Jobs 1
Files 870
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

04 Aug 2026 08:05PM UTC coverage: 69.954% (+0.06%) from 69.891%
30946223642

push

github

web-flow
Forward resource-read _meta in vMCP and the transport bridge (#6180)

* Forward resource-read _meta in vMCP and the transport bridge

Backend _meta on a resources/read result never reached a vMCP client on
the Legacy path: coreResourceHandler/coreResourceTemplateHandler returned
bare []mcp.ResourceContents and dropped result.Meta, as did the stdio
transport bridge. The Modern path preserved it (its hand-rolled envelope
bypasses the SDK handler), leaving a client-visible fork between revisions
for the same backend and request.

Consume the result-returning resource handler added in toolhive-core#211
(mcpcompat AddResourceWithResult/AddResourceTemplateWithResult and the
NewServerResourceWithResult/NewServerResourceTemplateWithResult value
constructors for the per-session registration path):

- vMCP Serve path: coreResourceHandler and coreResourceTemplateHandler now
  return server.ResourceResultHandlerFunc and route result.Meta through
  conversion.ToMCPMeta, so reserved io.modelcontextprotocol/* keys get the
  same strip every other Legacy egress gets (#5986). Registrations switch
  to the WithResult constructors.
- Stdio bridge: resource and template forwarders use
  AddResourceWithResult/AddResourceTemplateWithResult and pass the upstream
  result through intact.
- TestMetaPreservation_ReadResource now asserts preservation instead of
  documenting the stale "SDK limitation" (go-sdk always supported the
  field; the gap was mcpcompat's mcp-go-shaped handler signature).
- TestServeCoreResourceHandler gains a case asserting backend _meta is
  forwarded and reserved keys stripped.

The go.mod replace directive pins toolhive-core to the PR branch until a
release carries toolhive-core#211; it must be swapped for the release tag
before merge.

Closes #6028
Part of #6027

* Bump toolhive-core to v0.0.38

The release carries #211 (result-returning mcpcompat resource handlers),
which this branch consumes; swap the pseudo-version pin for the tag. Its
renovate m... (continued)

19 of 25 new or added lines in 2 files covered. (76.0%)

4 existing lines in 2 files now uncovered.

83005 of 118657 relevant lines covered (69.95%)

96.45 hits per line

Uncovered Changes

Lines Coverage ∆ File
6
61.49
1.94% pkg/transport/bridge.go

Coverage Regressions

Lines Coverage ∆ File
2
82.06
-0.21% pkg/vmcp/composer/workflow_engine.go
2
66.98
5.07% pkg/workloads/manager.go
Jobs
ID Job ID Ran Files Coverage
1 30946223642.1 04 Aug 2026 08:12PM UTC 870
69.95
GitHub Action Run
Source Files on build 30946223642
  • Tree
  • List 870
  • Changed 10
  • Source Changed 4
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #30946223642
  • aa3f5b37 on github
  • Prev Build on main (#30944486877)
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