docs: converge README Test servers section with main's restructure - #1880
Conversation
Transplants main's restructured "Test servers" section (#1836) onto v2/main — the "Serving the modern protocol era" and "Showcase configs" headings, the config table, and the per-config subsections — replacing the eight long paragraphs v2/main still carried. Folds in v2/main's #1846 correction: main's copy still claims Mcp-Param-* mirroring is skipped in the browser, which stopped being true when the Inspector took over building the mirrored headers itself. The blockquote callout keeps main's shape with the corrected wording. Scoped to that section only — the whole file is deliberately NOT copied from main, so #1866's repo-status callout and release-section edits (and every other v2/main-only line) are untouched. Shrinks the first v2/main -> main milestone merge from a whole-section conflict to a single 3-line hunk. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YAt8rqxysNbhYWLhoRm3fU
There was a problem hiding this comment.
Pull request overview
Updates the repository’s README.md Test servers documentation on v2/main to match the restructured layout introduced on main, while preserving the corrected explanation of Mcp-Param-* header mirroring behavior (#1846 context).
Changes:
- Replaces a long “modern protocol era” paragraph with a structured “Serving the modern protocol era” subsection and bullets.
- Adds a “Showcase configs” index table and breaks the previous wall-of-text descriptions into focused per-config subsections.
- Keeps (and re-words) the
Mcp-Param-*mirroring callout to reflect Inspector behavior rather than the SDK.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
#1846 is the issue; the fix shipped as PR #1847. The callout's link used /pull/1846, which 404s. Per Copilot review. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YAt8rqxysNbhYWLhoRm3fU
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.
Suppressed comments (1)
README.md:129
- The global guidance here says “unless noted, connect with Protocol Era = Modern”, but several listed showcase configs (e.g.
pagination-http.json,advertised-extensions-http.json) do not settransport.modernand therefore can’t be reached when the client pins Modern (it will try to negotiate 2026-07-28 and fail). The intro should distinguish legacy-only configs from modern-serving ones so readers don’t hit a connection error following the instructions.
Each config below is a ready-made server for exercising one feature by hand. Load one with `--config`, and unless noted, connect with **Protocol Era = Modern**.
|
Round 2 of the Copilot loop came back clean — "reviewed 1 out of 1 changed files … generated no new comments". Round 1's only finding (the Noting the one suppressed comment for the record, and why it is deliberately not addressed here:
Fair point, and partly already covered — the advertised-extensions subsection does say "Legacy stateful leg only". But that sentence is verbatim transplanted text from |
Closes #1874
Step 2 of the ordered plan in #1821. Docs-only.
What was transplanted
mainrestructured the whole "Test servers" section in #1836;v2/mainnever got it. This brings that structure over — and only that section:### Serving the modern protocol eraheading, with thetransport.modern/ServerConfigoptions as a bullet list instead of a wall-of-text paragraph.### Showcase configsheading with a config → demonstrates → issue table indexing all nine showcase servers.####per-config subsections (MRTR, Network tab,x-mcp-header, page-by-page fetching, advertised extensions, logging, resource subscriptions, tasks), replacing the eight single long paragraphsv2/mainstill carried. Sub-tables for the MRTR presets and thetrigger_*error taxonomy; numbered steps for the advertised-extensions walkthrough; legacy/modern bullet pairs for the era-fork configs.No content was dropped — every
test-servers/configs/*.jsonand behavior described onv2/mainis still described, just under headings.The #1846 correction is preserved
main's restructured copy still carries the stale claim. Keptmain's blockquote-callout shape, corrected wording:Before (on
main):After (this PR):
Not a whole-file copy
git checkout origin/main -- README.mdwas not used — it would have revertedv2/main-only content. The diff againstv2/mainis confined to lines 118–132, i.e. entirely inside the Test-servers section:Nothing in #1866's regions (the "Repo status" callout near the top, the Project-layout tree, and the "Cutting a release" section) is touched, so this stays mergeable alongside it.
Residual diff vs
maingit diff origin/main -- README.mdnow shows exactly three things, all expected:v2/main's side.main— untouched here, merges cleanly (v2/mainhasn't edited it since the merge base).Payoff
The first
v2/main→mainmilestone merge (#1821 step 5) drops from a whole-section README conflict to one 3-line hunk.🤖 Generated with Claude Code
https://claude.ai/code/session_01YAt8rqxysNbhYWLhoRm3fU