diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..76fd2da --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,21 @@ +### 📌 Summary + + +### 🔍 Related Issues + + +- Fixes # + + +### ✨ Changes Made + + +- Change 1 +- Change 2 +- Change 3 + +### 🛠️ Testing Steps + + +### 💡 Additional Notes + diff --git a/README.md b/README.md index 3c7c0f7..d61df38 100644 --- a/README.md +++ b/README.md @@ -207,7 +207,7 @@ Here is the output : The same principles outlined above apply to the client-side handlers, `mcp_client_handler` and `mcp_client_handler_core`. Use `client_runtime::create_client()` or `client_runtime_core::create_client()` , respectively. -Check out the corresponding examples at: [examples/simple-mcp-client](https://github.com/rust-mcp-stack/rust-mcp-sdk/tree/main/examples/simple-mcp-client) and [examples/hello-world-mcp-server-core](https://github.com/rust-mcp-stack/rust-mcp-sdk/tree/main/examples/hello-world-mcp-server-core). +Check out the corresponding examples at: [examples/simple-mcp-client](https://github.com/rust-mcp-stack/rust-mcp-sdk/tree/main/examples/simple-mcp-client) and [examples/simple-mcp-client-core](https://github.com/rust-mcp-stack/rust-mcp-sdk/tree/main/examples/simple-mcp-client-core). ## License diff --git a/crates/rust-mcp-macros/Cargo.toml b/crates/rust-mcp-macros/Cargo.toml index a6a7da2..b610d5a 100644 --- a/crates/rust-mcp-macros/Cargo.toml +++ b/crates/rust-mcp-macros/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" authors = ["Ali Hashemi"] categories = ["data-structures", "parser-implementations", "parsing"] description = "A procedural macro that derives the MCPToolSchema implementation for structs or enums, generating a tool_input_schema function used with rust_mcp_schema::Tool." -repository = "https://github.com/rust-mcp-stack/rust-mcp-macros" +repository = "https://github.com/rust-mcp-stack/rust-mcp-sdk" documentation = "https://docs.rs/rust-mcp-macros" keywords = ["rust-mcp-stack", "model", "context", "protocol", "macros"] license = "MIT" diff --git a/crates/rust-mcp-sdk/README.md b/crates/rust-mcp-sdk/README.md index f779f5b..d61df38 100644 --- a/crates/rust-mcp-sdk/README.md +++ b/crates/rust-mcp-sdk/README.md @@ -102,7 +102,7 @@ impl ServerHandler for MyServerHandler { See hello-world-mcp-server example running in [MCP Inspector](https://modelcontextprotocol.io/docs/tools/inspector) : -![mcp-server in rust](https://github.com/rust-mcp-stack/rust-mcp-sdk/tree/main/assets/examples/hello-world-mcp-server.gif) +![mcp-server in rust](assets/examples/hello-world-mcp-server.gif) --- @@ -207,7 +207,7 @@ Here is the output : The same principles outlined above apply to the client-side handlers, `mcp_client_handler` and `mcp_client_handler_core`. Use `client_runtime::create_client()` or `client_runtime_core::create_client()` , respectively. -Check out the corresponding examples at: [examples/simple-mcp-client](https://github.com/rust-mcp-stack/rust-mcp-sdk/tree/main/examples/simple-mcp-client) and [examples/hello-world-mcp-server-core](https://github.com/rust-mcp-stack/rust-mcp-sdk/tree/main/examples/hello-world-mcp-server-core). +Check out the corresponding examples at: [examples/simple-mcp-client](https://github.com/rust-mcp-stack/rust-mcp-sdk/tree/main/examples/simple-mcp-client) and [examples/simple-mcp-client-core](https://github.com/rust-mcp-stack/rust-mcp-sdk/tree/main/examples/simple-mcp-client-core). ## License diff --git a/crates/rust-mcp-sdk/assets/examples/hello-world-mcp-server.gif b/crates/rust-mcp-sdk/assets/examples/hello-world-mcp-server.gif new file mode 100644 index 0000000..5796d45 Binary files /dev/null and b/crates/rust-mcp-sdk/assets/examples/hello-world-mcp-server.gif differ diff --git a/crates/rust-mcp-sdk/assets/examples/mcp-client-output.jpg b/crates/rust-mcp-sdk/assets/examples/mcp-client-output.jpg new file mode 100644 index 0000000..61d0794 Binary files /dev/null and b/crates/rust-mcp-sdk/assets/examples/mcp-client-output.jpg differ diff --git a/crates/rust-mcp-transport/Cargo.toml b/crates/rust-mcp-transport/Cargo.toml index 2c48b17..b71e9cb 100644 --- a/crates/rust-mcp-transport/Cargo.toml +++ b/crates/rust-mcp-transport/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" authors = ["Ali Hashemi"] categories = ["data-structures"] description = "Transport implementations for the MCP (Model Context Protocol) within the rust-mcp-sdk ecosystem, enabling asynchronous data exchange and efficient message handling between MCP clients and servers." -repository = "https://github.com/rust-mcp-stack/rust-mcp-transport" +repository = "https://github.com/rust-mcp-stack/rust-mcp-sdk" documentation = "https://docs.rs/rust-mcp-transport" keywords = ["rust-mcp-stack", "model", "context", "protocol", "sdk"] license = "MIT" diff --git a/crates/rust-mcp-transport/README.md b/crates/rust-mcp-transport/README.md index d38b794..4aa476b 100644 --- a/crates/rust-mcp-transport/README.md +++ b/crates/rust-mcp-transport/README.md @@ -1,6 +1,6 @@ # rust-mcp-transport. -`rust-mcp-transport` is a part of the [rust-mcp-sdk](https://github.com/rust-mcp-stack/rust-mcp-sdk) ecosystem, offering transport implementations for the MCP (Model Context Protocol). It enables asynchronous data exchange and efficient MCP message handling between MCP Clients and Servers. +`rust-mcp-transport` is a part of the [rust-mcp-sdk](https://crates.io/crates/rust-mcp-sdk) ecosystem, offering transport implementations for the MCP (Model Context Protocol). It enables asynchronous data exchange and efficient MCP message handling between MCP Clients and Servers. **⚠️WARNING**: Currently, only Standard Input/Output (stdio) transport is supported. Server-Sent Events (SSE) transport is under development and will be available soon. @@ -16,7 +16,7 @@ let transport = StdioTransport::new(TransportOptions { timeout: 60_000 })?; ``` -Refer to the [Hello World MCP Server](../../examples/hello-world-mcp-server/) example for a complete demonstration. +Refer to the [Hello World MCP Server](https://github.com/rust-mcp-stack/rust-mcp-sdk/tree/main/examples/hello-world-mcp-server) example for a complete demonstration. ### For MCP Client @@ -53,4 +53,10 @@ let transport = StdioTransport::create_with_server_launch( )?; ``` -Refer to the [Simple MCP Client](../../examples/simple-mcp-client/) example for a complete demonstration. +Refer to the [Simple MCP Client](https://github.com/rust-mcp-stack/rust-mcp-sdk/tree/main/examples/simple-mcp-client) example for a complete demonstration. + +--- + + Check out [rust-mcp-sdk](https://crates.io/crates/rust-mcp-sdk) , a high-performance, asynchronous toolkit for building MCP servers and clients. Focus on your app's logic while [rust-mcp-sdk](https://crates.io/crates/rust-mcp-sdk) takes care of the rest! + +--- diff --git a/examples/hello-world-mcp-server-core/README.md b/examples/hello-world-mcp-server-core/README.md index 3195975..7a5b0e7 100644 --- a/examples/hello-world-mcp-server-core/README.md +++ b/examples/hello-world-mcp-server-core/README.md @@ -31,4 +31,4 @@ cargo build -p hello-world-mcp-server-core --release Here you can see it in action : -![hello-world-mcp-server-core](../../assets/examples/hello-world-mcp-server-core.gif) +![hello-world-mcp-server-core]![hello-world-mcp-server](../../assets/examples/hello-world-mcp-server.gif)