pub struct InitializeResponse {
    pub protocol_version: ProtocolVersion,
    pub capabilities: Capabilities,
    pub server_info: Implementation,
    pub instructions: Option<String>,
}Expand description
Server-to-client initialization response.
This is sent by the server in response to the client’s initialization request. It includes the server’s capabilities, server metadata, and the negotiated protocol version.
Fields§
§protocol_version: ProtocolVersionProtocol version that will be used for the session
capabilities: CapabilitiesCapabilities offered by the server
server_info: ImplementationInformation about the server implementation
instructions: Option<String>Optional instructions or additional information for the client
Implementations§
Source§impl InitializeResponse
 
impl InitializeResponse
Sourcepub fn new(
    protocol_version: ProtocolVersion,
    capabilities: Capabilities,
    server_info: Implementation,
    instructions: Option<String>,
) -> Self
 
pub fn new( protocol_version: ProtocolVersion, capabilities: Capabilities, server_info: Implementation, instructions: Option<String>, ) -> Self
Create a new initialization response.
§Examples
use mcp_probe_core::messages::{InitializeResponse, ProtocolVersion, Capabilities, Implementation};
let response = InitializeResponse::new(
    ProtocolVersion::V2024_11_05,
    Capabilities::default(),
    Implementation::new("my-server", "1.0.0"),
    None,
);Sourcepub fn basic(
    server_name: impl Into<String>,
    server_version: impl Into<String>,
) -> Self
 
pub fn basic( server_name: impl Into<String>, server_version: impl Into<String>, ) -> Self
Create a basic initialization response with default capabilities.
§Examples
use mcp_probe_core::messages::InitializeResponse;
let response = InitializeResponse::basic("my-server", "1.0.0");Sourcepub fn with_instructions(self, instructions: impl Into<String>) -> Self
 
pub fn with_instructions(self, instructions: impl Into<String>) -> Self
Add instructions for the client.
Instructions can provide guidance to the client about how to use the server’s capabilities effectively.
§Examples
use mcp_probe_core::messages::InitializeResponse;
let response = InitializeResponse::basic("my-server", "1.0.0")
    .with_instructions("Use the 'calculator' tool for math operations");Sourcepub fn with_server_metadata(self, key: impl Into<String>, value: Value) -> Self
 
pub fn with_server_metadata(self, key: impl Into<String>, value: Value) -> Self
Add custom server metadata to the initialization response.
§Examples
use mcp_probe_core::messages::InitializeResponse;
use serde_json::json;
let response = InitializeResponse::basic("my-server", "1.0.0")
    .with_server_metadata("supported_languages", json!(["python", "javascript"]));Trait Implementations§
Source§impl Clone for InitializeResponse
 
impl Clone for InitializeResponse
Source§fn clone(&self) -> InitializeResponse
 
fn clone(&self) -> InitializeResponse
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 InitializeResponse
 
impl Debug for InitializeResponse
Source§impl<'de> Deserialize<'de> for InitializeResponse
 
impl<'de> Deserialize<'de> for InitializeResponse
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 InitializeResponse
 
impl PartialEq for InitializeResponse
Source§impl Serialize for InitializeResponse
 
impl Serialize for InitializeResponse
impl Eq for InitializeResponse
impl StructuralPartialEq for InitializeResponse
Auto Trait Implementations§
impl Freeze for InitializeResponse
impl RefUnwindSafe for InitializeResponse
impl Send for InitializeResponse
impl Sync for InitializeResponse
impl Unpin for InitializeResponse
impl UnwindSafe for InitializeResponse
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.