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

stacklok / toolhive / 24903886531

24 Apr 2026 05:51PM UTC coverage: 66.267% (+0.04%) from 66.229%
24903886531

push

github

web-flow
Expose hook for embedder-driven MCP elicitation (#4934)

Embedders that wrap the vMCP composer in their own pipeline cannot
today target elicitation at the mark3labs MCPServer instance that
actually serves /mcp: the field is unexported, there is no accessor,
and the SDK adapter constructor is also unexported. A parallel
MCPServer built by the embedder does not work because ClientSession
correlation is keyed to the server that received initialize.

Add two additive, read-only seams on pkg/vmcp/server:

  - (*Server).MCPServer() returns the authoritative serving instance.
  - NewSDKElicitationAdapter exports the existing adapter constructor
    so embedders can obtain a composer.SDKElicitationRequester bound
    to the serving MCPServer.

Doc comments spell out the in-process trust boundary, lifecycle
ownership, the "prefer per-session over global tool registration"
footgun, and MCP 2025-06-18 elicitation caller obligations (ctx
propagation with a bounded deadline, elicitation capability on the
client, distinct accept/decline/cancel handling, flat-schema shape,
no secrets or internal addressing in prompts).

Closes #4930

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

5 of 5 new or added lines in 2 files covered. (100.0%)

5 existing lines in 2 files now uncovered.

59203 of 89340 relevant lines covered (66.27%)

61.51 hits per line

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

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


Source Not Available

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

© 2026 Coveralls, Inc