How all Agent Client Protocol connections begin
initialize
method with:
initialize
requests and responses are a single integer that identifies a MAJOR protocol version. This version is only incremented when breaking changes are introduced.
Clients and Agents MUST agree on a protocol version and act according to its specification.
See Capabilities to learn how non-breaking features are introduced.
initialize
request MUST include the latest protocol version the Client supports.
If the Agent supports the requested version, it MUST respond with the same version. Otherwise, the Agent MUST respond with the latest version it supports.
If the Client does not support the version specified by the Agent in the initialize
response, the Client SHOULD close the connection and inform the user about it.
initialize
request are OPTIONAL. Clients and Agents SHOULD support all possible combinations of their peer’s capabilities.
The introduction of new capabilities is not considered a breaking change. Therefore, Clients and Agents MUST treat all capabilities omitted in the initialize
request as UNSUPPORTED.
Capabilities are high-level and are not attached to a specific base protocol concept.
Capabilities may specify the availability of protocol methods, notifications, or a subset of their parameters. They may also signal behaviors of the Agent or Client implementation.
fs/read_text_file
method is available.fs/write_text_file
method is available.session/load
method is available.session/prompt
requests.ContentBlock::Text
and ContentBlock::ResourceLink
in session/prompt
requests.
Optionally, they MAY support richer types of content by specifying the following capabilities:
ContentBlock::Image
ContentBlock::Audio
ContentBlock::Resource