pub struct McpClientManager { /* private fields */ }Expand description
Manages multiple MCP client connections.
Creates and holds McpClient instances for each configured MCP server.
Provides methods to register all tools from all connected servers into a
ToolRegistry, and to access individual clients by name.
Implementations§
Source§impl McpClientManager
impl McpClientManager
Sourcepub async fn from_config(config: &McpConfig) -> Self
pub async fn from_config(config: &McpConfig) -> Self
Create and connect clients from config
Sourcepub fn add_client(&mut self, name: String, client: Arc<RwLock<McpClient>>)
pub fn add_client(&mut self, name: String, client: Arc<RwLock<McpClient>>)
Add a single client (e.g., from CLI –mcp-command)
Sourcepub async fn register_all_tools(&self, registry: &mut ToolRegistry) -> usize
pub async fn register_all_tools(&self, registry: &mut ToolRegistry) -> usize
Register all tools from all connected MCP servers into a ToolRegistry
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for McpClientManager
impl !UnwindSafe for McpClientManager
impl Freeze for McpClientManager
impl Send for McpClientManager
impl Sync for McpClientManager
impl Unpin for McpClientManager
impl UnsafeUnpin for McpClientManager
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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>
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> 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::Request