pub struct Resource {
pub uri: String,
pub name: String,
pub title: Option<String>,
pub description: Option<String>,
pub mime_type: Option<String>,
pub annotations: Option<Annotations>,
pub icons: Option<Vec<Icon>>,
pub raw: Option<RawResource>,
pub _meta: Option<ResourceMeta>,
}Expand description
Resource definition
Fields§
§uri: String§name: String§title: Option<String>§description: Option<String>§mime_type: Option<String>§annotations: Option<Annotations>§icons: Option<Vec<Icon>>§raw: Option<RawResource>§_meta: Option<ResourceMeta>UI-specific metadata (MCP Apps Extension)
Implementations§
Source§impl Resource
impl Resource
Sourcepub fn ui_resource(
uri: impl Into<String>,
name: impl Into<String>,
description: impl Into<String>,
) -> Self
pub fn ui_resource( uri: impl Into<String>, name: impl Into<String>, description: impl Into<String>, ) -> Self
Create a UI resource for interactive interfaces (MCP Apps Extension)
This creates a resource with the text/html+mcp MIME type and ui:// URI scheme,
suitable for embedding interactive HTML interfaces.
§Example
use pulseengine_mcp_protocol::Resource;
let resource = Resource::ui_resource(
"ui://charts/bar-chart",
"Bar Chart Viewer",
"Interactive bar chart visualization",
);Sourcepub fn ui_resource_with_csp(
uri: impl Into<String>,
name: impl Into<String>,
description: impl Into<String>,
csp: CspConfig,
) -> Self
pub fn ui_resource_with_csp( uri: impl Into<String>, name: impl Into<String>, description: impl Into<String>, csp: CspConfig, ) -> Self
Create a UI resource with CSP configuration
Sourcepub fn is_ui_resource(&self) -> bool
pub fn is_ui_resource(&self) -> bool
Check if this resource is a UI resource (has ui:// scheme)
Sourcepub fn uri_scheme(&self) -> Option<&str>
pub fn uri_scheme(&self) -> Option<&str>
Get the URI scheme of this resource (e.g., “ui://”, “file://”, etc.)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Resource
impl<'de> Deserialize<'de> for Resource
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Resource
impl RefUnwindSafe for Resource
impl Send for Resource
impl Sync for Resource
impl Unpin for Resource
impl UnwindSafe for Resource
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