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.