pub struct McpSession {
pub id: String,
pub preferences: SessionPreferences,
pub project_path: PathBuf,
pub negotiated: bool,
pub started_at: SystemTime,
}Expand description
MCP Session Context
Fields§
§id: StringUnique session ID
preferences: SessionPreferencesNegotiated preferences
project_path: PathBufProject context path (inferred or explicit)
negotiated: boolWhether negotiation is complete
started_at: SystemTimeSession start time
Implementations§
Source§impl McpSession
impl McpSession
Sourcepub fn from_context(initial_path: Option<PathBuf>) -> Self
pub fn from_context(initial_path: Option<PathBuf>) -> Self
Create session from initial context
Sourcepub fn negotiate(
&mut self,
client_prefs: Option<SessionPreferences>,
) -> NegotiationResponse
pub fn negotiate( &mut self, client_prefs: Option<SessionPreferences>, ) -> NegotiationResponse
Negotiate compression with client
Sourcepub fn get_available_tools(&self) -> Vec<String>
pub fn get_available_tools(&self) -> Vec<String>
Get tools to advertise based on preferences
Sourcepub fn apply_context(&self, tool_name: &str, params: &mut Value)
pub fn apply_context(&self, tool_name: &str, params: &mut Value)
Apply session context to a tool call
Trait Implementations§
Source§impl Clone for McpSession
impl Clone for McpSession
Source§fn clone(&self) -> McpSession
fn clone(&self) -> McpSession
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 McpSession
impl Debug for McpSession
Auto Trait Implementations§
impl Freeze for McpSession
impl RefUnwindSafe for McpSession
impl Send for McpSession
impl Sync for McpSession
impl Unpin for McpSession
impl UnsafeUnpin for McpSession
impl UnwindSafe for McpSession
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<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more