MCP Protocol
Protocol surface that affects MCP governance and MCP client compatibility.
Supported protocol versions
AIControls supports MCP protocol version 2026-07-28 (and earlier revisions advertised by upstream servers).
tools/call result discriminator (resultType)
For MCP protocol version 2026-07-28 and later, tools/call responses include a resultType field.
resultType | Meaning |
|---|---|
complete | The tool call is finished and no further client action is required. |
input_required | The server is using the multi round-trip request protocol (MRTR / SEP-2322) and the client should fulfill inputRequests and retry, or retry later when load-shedding is indicated. |
Notes:
input_requiredresults includeinputRequestsand may include an opaquerequestStatethe client must echo back when retrying.- An empty
inputRequestsobject is meaningful: it indicates load-shedding (retry later). - Requests carrying
inputResponsesorrequestStatebypass response-cache reads and writes. - Upstream results with non-empty
inputRequestsand retries with non-emptyinputResponsesare rejected until governed MRTR fulfillment is implemented. They are not relayed to a downstream client's automatic sampling, elicitation, or roots handlers. Empty-map load-shedding remains supported.
Structured tool results
The proxy preserves upstream structuredContent alongside content for HTTP and stdio MCP servers.
Numbers keep their exact upstream representation, including integers above 2^53 and decimals with more than 17 significant digits. SSE events at or near the 16 MiB per-event limit are passed through unchanged, and their numbers may be rounded.
Response policies and content scanning inspect a JSON representation containing both fields.
Redaction and tokenization apply to both representations; if a rewrite produces invalid JSON, the response is rejected rather than returning the original structured data.
Text-only noise filtering, deduplication, and compression are skipped for structured results to preserve their schema.