Skip to content

Commit 6ec6157

Browse files
committed
Added Grpc Extensions Library
1 parent 6ede4a2 commit 6ec6157

3 files changed

Lines changed: 30 additions & 0 deletions

File tree

src/http/start_up.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ pub async fn start(app: &Arc<AppContext>) {
3232
.await;
3333
mcp.register_resource(Arc::new(MyNoSqlEntityPatternsResource))
3434
.await;
35+
mcp.register_resource(Arc::new(MyGrpcExtensionsResource))
36+
.await;
3537
mcp.register_resource(Arc::new(CiUtilsResource)).await;
3638
mcp.register_resource(Arc::new(MyPostgresResource)).await;
3739

src/mcp/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ mod dioxus_fullstack_patterns_resource;
2121
pub use dioxus_fullstack_patterns_resource::*;
2222
mod my_no_sql_entity_patterns_resource;
2323
pub use my_no_sql_entity_patterns_resource::*;
24+
mod my_grpc_extensions_resource;
25+
#[allow(unused_imports)]
26+
pub use my_grpc_extensions_resource::*;
2427
mod ci_utils_resource;
2528
pub use ci_utils_resource::*;
2629
mod my_postgres_resource;
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 MyGrpcExtensionsResource;
5+
6+
impl ResourceDefinition for MyGrpcExtensionsResource {
7+
const RESOURCE_URI: &'static str = "resource://my-grpc-extensions.md";
8+
const RESOURCE_NAME: &'static str = "Grpc extensions";
9+
const DESCRIPTION: &'static str = "Utilities and macros for building gRPC clients and servers";
10+
const MIME_TYPE: &'static str = "text/markdown";
11+
}
12+
13+
#[async_trait::async_trait]
14+
impl McpResourceService for MyGrpcExtensionsResource {
15+
async fn read_resource(&self, uri: &str) -> Result<ResourceReadResult, String> {
16+
if uri != Self::RESOURCE_URI {
17+
return Err(format!("Unknown resource URI: {}", uri));
18+
}
19+
20+
const README_URL: &str =
21+
"https://raw.githubusercontent.com/MyJetTools/my-grpc-extensions/main/README.md";
22+
23+
load_resource_by_http(Self::RESOURCE_URI, Self::MIME_TYPE, README_URL).await
24+
}
25+
}

0 commit comments

Comments
 (0)