Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
212 changes: 158 additions & 54 deletions docs/protocol/draft/schema.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -1574,56 +1574,6 @@ See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/exte

**Variants:**

<ResponseField name="Session" type="object">
Tied to a session, optionally to a specific tool call within that session.

When `tool_call_id` is set, the elicitation is tied to a specific tool call.
This is useful when an agent receives an elicitation from an MCP server
during a tool call and needs to redirect it to the user.

<Expandable title="Properties">

<ResponseField
name="sessionId"
type={<a href="#sessionid">SessionId</a>}
required
>
The session this elicitation is tied to.
</ResponseField>
<ResponseField
name="toolCallId"
type={
<>
<span>
<a href="#toolcallid">ToolCallId</a>
</span>
<span> | null</span>
</>
}
>
Optional tool call within the session.
</ResponseField>

</Expandable>
</ResponseField>

<ResponseField name="Request" type="object">
Tied to a specific JSON-RPC request outside of a session
(e.g., during auth/configuration phases before any session is started).

<Expandable title="Properties">

<ResponseField
name="requestId"
type={<a href="#requestid">RequestId</a>}
required
>
The request this elicitation is tied to.
</ResponseField>

</Expandable>
</ResponseField>

<ResponseField name="form" type="object">
Form-based elicitation where the client renders a form from the provided schema.

Expand Down Expand Up @@ -3379,9 +3329,9 @@ This capability is not part of the spec yet, and may be removed or changed at an

Form-based elicitation mode where the client renders a form from the provided schema.

**Type:** Object
**Type:** Union

**Properties:**
**Shared properties:**

<ResponseField
name="requestedSchema"
Expand All @@ -3391,6 +3341,54 @@ Form-based elicitation mode where the client renders a form from the provided sc
A JSON Schema describing the form fields to present to the user.
</ResponseField>

**Variants:**

<ResponseField name="Session">
Tied to a session, optionally to a specific tool call within that session.

<Expandable title="Properties">

<ResponseField
name="sessionId"
type={<a href="#sessionid">SessionId</a>}
required
>
The session this elicitation is tied to.
</ResponseField>
<ResponseField
name="toolCallId"
type={
<>
<span>
<a href="#toolcallid">ToolCallId</a>
</span>
<span> | null</span>
</>
}
>
Optional tool call within the session.
</ResponseField>

</Expandable>
</ResponseField>

<ResponseField name="Request">
Tied to a specific JSON-RPC request outside of a session
(e.g., during auth/configuration phases before any session is started).

<Expandable title="Properties">

<ResponseField
name="requestId"
type={<a href="#requestid">RequestId</a>}
required
>
The request this elicitation is tied to.
</ResponseField>

</Expandable>
</ResponseField>

## <span class="font-mono">ElicitationId</span>

**UNSTABLE**
Expand Down Expand Up @@ -3567,6 +3565,27 @@ Multi-select array property.
</Expandable>
</ResponseField>

## <span class="font-mono">ElicitationRequestScope</span>

**UNSTABLE**

This capability is not part of the spec yet, and may be removed or changed at any point.

Request-scoped elicitation, tied to a specific JSON-RPC request outside of a session
(e.g., during auth/configuration phases before any session is started).

**Type:** Object

**Properties:**

<ResponseField
name="requestId"
type={<a href="#requestid">RequestId</a>}
required
>
The request this elicitation is tied to.
</ResponseField>

## <span class="font-mono">ElicitationSchema</span>

Type-safe elicitation schema for requesting structured user input.
Expand Down Expand Up @@ -3610,6 +3629,43 @@ Type discriminator for elicitation schemas.
Object schema type.
</ResponseField>

## <span class="font-mono">ElicitationSessionScope</span>

**UNSTABLE**

This capability is not part of the spec yet, and may be removed or changed at any point.

Session-scoped elicitation, optionally tied to a specific tool call.

When `tool_call_id` is set, the elicitation is tied to a specific tool call.
This is useful when an agent receives an elicitation from an MCP server
during a tool call and needs to redirect it to the user.

**Type:** Object

**Properties:**

<ResponseField
name="sessionId"
type={<a href="#sessionid">SessionId</a>}
required
>
The session this elicitation is tied to.
</ResponseField>
<ResponseField
name="toolCallId"
type={
<>
<span>
<a href="#toolcallid">ToolCallId</a>
</span>
<span> | null</span>
</>
}
>
Optional tool call within the session.
</ResponseField>

## <span class="font-mono">ElicitationStringType</span>

Items definition for untitled multi-select enum properties.
Expand Down Expand Up @@ -3649,9 +3705,9 @@ This capability is not part of the spec yet, and may be removed or changed at an

URL-based elicitation mode where the client directs the user to a URL.

**Type:** Object
**Type:** Union

**Properties:**
**Shared properties:**

<ResponseField
name="elicitationId"
Expand All @@ -3664,6 +3720,54 @@ URL-based elicitation mode where the client directs the user to a URL.
The URL to direct the user to.
</ResponseField>

**Variants:**

<ResponseField name="Session">
Tied to a session, optionally to a specific tool call within that session.

<Expandable title="Properties">

<ResponseField
name="sessionId"
type={<a href="#sessionid">SessionId</a>}
required
>
The session this elicitation is tied to.
</ResponseField>
<ResponseField
name="toolCallId"
type={
<>
<span>
<a href="#toolcallid">ToolCallId</a>
</span>
<span> | null</span>
</>
}
>
Optional tool call within the session.
</ResponseField>

</Expandable>
</ResponseField>

<ResponseField name="Request">
Tied to a specific JSON-RPC request outside of a session
(e.g., during auth/configuration phases before any session is started).

<Expandable title="Properties">

<ResponseField
name="requestId"
type={<a href="#requestid">RequestId</a>}
required
>
The request this elicitation is tied to.
</ResponseField>

</Expandable>
</ResponseField>

## <span class="font-mono">EmbeddedResource</span>

The contents of a resource, embedded into a prompt or tool call result.
Expand Down
Loading
Loading