pub struct InitializeRequest {
pub protocol_version: ProtocolVersion,
pub capabilities: Capabilities,
pub client_info: Implementation,
}Expand description
Client-to-server initialization request.
This is the first message sent by the client to establish the MCP session. It includes the desired protocol version, client capabilities, and client metadata.
Fields§
§protocol_version: ProtocolVersionProtocol version requested by the client
capabilities: CapabilitiesCapabilities offered by the client
client_info: ImplementationInformation about the client implementation
Implementations§
Source§impl InitializeRequest
impl InitializeRequest
Sourcepub fn new(
protocol_version: ProtocolVersion,
capabilities: Capabilities,
client_info: Implementation,
) -> Self
pub fn new( protocol_version: ProtocolVersion, capabilities: Capabilities, client_info: Implementation, ) -> Self
Create a new initialization request.
§Examples
use mcp_probe_core::messages::{InitializeRequest, ProtocolVersion, Capabilities, Implementation};
let request = InitializeRequest::new(
ProtocolVersion::V2024_11_05,
Capabilities::default(),
Implementation::new("my-client", "1.0.0"),
);Sourcepub fn basic(
client_name: impl Into<String>,
client_version: impl Into<String>,
) -> Self
pub fn basic( client_name: impl Into<String>, client_version: impl Into<String>, ) -> Self
Create a basic initialization request with default capabilities.
This is a convenience method for simple clients that don’t need to specify custom capabilities.
§Examples
use mcp_probe_core::messages::InitializeRequest;
let request = InitializeRequest::basic("my-client", "1.0.0");Sourcepub fn with_client_metadata(self, key: impl Into<String>, value: Value) -> Self
pub fn with_client_metadata(self, key: impl Into<String>, value: Value) -> Self
Add custom client metadata to the initialization request.
§Examples
use mcp_probe_core::messages::InitializeRequest;
use serde_json::json;
let request = InitializeRequest::basic("my-client", "1.0.0")
.with_client_metadata("platform", json!("rust"))
.with_client_metadata("os", json!("linux"));Sourcepub fn is_supported_version(&self) -> bool
pub fn is_supported_version(&self) -> bool
Check if the requested protocol version is supported.
Trait Implementations§
Source§impl Clone for InitializeRequest
impl Clone for InitializeRequest
Source§fn clone(&self) -> InitializeRequest
fn clone(&self) -> InitializeRequest
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for InitializeRequest
impl Debug for InitializeRequest
Source§impl<'de> Deserialize<'de> for InitializeRequest
impl<'de> Deserialize<'de> for InitializeRequest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
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 PartialEq for InitializeRequest
impl PartialEq for InitializeRequest
Source§impl Serialize for InitializeRequest
impl Serialize for InitializeRequest
impl Eq for InitializeRequest
impl StructuralPartialEq for InitializeRequest
Auto Trait Implementations§
impl Freeze for InitializeRequest
impl RefUnwindSafe for InitializeRequest
impl Send for InitializeRequest
impl Sync for InitializeRequest
impl Unpin for InitializeRequest
impl UnwindSafe for InitializeRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.