pub struct McpBinding { /* private fields */ }Expand description
The exact tool catalog and execution handles for one model sampling request.
Implementations§
Source§impl McpBinding
impl McpBinding
Sourcepub fn empty(config: Arc<McpConfig>) -> Self
pub fn empty(config: Arc<McpConfig>) -> Self
Creates an empty binding for tests and callers without a materialized runtime.
pub fn config(&self) -> &Arc<McpConfig> ⓘ
pub fn plugins_available(&self) -> bool
Sourcepub fn tools(&self) -> &[ToolInfo]
pub fn tools(&self) -> &[ToolInfo]
Returns the frozen catalog advertised for this sampling request.
Sourcepub fn prepare_call(&self, server: &str, tool: &str) -> Option<PreparedMcpCall>
pub fn prepare_call(&self, server: &str, tool: &str) -> Option<PreparedMcpCall>
Binds a call to the exact client and metadata advertised by this binding.
pub fn has_servers(&self) -> bool
Sourcepub fn resource_client(&self) -> McpResourceClient
pub fn resource_client(&self) -> McpResourceClient
Returns resource access bound to this binding’s exact connection set.
pub async fn list_resources( &self, server: &str, params: Option<PaginatedRequestParams>, ) -> Result<ListResourcesResult>
pub async fn list_all_resources( &self, include_server: impl Fn(&str) -> bool, ) -> HashMap<String, Vec<Resource>>
pub async fn list_resource_templates( &self, server: &str, params: Option<PaginatedRequestParams>, ) -> Result<ListResourceTemplatesResult>
pub async fn list_all_resource_templates( &self, include_server: impl Fn(&str) -> bool, ) -> HashMap<String, Vec<ResourceTemplate>>
pub async fn read_resource( &self, server: &str, params: ReadResourceRequestParams, ) -> Result<ReadResourceResult>
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for McpBinding
impl !UnwindSafe for McpBinding
impl Freeze for McpBinding
impl Send for McpBinding
impl Sync for McpBinding
impl Unpin for McpBinding
impl UnsafeUnpin for McpBinding
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<T> AsTypeStaticRegistered for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
impl<T> HasTyVTable for Twhere
T: ?Sized,
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestCreates a shared type from an unshared type.