vMCP migration test-coverage follow-ups: pagination gate + conformance coverage
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 2.2k
- Forks
- 300
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 184
Description
Follow-ups split out of the mcp-go → mcpcompat migration review (#5729) so they don't block that PR. Both are test-coverage gaps @jhrozek flagged as out-of-scope for the migration itself.
1. pagination_regression_test.go gates nothing while skipped
test/integration/vmcp/pagination_regression_test.go is t.Skip'd. Before un-skipping, confirm the test actually exercises a cursor loop: if CreateBackendServer returns all ~1100 tools in a single page, the GreaterOrEqual assertion passes without any pagination happening, and MCPClient.ListTools issues a single call with no cursor follow. Make the backend paginate at the 1000 boundary and drive the cursor loop, then un-skip.
2. MCP Conformance should exercise the swapped SDK
E2E Tests / MCP Conformance runs against thv run --transport streamable-http, served by the transparent reverse proxy (pkg/transport/proxy/transparent), which imports no mcpcompat/go-sdk code. The swapped SDK lives in vMCP and the stdio bridge, so a green conformance run says little about the migration. Point the conformance suite at a vMCP endpoint (and/or the stdio bridge) so it actually covers mcpcompat's protocol surface.
Context: stacklok/toolhive#5729 (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 test/integration/vmcp/pagination_regression_test.go and inspect CreateBackendServer and MCPClient.ListTools to verify the cursor loop before removing t.Skip. Then trace the E2E Tests / MCP Conformance entry point and the vMCP or stdio bridge endpoint. Done means pagination crosses the 1000-tool boundary and conformance exercises the swapped mcpcompat protocol surface.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- api, testing-qa
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100