#[non_exhaustive]pub struct McpCapabilities {
pub stdio: Option<McpStdioCapabilities>,
pub http: Option<McpHttpCapabilities>,
pub acp: Option<McpAcpCapabilities>,
pub meta: Option<Map<String, Value>>,
}unstable_protocol_v2 only.Expand description
MCP capabilities supported by the agent
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.stdio: Option<McpStdioCapabilities>Agent supports McpServer::Stdio.
Optional. Omitted or null both mean the agent does not advertise support.
Supplying {} means the agent supports stdio MCP server transports.
http: Option<McpHttpCapabilities>Agent supports McpServer::Http.
Optional. Omitted or null both mean the agent does not advertise support.
Supplying {} means the agent supports HTTP MCP server transports.
acp: Option<McpAcpCapabilities>unstable_mcp_over_acp only.UNSTABLE
This capability is not part of the spec yet, and may be removed or changed at any point.
Agent supports McpServer::Acp.
Optional. Omitted or null both mean the agent does not advertise support.
Supplying {} means the agent supports ACP MCP server transports.
meta: Option<Map<String, Value>>The _meta property is reserved by ACP to allow clients and agents to attach additional metadata to their interactions. Implementations MUST NOT make assumptions about values at these keys.
See protocol docs: Extensibility
Implementations§
Source§impl McpCapabilities
impl McpCapabilities
pub fn new() -> McpCapabilities
Sourcepub fn stdio(
self,
stdio: impl IntoOption<McpStdioCapabilities>,
) -> McpCapabilities
pub fn stdio( self, stdio: impl IntoOption<McpStdioCapabilities>, ) -> McpCapabilities
Agent supports McpServer::Stdio.
Omitted or null both mean the agent does not advertise support.
Supplying {} means the agent supports stdio MCP server transports.
Sourcepub fn http(self, http: impl IntoOption<McpHttpCapabilities>) -> McpCapabilities
pub fn http(self, http: impl IntoOption<McpHttpCapabilities>) -> McpCapabilities
Agent supports McpServer::Http.
Omitted or null both mean the agent does not advertise support.
Supplying {} means the agent supports HTTP MCP server transports.
Sourcepub fn acp(self, acp: impl IntoOption<McpAcpCapabilities>) -> McpCapabilities
Available on crate feature unstable_mcp_over_acp only.
pub fn acp(self, acp: impl IntoOption<McpAcpCapabilities>) -> McpCapabilities
unstable_mcp_over_acp only.UNSTABLE
This capability is not part of the spec yet, and may be removed or changed at any point.
Agent supports McpServer::Acp.
Omitted or null both mean the agent does not advertise support.
Supplying {} means the agent supports ACP MCP server transports.
Sourcepub fn meta(self, meta: impl IntoOption<Map<String, Value>>) -> McpCapabilities
pub fn meta(self, meta: impl IntoOption<Map<String, Value>>) -> McpCapabilities
The _meta property is reserved by ACP to allow clients and agents to attach additional metadata to their interactions. Implementations MUST NOT make assumptions about values at these keys.
See protocol docs: Extensibility
Trait Implementations§
Source§impl Clone for McpCapabilities
impl Clone for McpCapabilities
Source§fn clone(&self) -> McpCapabilities
fn clone(&self) -> McpCapabilities
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for McpCapabilities
impl Debug for McpCapabilities
Source§impl Default for McpCapabilities
impl Default for McpCapabilities
Source§fn default() -> McpCapabilities
fn default() -> McpCapabilities
Source§impl<'de> Deserialize<'de> for McpCapabilities
impl<'de> Deserialize<'de> for McpCapabilities
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<McpCapabilities, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<McpCapabilities, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Eq for McpCapabilities
Source§impl IntoV1 for McpCapabilities
impl IntoV1 for McpCapabilities
Source§type Output = McpCapabilities
type Output = McpCapabilities
Source§fn into_v1(
self,
) -> Result<<McpCapabilities as IntoV1>::Output, ProtocolConversionError>
fn into_v1( self, ) -> Result<<McpCapabilities as IntoV1>::Output, ProtocolConversionError>
Source§impl JsonSchema for McpCapabilities
impl JsonSchema for McpCapabilities
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for McpCapabilities
impl PartialEq for McpCapabilities
Source§fn eq(&self, other: &McpCapabilities) -> bool
fn eq(&self, other: &McpCapabilities) -> bool
self and other values to be equal, and is used by ==.