The field naming the model is filled in at the far end.
Whichever route a step takes, the field that names the model is filled in by the party that did the choosing. This paper tabulates what each route gives a record, and follows the one protocol that wrote that seam down and is now retiring it.
A per-step model name composed with a gateway alias — where a harness lets an individual step name the model it wants — is a hypothesis rather than a result: nothing here exercised it and no capture of it exists, which is why both of its cells below are empty of findings.
| Route | What the request path sees | What the record gets |
|---|---|---|
| Tool handler | A tool call and a tool result. No model call crosses the path the harness watches. | Whatever the handler writes down; the rest of the path sees a tool result. |
| Gateway base URL | A model call, in the format the harness speaks. | Two model strings — one sent, one returned — and usage in the units the upstream defines. |
| Per-step name + alias | Hypothesis. Untested here. | Hypothesis. Untested here. |
| MCP sampling | A sampling request from a server, answered by the client. | The client's chosen model, named by the client in the result it returns. |
A protocol that wrote the seam down, and is retiring it
The Model Context Protocol's sampling feature let a server ask a client to run a completion, and the
client may satisfy a preference with something else: clients "MAY map hints to equivalent models from
different providers".[1] The one field naming the model — model, "the name of
the model that generated the message" — is returned by the party that did the
choosing.[1] The requester states a preference; the responder reports what it decided;
nothing in between is in a position to check.
Sampling is now deprecated. As of revision 2026-07-28 (SEP-2577) it "remains in the
specification for at least twelve months after this revision's release before it becomes eligible for
removal", new implementations "SHOULD NOT" adopt it, and existing ones "SHOULD migrate to integrating
directly with LLM provider APIs".[1] Direct integration is the left-hand route of Figure 1 in Paper 002 — the one that leaves nothing in the request path to observe.
The question these notes work on came out of building a routing switch inside Gateward, a Digital One product. It supplies no evidence here: every quotation above is from a published page a reader can fetch, cited with the date it was read, and the Gateward repository is not public, so nothing in it is a claim a reader can check today. Deliberately absent: prices, plans and tiers, availability, and deployment internals.
References
- Model Context Protocol, Sampling, specification revision
2026-07-28: the deprecation notice (SEP-2577), the model-hint mapping clause and themodelfield, modelcontextprotocol.io/specification/2026-07-28/client/sampling, read 12 September 2026.