pub struct McpConnection { /* private fields */ }Implementations§
Source§impl McpConnection
impl McpConnection
Sourcepub async fn connect_with_policy(
name: String,
config: McpServerConfig,
global_timeouts: &McpTimeouts,
network_policy: Option<&NetworkPolicyDecider>,
) -> Result<McpConnection, Error>
pub async fn connect_with_policy( name: String, config: McpServerConfig, global_timeouts: &McpTimeouts, network_policy: Option<&NetworkPolicyDecider>, ) -> Result<McpConnection, Error>
Connect to an MCP server and initialize it.
network_policy (added in v0.7.0 for #135) is consulted for HTTP/SSE
transports only — STDIO transports are unaffected. Pass None to
match pre-v0.7.0 permissive behavior.
Sourcepub async fn call_tool(
&mut self,
tool_name: &str,
arguments: Value,
timeout_secs: u64,
) -> Result<Value, Error>
pub async fn call_tool( &mut self, tool_name: &str, arguments: Value, timeout_secs: u64, ) -> Result<Value, Error>
Call a tool on this MCP server
Sourcepub async fn read_resource(
&mut self,
uri: &str,
timeout_secs: u64,
) -> Result<Value, Error>
pub async fn read_resource( &mut self, uri: &str, timeout_secs: u64, ) -> Result<Value, Error>
Read a resource from this MCP server
Sourcepub async fn get_prompt(
&mut self,
prompt_name: &str,
arguments: Value,
timeout_secs: u64,
) -> Result<Value, Error>
pub async fn get_prompt( &mut self, prompt_name: &str, arguments: Value, timeout_secs: u64, ) -> Result<Value, Error>
Get a prompt from this MCP server
Sourcepub fn resources(&self) -> &[McpResource]
pub fn resources(&self) -> &[McpResource]
Get discovered resources
Sourcepub fn resource_templates(&self) -> &[McpResourceTemplate]
pub fn resource_templates(&self) -> &[McpResourceTemplate]
Get discovered resource templates
Sourcepub fn config(&self) -> &McpServerConfig
pub fn config(&self) -> &McpServerConfig
Get server config
Sourcepub fn state(&self) -> ConnectionState
pub fn state(&self) -> ConnectionState
Get connection state
Trait Implementations§
Source§impl Drop for McpConnection
impl Drop for McpConnection
Auto Trait Implementations§
impl !Freeze for McpConnection
impl !RefUnwindSafe for McpConnection
impl !UnwindSafe for McpConnection
impl Send for McpConnection
impl Sync for McpConnection
impl Unpin for McpConnection
impl UnsafeUnpin for McpConnection
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> 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