Protocol eras changeddocs/2026-07-28/tools/inspector/protocol-eras
Nearest release: v2.1.221, published 22 hours after upstream edited the page. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
Upstream edited this page at 2 Aug 2026 23:45 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 28 Sep 2026 22:07 UTC.
Upstream edited
Recorded here
Lines+19added
Lines−19removed
From line
8
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits2to this page, all time
The whole hunk
from line 8, old and new numbered
/
from line 8
88
99Each server carries a `protocolEra` of `legacy`, `auto`, or `modern`. In the web client it lives in **Server Settings**; in a catalog or config file it is the `protocolEra` field; in the CLI and TUI it comes from that same file.
1010
11| Era | What the Inspector does at connect |
12| -------- | --------------------------------------------------------------------------------------- |
13| `legacy` | **The default.** Plain `initialize`, no probing at all. |
14| `auto` | Probe `server/discover` first, and fall back to `initialize` on any non-modern outcome. |
15| `modern` | Pin exactly `2026-07-28`. No fallback, so a non-modern server fails loudly. |
11| Era | What the Inspector does at connect |
12| - | - |
13| `legacy` | **The default.** Plain `initialize`, no probing at all. |
14| `auto` | Probe `server/discover` first, and fall back to `initialize` on any non-modern outcome. |
15| `modern` | Pin exactly `2026-07-28`. No fallback, so a non-modern server fails loudly. |
1616
1717<Note>
1818 **Why `legacy` is the default, and not `auto`.** A debugging tool must not
from line 141
141141
142142`test-servers/configs/mrtr-showcase-http.json` bundles every shape in one modern server:
143143
144| Tool | What it exercises |
145| --------------- | ----------------------------------------------------------------------------- |
146| `mrtr_confirm` | A single elicitation round. |
147| `mrtr_two_step` | Two elicitation rounds, threaded through `requestState`. |
148| `mrtr_sample` | An embedded sampling request, routed to the Sampling panel. |
149| `mrtr_roots` | An embedded `roots/list`, answered silently from configured roots (no modal). |
150| `mrtr_edge` | An `inputRequests`-only round, then a `requestState`-only round. |
151| `mrtr_loop` | Never completes, so the client stops at its `MRTR_MAX_ROUNDS` limit. |
144| Tool | What it exercises |
145| - | - |
146| `mrtr_confirm` | A single elicitation round. |
147| `mrtr_two_step` | Two elicitation rounds, threaded through `requestState`. |
148| `mrtr_sample` | An embedded sampling request, routed to the Sampling panel. |
149| `mrtr_roots` | An embedded `roots/list`, answered silently from configured roots (no modal). |
150| `mrtr_edge` | An `inputRequests`-only round, then a `requestState`-only round. |
151| `mrtr_loop` | Never completes, so the client stops at its `MRTR_MAX_ROUNDS` limit. |
152152
153153<Note>
154154 The legacy `collect_elicitation` pattern (a server calling
from line 208
208208
209209`test-servers/configs/modern-network-http.json` serves four tools that produce a real HTTP status plus a JSON-RPC error body, one per class:
210210
211| Tool | HTTP | JSON-RPC code | Meaning |
212| ----------------------------- | ----- | ------------- | ------------------------------------------------------------ |
213| `trigger_header_mismatch` | `400` | `-32020` | A required mirrored header was missing or wrong. |
214| `trigger_missing_capability` | `400` | `-32021` | The request omitted a client capability the server requires. |
215| `trigger_unsupported_version` | `400` | `-32022` | Unsupported version; supported versions in `data.supported`. |
216| `trigger_method_not_found` | `404` | `-32601` | Method not found. |
211| Tool | HTTP | JSON-RPC code | Meaning |
212| - | - | - | - |
213| `trigger_header_mismatch` | `400` | `-32020` | A required mirrored header was missing or wrong. |
214| `trigger_missing_capability` | `400` | `-32021` | The request omitted a client capability the server requires. |
215| `trigger_unsupported_version` | `400` | `-32022` | Unsupported version; supported versions in `data.supported`. |
216| `trigger_method_not_found` | `404` | `-32601` | Method not found. |
217217
218218<Frame caption="The Network tab shows the HTTP layer; here, the 400 Bad Request the strict server answered with.">
219219 <img src="https://mintcdn.com/mcp/gk28X8wi_tbRYzej/images/inspector/network-modern-headers.png?fit=max&auto=format&n=gk28X8wi_tbRYzej&q=85&s=7df4c01f5ab68aa7632ac3b5a5866b42" width="3840" height="2160" data-path="images/inspector/network-modern-headers.png" />
No line in this hunk matches that.