Source record · tier 1 standards and regulators
Model Context Protocol specification 2026-07-28, Server Features: Tools
- Publisher
- Model Context Protocol project
- URL
- https://modelcontextprotocol.io/specification/2026-07-28/server/tools
- Published
- 2026-07-28
- Updated
- unknown
- Accessed
- 2026-09-05
- HTTP status
- 200
- License
- MIT license; permitted under the specification license
Claims citing this source
- The 2026-07-28 message flow diagram shows the server answering a subscriptions listen request with a notification named notifications slash subscriptions slash acknowledged. fact in context
- The message flow diagram in the 2026-07-28 Tools page wraps the subscription handshake the list changed notification and the client's re-issued tools list request in a single optional fragment labelled listChanged. fact in context
- 10 of the pages behind tranche 006 and tranche 007 claims carried Mermaid diagrams that the corpus's own extraction dropped, totalling roughly 11,000 characters of unread evidence. field-pattern in context
- The tools list result set may vary by the authorization presented on the request, because credentials are per-request input rather than connection state. fact in context
- The Tools page depicts a client re-issuing the tools list request after a notification inside an optional fragment of its message flow diagram rather than requiring it. inference in context
- Delivery of a tool list changed notification to a subscribed client is a SHOULD rather than a MUST. fact in context
- In the 2026-07-28 revision a server that declared the list changed capability SHOULD send the tool list changed notification to clients that have opened a subscriptions listen stream with the tools list changed filter set to true. fact in context
- A protocol level listChanged notification cannot by itself reveal a tool whose schema changed without the server announcing it because the specification makes the notification a SHOULD and imposes no client obligation. inference in context
- In the 2026-07-28 revision a server that declared the listChanged capability SHOULD send the list changed notification to clients that have opened a subscriptions/listen stream with toolsListChanged set to true. fact in context
- The 2026-07-28 revision states that for trust and safety and security clients MUST consider tool annotations to be untrusted unless they come from trusted servers. fact in context
- The 2026-07-28 revision states that servers SHOULD return tools in a deterministic order meaning the same ordering across requests when the underlying set has not changed and gives reliable client caching and model prompt cache hit rates as the reasons. fact in context
- The 2026-07-28 revision gives 2 valid forms for a tool with no parameters and recommends the form that sets additionalProperties to false because it explicitly accepts only empty objects. fact in context
- The Model Context Protocol list changed notification is the method notifications/tools/list_changed. fact in context
- In the Model Context Protocol the listChanged capability indicates whether the server will emit notifications when the list of available tools changes. fact in context
- The 2026-07-28 revision permits the tool set to vary by the authorization presented on the request on the stated ground that credentials are per-request input rather than connection state. fact in context
- The 2026-07-28 revision requires that the set of tools a server returns MUST NOT vary per connection or as a side effect of other requests on the connection although it MAY change over time. fact in context
- Neither the 2025-06-18 nor the 2026-07-28 revision states any obligation on a client that receives a tools list changed notification. fact in context
- In the 2026-07-28 revision a tool's inputSchema and outputSchema default to JSON Schema 2020-12 when no schema field is present and the inputSchema MUST be a valid JSON Schema object and not null. fact in context
- Because the JSON Schema dialect defaults when the schema field is absent 2 tools with identical visible schemas may be validated under different dialects. inference in context
- The 2026-07-28 revision states that tool names SHOULD be between 1 and 128 characters in length inclusive. fact in context
- The Tools page of the specification roughly doubled in extracted length between revision 2025-06-18 and revision 2026-07-28, from about 10,000 characters to about 21,000. field-pattern in context
- The 2026-07-28 revision permits tool schema properties to carry an x-mcp-header annotation that exposes parameter values as HTTP headers. fact in context
- The Tools page grew by roughly half between the 2025-11-25 and 2026-07-28 revisions and the change is almost entirely additive. field-pattern in context
- The execution and task support fields present in the 2025-11-25 Tools page are removed in the 2026-07-28 revision. fact in context
- The Stateful Tools section contains no RFC 2119 keywords at all; MUST SHOULD MAY REQUIRED and SHALL each occur 0 times within it. fact in context
- The specification states that the protocol has no concept of a state handle and that from the wire's perspective a handle is an ordinary string in a tool result and an ordinary argument to subsequent tool calls. fact in context
- The specification reconciles stateful tools with the rule that a tool set must not vary per connection: the invariance rule binds the tools list operation while handles vary the tool call. fact in context
- The Model Context Protocol's Stateful Tools section declares itself non-normative guidance for tool design. fact in context
- The specification does not state what state a stateful tool holds who holds it or for how long, nor what happens to it when a connection drops. fact in context
- Statefulness in Model Context Protocol tools is a design convention carried in ordinary tool arguments and results rather than a protocol mechanism. inference in context
Cite this source record
APA
WarmTransfer. (2026, July 28). Model Context Protocol specification 2026-07-28, Server Features: Tools. WarmTransfer. https://warmtransfer.net/knowledge/sources/mcp-spec-2026-07-28-server-tools
BibTeX
@misc{warmtransfer-mcp-spec-2026-07-28-server-tools,
title = {Model Context Protocol specification 2026-07-28, Server Features: Tools},
author = {{WarmTransfer}},
year = {2026},
url = {https://warmtransfer.net/knowledge/sources/mcp-spec-2026-07-28-server-tools},
note = {Model Context Protocol project, accessed 2026-09-05}
}