Skip to content

Commit f1d81b3

Browse files
committed
Added new resource
1 parent 9a6d497 commit f1d81b3

3 files changed

Lines changed: 29 additions & 0 deletions

File tree

src/http/start_up.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ pub async fn start(app: &Arc<AppContext>) {
2828
mcp.register_resource(Arc::new(MyTcpSocketsResource)).await;
2929
mcp.register_resource(Arc::new(RustExtensionsResource))
3030
.await;
31+
mcp.register_resource(Arc::new(DioxusFullstackPatternsResource))
32+
.await;
3133
mcp.register_resource(Arc::new(CiUtilsResource)).await;
3234
mcp.register_resource(Arc::new(MyPostgresResource)).await;
3335

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
use crate::mcp::scripts::load_resource_by_http;
2+
use mcp_server_middleware::*;
3+
4+
pub struct DioxusFullstackPatternsResource;
5+
6+
impl ResourceDefinition for DioxusFullstackPatternsResource {
7+
const RESOURCE_URI: &'static str = "resource://dioxus-fullstack-design-patterns";
8+
const RESOURCE_NAME: &'static str = "Dioxus Fullstack Design Patterns";
9+
const DESCRIPTION: &'static str =
10+
"Project playbook for dialogs, forms, lists, and server functions";
11+
const MIME_TYPE: &'static str = "text/markdown";
12+
}
13+
14+
#[async_trait::async_trait]
15+
impl McpResourceService for DioxusFullstackPatternsResource {
16+
async fn read_resource(&self, uri: &str) -> Result<ResourceReadResult, String> {
17+
if uri != Self::RESOURCE_URI {
18+
return Err(format!("Unknown resource URI: {}", uri));
19+
}
20+
21+
const README_URL: &str = "https://raw.githubusercontent.com/MyJetTools/development-mcp/main/docs/DIOXUS_FULLSTACK_DESIGN_PATTERS.md";
22+
23+
load_resource_by_http(Self::RESOURCE_URI, Self::MIME_TYPE, README_URL).await
24+
}
25+
}

src/mcp/mod.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ mod my_tcp_sockets_resource;
1717
pub use my_tcp_sockets_resource::*;
1818
mod rust_extensions_resource;
1919
pub use rust_extensions_resource::*;
20+
mod dioxus_fullstack_patterns_resource;
21+
pub use dioxus_fullstack_patterns_resource::*;
2022
mod ci_utils_resource;
2123
pub use ci_utils_resource::*;
2224
mod my_postgres_resource;

0 commit comments

Comments
 (0)