pub struct HortoMcp {
settings: Arc<McpSettings>,
}Expand description
MCP server handle.
Fields§
§settings: Arc<McpSettings>Implementations§
Source§impl HortoMcp
impl HortoMcp
Sourcepub fn new(settings: McpSettings) -> Self
pub fn new(settings: McpSettings) -> Self
Build from settings.
fn settings(&self) -> Arc<McpSettings>
Source§impl HortoMcp
impl HortoMcp
Sourcepub fn health_tool_attr() -> Tool
pub fn health_tool_attr() -> Tool
Generated tool metadata function for health
Sourcefn health(
&self,
) -> Pin<Box<dyn Future<Output = Result<CallToolResult, McpError>> + Send + '_>>
fn health( &self, ) -> Pin<Box<dyn Future<Output = Result<CallToolResult, McpError>> + Send + '_>>
GET /health on the status API.
Sourcepub fn get_status_tool_attr() -> Tool
pub fn get_status_tool_attr() -> Tool
Generated tool metadata function for get_status
Sourcefn get_status(
&self,
) -> Pin<Box<dyn Future<Output = Result<CallToolResult, McpError>> + Send + '_>>
fn get_status( &self, ) -> Pin<Box<dyn Future<Output = Result<CallToolResult, McpError>> + Send + '_>>
GET /v1/status (bearer when token set).
Sourcepub fn backup_etc_tool_attr() -> Tool
pub fn backup_etc_tool_attr() -> Tool
Generated tool metadata function for backup_etc
Sourcefn backup_etc(
&self,
Parameters: Parameters<BackupEtcArgs>,
) -> Pin<Box<dyn Future<Output = Result<CallToolResult, McpError>> + Send + '_>>
fn backup_etc( &self, Parameters: Parameters<BackupEtcArgs>, ) -> Pin<Box<dyn Future<Output = Result<CallToolResult, McpError>> + Send + '_>>
Confirmed timestamped /etc backup via status-api.
Sourcepub fn remote_probe_tool_attr() -> Tool
pub fn remote_probe_tool_attr() -> Tool
Generated tool metadata function for remote_probe
Sourcefn remote_probe(
&self,
) -> Pin<Box<dyn Future<Output = Result<CallToolResult, McpError>> + Send + '_>>
fn remote_probe( &self, ) -> Pin<Box<dyn Future<Output = Result<CallToolResult, McpError>> + Send + '_>>
Probe remote box arch (PC mode only).
Sourcepub fn setup_status_tool_attr() -> Tool
pub fn setup_status_tool_attr() -> Tool
Generated tool metadata function for setup_status
Sourcefn setup_status(
&self,
Parameters: Parameters<SetupRunArgs>,
) -> Pin<Box<dyn Future<Output = Result<CallToolResult, McpError>> + Send + '_>>
fn setup_status( &self, Parameters: Parameters<SetupRunArgs>, ) -> Pin<Box<dyn Future<Output = Result<CallToolResult, McpError>> + Send + '_>>
Setup status (remote SSH or embedded).
Sourcepub fn setup_run_tool_attr() -> Tool
pub fn setup_run_tool_attr() -> Tool
Generated tool metadata function for setup_run
Sourcefn setup_run(
&self,
Parameters: Parameters<SetupRunArgs>,
) -> Pin<Box<dyn Future<Output = Result<CallToolResult, McpError>> + Send + '_>>
fn setup_run( &self, Parameters: Parameters<SetupRunArgs>, ) -> Pin<Box<dyn Future<Output = Result<CallToolResult, McpError>> + Send + '_>>
Full or minimal setup run.
Sourcepub fn setup_step_tool_attr() -> Tool
pub fn setup_step_tool_attr() -> Tool
Generated tool metadata function for setup_step
Sourcefn setup_step(
&self,
Parameters: Parameters<SetupStepArgs>,
) -> Pin<Box<dyn Future<Output = Result<CallToolResult, McpError>> + Send + '_>>
fn setup_step( &self, Parameters: Parameters<SetupStepArgs>, ) -> Pin<Box<dyn Future<Output = Result<CallToolResult, McpError>> + Send + '_>>
Single setup step.
Sourcepub fn doctor_tool_attr() -> Tool
pub fn doctor_tool_attr() -> Tool
Generated tool metadata function for doctor
Sourcefn doctor(
&self,
) -> Pin<Box<dyn Future<Output = Result<CallToolResult, McpError>> + Send + '_>>
fn doctor( &self, ) -> Pin<Box<dyn Future<Output = Result<CallToolResult, McpError>> + Send + '_>>
Doctor report.
Sourcepub fn docker_status_tool_attr() -> Tool
pub fn docker_status_tool_attr() -> Tool
Generated tool metadata function for docker_status
Sourcefn docker_status(
&self,
) -> Pin<Box<dyn Future<Output = Result<CallToolResult, McpError>> + Send + '_>>
fn docker_status( &self, ) -> Pin<Box<dyn Future<Output = Result<CallToolResult, McpError>> + Send + '_>>
Docker container list / status.
Sourcepub fn docker_rebuild_tool_attr() -> Tool
pub fn docker_rebuild_tool_attr() -> Tool
Generated tool metadata function for docker_rebuild
Sourcefn docker_rebuild(
&self,
Parameters: Parameters<DockerRebuildArgs>,
) -> Pin<Box<dyn Future<Output = Result<CallToolResult, McpError>> + Send + '_>>
fn docker_rebuild( &self, Parameters: Parameters<DockerRebuildArgs>, ) -> Pin<Box<dyn Future<Output = Result<CallToolResult, McpError>> + Send + '_>>
Docker compose rebuild (confirm docker-rebuild).
Sourcepub fn backup_list_tool_attr() -> Tool
pub fn backup_list_tool_attr() -> Tool
Generated tool metadata function for backup_list
Sourcefn backup_list(
&self,
) -> Pin<Box<dyn Future<Output = Result<CallToolResult, McpError>> + Send + '_>>
fn backup_list( &self, ) -> Pin<Box<dyn Future<Output = Result<CallToolResult, McpError>> + Send + '_>>
List timestamped /etc backups.
Sourcepub fn backup_disk_status_tool_attr() -> Tool
pub fn backup_disk_status_tool_attr() -> Tool
Generated tool metadata function for backup_disk_status
Sourcefn backup_disk_status(
&self,
) -> Pin<Box<dyn Future<Output = Result<CallToolResult, McpError>> + Send + '_>>
fn backup_disk_status( &self, ) -> Pin<Box<dyn Future<Output = Result<CallToolResult, McpError>> + Send + '_>>
Disk backup probe / status.
fn tool_router() -> ToolRouter<Self>
Trait Implementations§
Source§impl ServerHandler for HortoMcp
impl ServerHandler for HortoMcp
fn get_info(&self) -> ServerConfig
Source§async fn call_tool(
&self,
request: CallToolRequestParams,
context: RequestContext<RoleServer>,
) -> Result<CallToolResponse, ErrorData>
async fn call_tool( &self, request: CallToolRequestParams, context: RequestContext<RoleServer>, ) -> Result<CallToolResponse, ErrorData>
tools/call request from a client. Read moreasync fn list_tools( &self, _request: Option<PaginatedRequestParams>, context: RequestContext<RoleServer>, ) -> Result<ListToolsResult, ErrorData>
fn ping( &self, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<(), ErrorData>> + MaybeSendFuture
fn initialize( &self, request: InitializeRequestParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<InitializeResult, ErrorData>> + MaybeSendFuture
§fn negotiate_initialize(
&self,
request: &InitializeRequestParams,
) -> Result<InitializeResult, ErrorData>
fn negotiate_initialize( &self, request: &InitializeRequestParams, ) -> Result<InitializeResult, ErrorData>
initialize response for request, negotiating the
protocol version against [Self::supported_protocol_versions]. Read more§fn supported_protocol_versions(&self) -> Cow<'static, [ProtocolVersion]>
fn supported_protocol_versions(&self) -> Cow<'static, [ProtocolVersion]>
§fn discover(
&self,
context: RequestContext<RoleServer>,
) -> impl Future<Output = Result<DiscoverResult, ErrorData>> + MaybeSendFuture
fn discover( &self, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<DiscoverResult, ErrorData>> + MaybeSendFuture
fn complete( &self, request: CompleteRequestParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<CompleteResult, ErrorData>> + MaybeSendFuture
fn set_level( &self, request: SetLevelRequestParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<(), ErrorData>> + MaybeSendFuture
fn get_prompt( &self, request: GetPromptRequestParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<GetPromptResponse, ErrorData>> + MaybeSendFuture
fn list_prompts( &self, request: Option<PaginatedRequestParams>, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<ListPromptsResult, ErrorData>> + MaybeSendFuture
fn list_resources( &self, request: Option<PaginatedRequestParams>, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<ListResourcesResult, ErrorData>> + MaybeSendFuture
fn list_resource_templates( &self, request: Option<PaginatedRequestParams>, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<ListResourceTemplatesResult, ErrorData>> + MaybeSendFuture
fn read_resource( &self, request: ReadResourceRequestParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<ReadResourceResponse, ErrorData>> + MaybeSendFuture
§fn accepted_subscription_filter(
&self,
requested: &SubscriptionFilter,
) -> Option<SubscriptionFilter>
fn accepted_subscription_filter( &self, requested: &SubscriptionFilter, ) -> Option<SubscriptionFilter>
§fn listen(
&self,
context: SubscriptionContext,
) -> impl Future<Output = Result<(), ErrorData>> + MaybeSendFuture
fn listen( &self, context: SubscriptionContext, ) -> impl Future<Output = Result<(), ErrorData>> + MaybeSendFuture
§fn subscribe(
&self,
request: SubscribeRequestParams,
context: RequestContext<RoleServer>,
) -> impl Future<Output = Result<(), ErrorData>> + MaybeSendFuture
fn subscribe( &self, request: SubscribeRequestParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<(), ErrorData>> + MaybeSendFuture
resources/subscribe is legacy-only; implement accepted_subscription_filter and listen for protocol version 2026-07-28
§fn unsubscribe(
&self,
request: UnsubscribeRequestParams,
context: RequestContext<RoleServer>,
) -> impl Future<Output = Result<(), ErrorData>> + MaybeSendFuture
fn unsubscribe( &self, request: UnsubscribeRequestParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<(), ErrorData>> + MaybeSendFuture
resources/unsubscribe is legacy-only; subscriptions/listen is cancelled through its request lifecycle
fn on_custom_request( &self, request: CustomRequest, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<CustomResult, ErrorData>> + MaybeSendFuture
fn on_cancelled( &self, notification: CancelledNotificationParam, context: NotificationContext<RoleServer>, ) -> impl Future<Output = ()> + MaybeSendFuture
fn on_progress( &self, notification: ProgressNotificationParam, context: NotificationContext<RoleServer>, ) -> impl Future<Output = ()> + MaybeSendFuture
fn on_initialized( &self, context: NotificationContext<RoleServer>, ) -> impl Future<Output = ()> + MaybeSendFuture
fn on_roots_list_changed( &self, context: NotificationContext<RoleServer>, ) -> impl Future<Output = ()> + MaybeSendFuture
fn on_custom_notification( &self, notification: CustomNotification, context: NotificationContext<RoleServer>, ) -> impl Future<Output = ()> + MaybeSendFuture
§fn get_task(
&self,
request: GetTaskParams,
context: RequestContext<RoleServer>,
) -> impl Future<Output = Result<GetTaskResult, ErrorData>> + MaybeSendFuture
fn get_task( &self, request: GetTaskParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<GetTaskResult, ErrorData>> + MaybeSendFuture
tasks/get: return the current [DetailedTask] state.§fn update_task(
&self,
request: UpdateTaskParams,
context: RequestContext<RoleServer>,
) -> impl Future<Output = Result<(), ErrorData>> + MaybeSendFuture
fn update_task( &self, request: UpdateTaskParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<(), ErrorData>> + MaybeSendFuture
tasks/update: accept responses to outstanding in-task
input requests. Returns an empty acknowledgement on success.§fn cancel_task(
&self,
request: CancelTaskParams,
context: RequestContext<RoleServer>,
) -> impl Future<Output = Result<(), ErrorData>> + MaybeSendFuture
fn cancel_task( &self, request: CancelTaskParams, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<(), ErrorData>> + MaybeSendFuture
tasks/cancel: cooperative cancellation. Returns an empty
acknowledgement; the task’s observable status may lag.Auto Trait Implementations§
impl Freeze for HortoMcp
impl RefUnwindSafe for HortoMcp
impl Send for HortoMcp
impl Sync for HortoMcp
impl Unpin for HortoMcp
impl UnsafeUnpin for HortoMcp
impl UnwindSafe for HortoMcp
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<R, S> DynService<R> for Swhere
R: ServiceRole,
S: Service<R>,
impl<R, S> DynService<R> for Swhere
R: ServiceRole,
S: Service<R>,
fn handle_request( &self, request: <R as ServiceRole>::PeerReq, context: RequestContext<R>, ) -> Pin<Box<dyn Future<Output = Result<<R as ServiceRole>::Resp, ErrorData>> + Send + '_>>
fn handle_notification( &self, notification: <R as ServiceRole>::PeerNot, context: NotificationContext<R>, ) -> Pin<Box<dyn Future<Output = Result<(), ErrorData>> + Send + '_>>
fn get_info(&self) -> <R as ServiceRole>::Info
§fn supported_protocol_versions(&self) -> Cow<'static, [ProtocolVersion]>
fn supported_protocol_versions(&self) -> Cow<'static, [ProtocolVersion]>
Service::supported_protocol_versions].impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<H> Service<RoleServer> for Hwhere
H: ServerHandler,
impl<H> Service<RoleServer> for Hwhere
H: ServerHandler,
async fn handle_request( &self, request: <RoleServer as ServiceRole>::PeerReq, context: RequestContext<RoleServer>, ) -> Result<<RoleServer as ServiceRole>::Resp, ErrorData>
async fn handle_notification( &self, notification: <RoleServer as ServiceRole>::PeerNot, context: NotificationContext<RoleServer>, ) -> Result<(), ErrorData>
fn get_info(&self) -> <RoleServer as ServiceRole>::Info
§fn supported_protocol_versions(&self) -> Cow<'static, [ProtocolVersion]>
fn supported_protocol_versions(&self) -> Cow<'static, [ProtocolVersion]>
initialize
negotiation may agree to. Read more