Triage vMCP conformance gaps: content types, templates, server-to-client forwarding
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 2.2k
- Forks
- 300
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 184
Description
Pointing the MCP conformance suite at a vMCP endpoint (#5844 item 2, PR #5852) surfaced failing scenarios. Some are clear aggregator limitations (sampling, completions, resource subscribe/unsubscribe) — vMCP terminates the protocol and re-serves an aggregated view, and does not proxy these. Others are less obviously "expected" and may be real gaps/bugs in the migrated mcpcompat/go-sdk serving surface, worth investigating individually the way prompts/get was (that one turned out to be a real bug, fixed in #5857 via toolhive-core SessionWithPrompts).
Baselined in expected-failures-vmcp.yaml for now so the conformance job is green, but tracked here:
Likely worth a real fix
tools-call-mixed-contentandtools-call-embedded-resource— tool results carrying mixed / embedded-resource content. Basictools-callpasses, so this is a content-type conversion gap in the vMCP tool-result path, not a fundamental limitation.resources-templates-read— resource templates. Basicresources-list/resources-read-text/-binarypass, so template handling specifically is missing.
Server→client forwarding (may be architectural, confirm)
tools-call-with-progress,tools-call-with-logging— the server sends progress/logging notifications to the client mid-call; vMCP would need to forward them.tools-call-elicitation,elicitation-sep1034-defaults,elicitation-sep1330-enums— server→client elicitation.
Accepted aggregator limitations (no action expected)
tools-call-sampling,completion-complete,resources-subscribe,resources-unsubscribe.
Each investigation should follow the prompts model: reproduce via the conformance artifact's expected-vs-actual, root-cause in the vMCP serve path, and if it's a real bug fix it and drop it from the baseline.
Context: PR #5852, part of epic #5743.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with expected-failures-vmcp.yaml and reproduce one listed scenario using the conformance artifact's expected-versus-actual output. Trace the failure through the vMCP serve path, using the prompts investigation as a model, and determine whether it is an aggregator limitation or a real bug. Done means fixing confirmed bugs and removing them from the baseline.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- api, backend, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100