pub struct Server {
pub openapi_spec: Value,
pub tool_collection: ToolCollection,
pub base_url: Url,
pub default_headers: Option<HeaderMap>,
pub tag_filter: Option<Vec<String>>,
pub method_filter: Option<Vec<Method>>,
}Fields§
§openapi_spec: Value§tool_collection: ToolCollection§base_url: Url§default_headers: Option<HeaderMap>§tag_filter: Option<Vec<String>>§method_filter: Option<Vec<Method>>Implementations§
Source§impl Server
impl Server
Sourcepub fn builder() -> ServerBuilder
pub fn builder() -> ServerBuilder
Create an instance of Server using the builder syntax
Source§impl Server
impl Server
Sourcepub fn new(
openapi_spec: Value,
base_url: Url,
default_headers: Option<HeaderMap>,
tag_filter: Option<Vec<String>>,
method_filter: Option<Vec<Method>>,
) -> Self
pub fn new( openapi_spec: Value, base_url: Url, default_headers: Option<HeaderMap>, tag_filter: Option<Vec<String>>, method_filter: Option<Vec<Method>>, ) -> Self
Create a new Server instance with required parameters
Sourcepub fn load_openapi_spec(&mut self) -> Result<(), Error>
pub fn load_openapi_spec(&mut self) -> Result<(), Error>
Parse the OpenAPI specification and convert to OpenApiTool instances
§Errors
Returns an error if the spec cannot be parsed or tools cannot be generated
Sourcepub fn tool_count(&self) -> usize
pub fn tool_count(&self) -> usize
Get the number of loaded tools
Sourcepub fn get_tool_names(&self) -> Vec<String>
pub fn get_tool_names(&self) -> Vec<String>
Get all tool names
Sourcepub fn get_tool_metadata(&self, name: &str) -> Option<&ToolMetadata>
pub fn get_tool_metadata(&self, name: &str) -> Option<&ToolMetadata>
Get tool metadata by name
Sourcepub fn get_tool_stats(&self) -> String
pub fn get_tool_stats(&self) -> String
Get basic tool statistics
Trait Implementations§
Source§impl ServerHandler for Server
impl ServerHandler for Server
fn get_info(&self) -> InitializeResult
async fn list_tools( &self, _request: Option<PaginatedRequestParam>, _context: RequestContext<RoleServer>, ) -> Result<ListToolsResult, ErrorData>
async fn call_tool( &self, request: CallToolRequestParam, _context: RequestContext<RoleServer>, ) -> Result<CallToolResult, ErrorData>
fn ping( &self, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<(), ErrorData>> + Send
fn initialize( &self, request: InitializeRequestParam, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<InitializeResult, ErrorData>> + Send
fn complete( &self, request: CompleteRequestParam, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<CompleteResult, ErrorData>> + Send
fn set_level( &self, request: SetLevelRequestParam, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<(), ErrorData>> + Send
fn get_prompt( &self, request: GetPromptRequestParam, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<GetPromptResult, ErrorData>> + Send
fn list_prompts( &self, request: Option<PaginatedRequestParam>, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<ListPromptsResult, ErrorData>> + Send
fn list_resources( &self, request: Option<PaginatedRequestParam>, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<ListResourcesResult, ErrorData>> + Send
fn list_resource_templates( &self, request: Option<PaginatedRequestParam>, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<ListResourceTemplatesResult, ErrorData>> + Send
fn read_resource( &self, request: ReadResourceRequestParam, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<ReadResourceResult, ErrorData>> + Send
fn subscribe( &self, request: SubscribeRequestParam, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<(), ErrorData>> + Send
fn unsubscribe( &self, request: UnsubscribeRequestParam, context: RequestContext<RoleServer>, ) -> impl Future<Output = Result<(), ErrorData>> + Send
fn on_cancelled( &self, notification: CancelledNotificationParam, context: NotificationContext<RoleServer>, ) -> impl Future<Output = ()> + Send
fn on_progress( &self, notification: ProgressNotificationParam, context: NotificationContext<RoleServer>, ) -> impl Future<Output = ()> + Send
fn on_initialized( &self, context: NotificationContext<RoleServer>, ) -> impl Future<Output = ()> + Send
fn on_roots_list_changed( &self, context: NotificationContext<RoleServer>, ) -> impl Future<Output = ()> + Send
Auto Trait Implementations§
impl Freeze for Server
impl !RefUnwindSafe for Server
impl Send for Server
impl Sync for Server
impl Unpin for Server
impl !UnwindSafe for Server
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§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
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> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§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
Source§impl<S> ServiceExt<RoleServer> for Swhere
S: Service<RoleServer>,
impl<S> ServiceExt<RoleServer> for Swhere
S: Service<RoleServer>,
fn serve_with_ct<T, E, A>( self, transport: T, ct: CancellationToken, ) -> impl Future<Output = Result<RunningService<RoleServer, S>, ServerInitializeError>> + Send
Source§fn into_dyn(self) -> Box<dyn DynService<R>>
fn into_dyn(self) -> Box<dyn DynService<R>>
Convert this service to a dynamic boxed service Read more