pub struct MCPServerManager { /* private fields */ }Expand description
MCP服务器管理器 / MCP server manager
Implementations§
Source§impl MCPServerManager
impl MCPServerManager
Sourcepub fn with_config(
health_check_config: HealthCheckConfig,
reconnect_policy: ReconnectPolicy,
) -> Self
pub fn with_config( health_check_config: HealthCheckConfig, reconnect_policy: ReconnectPolicy, ) -> Self
使用自定义配置创建管理器 / Create manager with custom configuration
Sourcepub fn get_state_notifier(&self) -> Receiver<ManagerState>
pub fn get_state_notifier(&self) -> Receiver<ManagerState>
获取状态通知器 / Get state notifier
Sourcepub async fn initialize(
&self,
servers: Vec<MCPServerConfig>,
) -> Result<(), ComputerError>
pub async fn initialize( &self, servers: Vec<MCPServerConfig>, ) -> Result<(), ComputerError>
初始化管理器 / Initialize manager
Sourcepub async fn add_or_update_server(
&self,
config: MCPServerConfig,
) -> Result<(), ComputerError>
pub async fn add_or_update_server( &self, config: MCPServerConfig, ) -> Result<(), ComputerError>
添加或更新服务器配置 / Add or update server configuration
Sourcepub async fn remove_server(
&self,
server_name: &str,
) -> Result<(), ComputerError>
pub async fn remove_server( &self, server_name: &str, ) -> Result<(), ComputerError>
移除服务器配置 / Remove server configuration
Sourcepub async fn start_all(&self) -> Result<(), ComputerError>
pub async fn start_all(&self) -> Result<(), ComputerError>
启动所有启用的服务器 / Start all enabled servers
Sourcepub async fn start_client(&self, server_name: &str) -> Result<(), ComputerError>
pub async fn start_client(&self, server_name: &str) -> Result<(), ComputerError>
启动单个客户端 / Start single client
Sourcepub async fn stop_client(&self, server_name: &str) -> Result<(), ComputerError>
pub async fn stop_client(&self, server_name: &str) -> Result<(), ComputerError>
停止单个客户端 / Stop single client
Sourcepub async fn stop_all(&self) -> Result<(), ComputerError>
pub async fn stop_all(&self) -> Result<(), ComputerError>
停止所有客户端 / Stop all clients
Sourcepub async fn close(&self) -> Result<(), ComputerError>
pub async fn close(&self) -> Result<(), ComputerError>
关闭管理器 / Close manager
Sourcepub async fn validate_tool_call(
&self,
tool_name: &str,
_parameters: &Value,
) -> Result<(ServerName, ToolName), ComputerError>
pub async fn validate_tool_call( &self, tool_name: &str, _parameters: &Value, ) -> Result<(ServerName, ToolName), ComputerError>
验证工具调用 / Validate tool call
Sourcepub async fn call_tool(
&self,
server_name: &str,
tool_name: &str,
parameters: Value,
timeout: Option<Duration>,
) -> Result<CallToolResult, ComputerError>
pub async fn call_tool( &self, server_name: &str, tool_name: &str, parameters: Value, timeout: Option<Duration>, ) -> Result<CallToolResult, ComputerError>
调用工具 / Call tool
Sourcepub async fn execute_tool(
&self,
tool_name: &str,
parameters: Value,
timeout: Option<Duration>,
) -> Result<CallToolResult, ComputerError>
pub async fn execute_tool( &self, tool_name: &str, parameters: Value, timeout: Option<Duration>, ) -> Result<CallToolResult, ComputerError>
执行工具(支持别名) / Execute tool (supports alias)
Sourcepub async fn get_server_status(&self) -> Vec<(String, bool, String)>
pub async fn get_server_status(&self) -> Vec<(String, bool, String)>
获取服务器状态列表 / Get server status list
Sourcepub async fn get_server_configs(&self) -> Value
pub async fn get_server_configs(&self) -> Value
获取所有服务器配置(用于 GetComputerConfigRet) Get all server configurations (for GetComputerConfigRet) 返回格式:{ server_name: { type, status, disabled, … } } Returns format: { server_name: { type, status, disabled, … } }
Sourcepub async fn list_available_tools(&self) -> Vec<Tool>
pub async fn list_available_tools(&self) -> Vec<Tool>
获取可用工具列表 / Get available tools list
Sourcepub async fn enable_auto_connect(&self)
pub async fn enable_auto_connect(&self)
启用自动连接 / Enable auto connect
Sourcepub async fn disable_auto_connect(&self)
pub async fn disable_auto_connect(&self)
禁用自动连接 / Disable auto connect
Sourcepub async fn enable_auto_reconnect(&self)
pub async fn enable_auto_reconnect(&self)
启用自动重连 / Enable auto reconnect
Sourcepub async fn disable_auto_reconnect(&self)
pub async fn disable_auto_reconnect(&self)
禁用自动重连 / Disable auto reconnect
Sourcepub async fn set_health_check_config(&self, config: HealthCheckConfig)
pub async fn set_health_check_config(&self, config: HealthCheckConfig)
设置健康检查配置 / Set health check configuration
Sourcepub async fn get_health_check_config(&self) -> HealthCheckConfig
pub async fn get_health_check_config(&self) -> HealthCheckConfig
获取健康检查配置 / Get health check configuration
Sourcepub async fn set_reconnect_policy(&self, policy: ReconnectPolicy)
pub async fn set_reconnect_policy(&self, policy: ReconnectPolicy)
设置重连策略 / Set reconnect policy
Sourcepub async fn get_reconnect_policy(&self) -> ReconnectPolicy
pub async fn get_reconnect_policy(&self) -> ReconnectPolicy
获取重连策略 / Get reconnect policy
Sourcepub async fn start_health_monitor(&self)
pub async fn start_health_monitor(&self)
启动健康监控 / Start health monitoring 定期检查所有活动客户端的健康状态,并在检测到故障时自动重连 Periodically checks health of all active clients and auto-reconnects on failure
Sourcepub async fn stop_health_monitor(&self)
pub async fn stop_health_monitor(&self)
停止健康监控 / Stop health monitoring
Sourcepub async fn check_server_health(
&self,
server_name: &str,
) -> Option<HealthCheckResult>
pub async fn check_server_health( &self, server_name: &str, ) -> Option<HealthCheckResult>
检查单个服务器的健康状态 / Check health of a single server
Sourcepub async fn check_all_health(&self) -> HashMap<String, HealthCheckResult>
pub async fn check_all_health(&self) -> HashMap<String, HealthCheckResult>
检查所有服务器的健康状态 / Check health of all servers
Sourcepub async fn get_retry_counts(&self) -> HashMap<String, u32>
pub async fn get_retry_counts(&self) -> HashMap<String, u32>
获取重试计数 / Get retry counts
Sourcepub async fn reset_retry_count(&self, server_name: &str)
pub async fn reset_retry_count(&self, server_name: &str)
重置特定服务器的重试计数 / Reset retry count for a specific server
Sourcepub async fn reset_all_retry_counts(&self)
pub async fn reset_all_retry_counts(&self)
重置所有重试计数 / Reset all retry counts
Trait Implementations§
Auto Trait Implementations§
impl Freeze for MCPServerManager
impl !RefUnwindSafe for MCPServerManager
impl Send for MCPServerManager
impl Sync for MCPServerManager
impl Unpin for MCPServerManager
impl UnsafeUnpin for MCPServerManager
impl !UnwindSafe for MCPServerManager
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
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>
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>
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