- Form mode collects non-sensitive data using a restricted JSON Schema.
- URL mode opens an out-of-band interaction for sensitive or externally hosted workflows such as OAuth.
User interaction requirements
Clients MUST clearly identify the Agent requesting information, respect user privacy, and provide clear decline and cancel controls. For form mode, Clients MUST let users review and modify responses before sending them. For URL mode, Clients MUST display the target host and obtain consent before navigating to it. Clients SHOULD present the request’smessage so users
understand what is requested and why.
Checking support
Clients advertise elicitation support incapabilities.elicitation during
initialization.
- An omitted or
nulltop-levelelicitationfield means elicitation is unsupported. - Form support exists only when
formis explicitly present and non-null. URL support exists only whenurlis explicitly present and non-null. - An omitted or
nullmode field means that mode is not advertised. - A present capability object may advertise zero, one, or both modes.
{}and{"form":null,"url":null}advertise no supported modes.
Creating an elicitation
The Agent sends anelicitation/create request directly over the ACP
connection. This adapts the MCP 2026-07-28 data model. ACP also requires mode explicitly; it does
not apply MCP’s omitted-mode form default.
Scope is represented with flattened fields:
sessionIdfor a session-scoped request. It can also includetoolCallIdto associate the request with a tool call in that session.requestIdfor a request-scoped interaction outside a session.
sessionId alone or an unverified Client-provided identity is not sufficient.
Form mode
URL mode
accept response means the user consented to open the URL. It does not mean
the external interaction completed.
URL mode is not a substitute for authorizing the Client’s access to the Agent.
Agents MUST NOT send credentials or tokens obtained through URL mode back
over ACP or place them in Client or model context.
Responses
The Client responds with one of three actions:accept: the user submitted or consented to the interaction.decline: the user explicitly declined.cancel: the user dismissed the interaction without choosing.
content field is optional on accept; receivers treat omission and null
equivalently. It is only meaningful for accept; receivers ignore it for
decline and cancel. For an accepted form elicitation, content SHOULD
conform to the requested schema. For an accepted URL elicitation, clients
normally omit content because the interaction happens out of band.
Agents MUST NOT assume an elicitation succeeds. They MUST handle
decline, cancel, and failures by safely falling back, retrying, or failing
the originating operation as appropriate.
URL completion
Unlike MCP 2026-07-28, ACP retains anelicitationId and completion
notification for its direct request flow. The Agent MUST keep each
elicitationId unique among outstanding URL elicitations on that Agent-Client
connection, and the Client MUST treat it as opaque. The Agent MAY send
elicitation/complete after the external interaction finishes. It MUST
send that notification only to the same Client that received the original
request and include the original elicitationId. Clients MUST ignore
unknown or already-completed IDs.
Requests using a mode the Client has not advertised produce JSON-RPC -32602
(Invalid params).
URL security
Agents and Clients implementing URL mode MUST follow these requirements: These requirements adapt MCP’s Safe URL Handling rules to ACP.- Agents MUST NOT put credentials, personal data, or pre-authenticated access in the URL and SHOULD use HTTPS outside development.
- Agents SHOULD NOT include URLs intended to be clickable in any field of a form-mode request.
- Clients MUST NOT prefetch the URL or open it without explicit user consent. They MUST show the full URL before asking for consent.
- Clients MUST open the URL in a secure context that prevents the Client or Agent’s language model from inspecting the page or user input.
- Clients SHOULD highlight the domain and warn about suspicious or ambiguous URLs, including Punycode domains.
- Clients SHOULD NOT render a URL as clickable in any elicitation field
except the
urlfield of a URL-mode request, subject to the restrictions above. - The Agent MUST verify that the authenticated user who started the elicitation is the same user who completes the external interaction.