stacklok / stacklok/toolhive

vMCP migration test-coverage follow-ups: pagination gate + conformance coverage

Open
#5,844 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.