> ## Documentation Index
> Fetch the complete documentation index at: https://toolgrain.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Compatibility and current limits

> Separate protocol support, runtime commitments, and verified client behavior.

Toolgrain targets two explicit MCP revisions. Protocol support, runtime support, and interoperability evidence are different claims: a supported protocol does not establish every client's UI or cancellation behavior.

## Protocol scope

| Revision | Model | Transports |
| - | - | - |
| `2026-07-28` | Per-request metadata, discovery, listing, and calls | Stdio and HTTP |
| `2025-06-18` | Legacy initialization-based stdio negotiation; independent legacy HTTP requests | Stdio and HTTP |

Other revisions are unsupported. Legacy initialization can negotiate down to the supported older revision; this does not mean Toolgrain implements the client's originally offered revision. Modern stdio requests can interleave with legacy traffic after era selection.

Modern listings include cache/server metadata and icons. Legacy results omit modern envelope metadata; listings omit icons and non-object-root output schemas. Legacy structured content is object-only; other JSON results remain text. Tool lists are a single page and nonempty cursors are rejected.

## Client evidence

Inspector 2.11.0 passes the existing checks in both revisions and automatic discovery. Tested Codex tool flows work with the documented timeout limitation.

The [Cursor desktop follow-up](https://toolgrain.mintlify.site/compatibility/clients.md#cursor-desktop-follow-up) verified legacy execution and recovery over stdio, HTTP, and protected HTTP in version 3.26.16. Stopping its tested calls did not abort server work on any of those transports. The [additional checks](https://toolgrain.mintlify.site/compatibility/clients.md#additional-cursor-client-checks) verified CLI execution in version 2026.10.22-27dcf5f, including modern HTTP and protected HTTP. The tested desktop configuration failed modern negotiation probes; both clients failed the modern stdio probe.

The [Claude Code v2 follow-up](https://toolgrain.mintlify.site/compatibility/clients.md#claude-code-v2-follow-up) checked version 2.1.311 with explicit modern and forced legacy configurations over all three transports. Supplemental rich text remained hidden alongside structured content. Modern timeout and interactive Esc/Ctrl+C probes aborted handlers across all three transports; legacy HTTP cancellation notifications remained advisory until disconnection.

Live OAuth login, account-controlled client rollouts, other GUI flows, and remote deployment remain unverified.

See the [2026-10-22 client report](https://toolgrain.mintlify.site/compatibility/clients.md) for exact versions, assertion counts, controls, and workarounds, and [protocol verification](https://toolgrain.mintlify.site/compatibility/protocol.md) for setup and repeatable Inspector commands. Do not silently promote an old partial result into a current complete compatibility claim.

## Application requirements

Node ^24.20.0 and Bun ≥1.4.4 \<2 are the supported application runtimes. Strict TypeScript 5.5.4 is the declaration floor; Zod 4 is the peer requirement. Node 26 remains preview. Hosted combinations need passing CI evidence before verification claims; see [the support policy](https://toolgrain.mintlify.site/project/support-policy.md).

## Features outside the current scope

Resources and prompts methods, elicitation/multi-round-trip input, progress, subscriptions/change notifications, HTTP sessions, SSE streaming, and resumability are separate future work. There is no built-in per-tool timeout API or automatic provider cleanup. Endpoint auth is implemented; token issuance and per-tool scope-policy configuration are not.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.