Enum MCPMessage

Source
pub enum MCPMessage {
Show 21 variants Initialize { protocol_version: String, capabilities: MCPCapabilities, client_info: MCPClientInfo, }, InitializeResult { protocol_version: String, capabilities: MCPCapabilities, server_info: MCPServerInfo, }, ListTools { cursor: Option<String>, }, ListToolsResult { tools: Vec<MCPTool>, next_cursor: Option<String>, }, CallTool { name: String, arguments: Value, }, CallToolResult { content: Vec<MCPContent>, is_error: bool, }, ListPrompts { cursor: Option<String>, }, ListPromptsResult { prompts: Vec<MCPPrompt>, next_cursor: Option<String>, }, GetPrompt { name: String, arguments: Option<Value>, }, GetPromptResult { description: Option<String>, messages: Vec<MCPPromptMessage>, }, ListResources { cursor: Option<String>, }, ListResourcesResult { resources: Vec<MCPResource>, next_cursor: Option<String>, }, ReadResource { uri: String, }, ReadResourceResult { contents: Vec<MCPResourceContent>, }, SubscribeResource { uri: String, }, UnsubscribeResource { uri: String, }, ResourceUpdated { uri: String, }, ListLogs { cursor: Option<String>, }, ListLogsResult { logs: Vec<MCPLogEntry>, next_cursor: Option<String>, }, SetLogLevel { level: MCPLogLevel, }, Error { code: i32, message: String, data: Option<Value>, },
}
Expand description

MCP message types

Variants§

§

Initialize

Initialize MCP session

Fields

§protocol_version: String

MCP protocol version being used

§capabilities: MCPCapabilities

Client capabilities for this session

§client_info: MCPClientInfo

Information about the connecting client

§

InitializeResult

Initialize response

Fields

§protocol_version: String

MCP protocol version the server supports

§capabilities: MCPCapabilities

Server capabilities for this session

§server_info: MCPServerInfo

Information about the MCP server

§

ListTools

List available tools

Fields

§cursor: Option<String>

Pagination cursor for large tool lists

§

ListToolsResult

List tools response

Fields

§tools: Vec<MCPTool>

Available tools on this server

§next_cursor: Option<String>

Next pagination cursor if more tools available

§

CallTool

Call a tool

Fields

§name: String

Name of the tool to call

§arguments: Value

Arguments to pass to the tool

§

CallToolResult

Tool call response

Fields

§content: Vec<MCPContent>

Content returned by the tool

§is_error: bool

Whether the call resulted in an error

§

ListPrompts

List available prompts

Fields

§cursor: Option<String>

Pagination cursor for large prompt lists

§

ListPromptsResult

List prompts response

Fields

§prompts: Vec<MCPPrompt>

Available prompts on this server

§next_cursor: Option<String>

Next pagination cursor if more prompts available

§

GetPrompt

Get a prompt

Fields

§name: String

Name of the prompt to retrieve

§arguments: Option<Value>

Arguments to customize the prompt

§

GetPromptResult

Get prompt response

Fields

§description: Option<String>

Description of the prompt

§messages: Vec<MCPPromptMessage>

Prompt messages/content

§

ListResources

List available resources

Fields

§cursor: Option<String>

Pagination cursor for large resource lists

§

ListResourcesResult

List resources response

Fields

§resources: Vec<MCPResource>

Available resources on this server

§next_cursor: Option<String>

Next pagination cursor if more resources available

§

ReadResource

Read a resource

Fields

§uri: String

URI of the resource to read

§

ReadResourceResult

Read resource response

Fields

§contents: Vec<MCPResourceContent>

Contents of the requested resource

§

SubscribeResource

Subscribe to resource

Fields

§uri: String

URI of the resource to subscribe to

§

UnsubscribeResource

Unsubscribe from resource

Fields

§uri: String

URI of the resource to unsubscribe from

§

ResourceUpdated

Resource updated notification

Fields

§uri: String

URI of the resource that was updated

§

ListLogs

List logs

Fields

§cursor: Option<String>

Pagination cursor for large log lists

§

ListLogsResult

List logs response

Fields

§logs: Vec<MCPLogEntry>

Log entries available on this server

§next_cursor: Option<String>

Next pagination cursor if more logs available

§

SetLogLevel

Set log level

Fields

§level: MCPLogLevel

Log level to set for the server

§

Error

Error response

Fields

§code: i32

Error code identifying the type of error

§message: String

Human-readable error message

§data: Option<Value>

Optional additional error data

Trait Implementations§

Source§

impl Clone for MCPMessage

Source§

fn clone(&self) -> MCPMessage

Returns a duplicate of the value. Read more
1.0.0 · Source§

const fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MCPMessage

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for MCPMessage

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for MCPMessage

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,