You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+8Lines changed: 8 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,14 @@ Leveraging the [rust-mcp-schema](https://github.com/rust-mcp-stack/rust-mcp-sche
19
19
20
20
**⚠️WARNING**: This project only supports Standard Input/Output (stdio) transport at this time, with support for SSE (Server-Sent Events) transport still in progress and not yet available. Project is currently under development and should be used at your own risk.
21
21
22
+
## Projects using `rust-mcp-sdk`
23
+
24
+
Below is a list of projects that utilize the `rust-mcp-sdk`, showcasing their name, description, and links to their repositories or project pages.
25
+
26
+
| Icon | Name | Description | Link |
27
+
|------|------|-------------|------|
28
+
| <ahref="https://rust-mcp-stack.github.io/rust-mcp-filesystem"><imgsrc="https://raw.githubusercontent.com/rust-mcp-stack/rust-mcp-filesystem/refs/heads/main/docs/_media/rust-mcp-filesystem.png"width="64"/></a> |[Rust MCP Filesystem](https://rust-mcp-stack.github.io/rust-mcp-filesystem)| Fast, asynchronous MCP server for seamless filesystem operations offering enhanced capabilities, improved performance, and a robust feature set tailored for modern filesystem interactions. |[GitHub](https://github.com/rust-mcp-stack/rust-mcp-filesystem)|
[<imgalt="Hello World MCP Server"src="https://img.shields.io/badge/Example-Hello%20World%20MCP-0286ba?style=for-the-badge&logo=rust"height="22">
12
+
](examples/hello-world-mcp-server)
13
+
14
+
A high-performance, asynchronous toolkit for building MCP servers and clients.
8
15
Focus on your app's logic while **rust-mcp-sdk** takes care of the rest!
9
16
10
-
**rust-mcp-sdk** provides the necessary components for developing both servers and clients in the MCP ecosystem.
11
-
Leveraging the [rust-mcp-schema](https://github.com/rust-mcp-stack/rust-mcp-schema) crate for type safe MCP schema objects and MCP type utilities simplifies the process of building robust and reliable MCP servers and clients, ensuring consistency and minimizing errors in data handling and message processing.
17
+
**rust-mcp-sdk** provides the necessary components for developing both servers and clients in the MCP ecosystem.
18
+
Leveraging the [rust-mcp-schema](https://github.com/rust-mcp-stack/rust-mcp-schema) crate simplifies the process of building robust and reliable MCP servers and clients, ensuring consistency and minimizing errors in data handling and message processing.
12
19
13
20
**⚠️WARNING**: This project only supports Standard Input/Output (stdio) transport at this time, with support for SSE (Server-Sent Events) transport still in progress and not yet available. Project is currently under development and should be used at your own risk.
14
21
22
+
## Projects using `rust-mcp-sdk`
23
+
24
+
Below is a list of projects that utilize the `rust-mcp-sdk`, showcasing their name, description, and links to their repositories or project pages.
25
+
26
+
| Icon | Name | Description | Link |
27
+
|------|------|-------------|------|
28
+
| <ahref="https://rust-mcp-stack.github.io/rust-mcp-filesystem"><imgsrc="https://raw.githubusercontent.com/rust-mcp-stack/rust-mcp-filesystem/refs/heads/main/docs/_media/rust-mcp-filesystem.png"width="64"/></a> |[Rust MCP Filesystem](https://rust-mcp-stack.github.io/rust-mcp-filesystem)| Fast, asynchronous MCP server for seamless filesystem operations offering enhanced capabilities, improved performance, and a robust feature set tailored for modern filesystem interactions. |[GitHub](https://github.com/rust-mcp-stack/rust-mcp-filesystem)|
29
+
15
30
## Usage Examples
16
31
17
32
### MCP Server
@@ -195,10 +210,10 @@ If you are looking for a step-by-step tutorial on how to get started with `rust-
195
210
196
211
[rust-mcp-sdk](https://github.com/rust-mcp-stack/rust-mcp-sdk) provides two type of handler traits that you can chose from:
197
212
198
-
-**mcp_server_handler**: This is the recommended trait for your MCP project, offering a default implementation for all types of MCP messages. It includes predefined implementations within the trait, such as handling initialization or responding to ping requests, so you only need to override and customize the handler functions relevant to your specific needs.
213
+
-**mcp_server_handler**: This is the recommended trait for your MCP project, offering a default implementation for all types of MCP messages. It includes predefined implementations within the trait, such as handling initialization or responding to ping requests, so you only need to override and customize the handler functions relevant to your specific needs.
199
214
Refer to [examples/hello-world-mcp-server/src/handler.rs](https://github.com/rust-mcp-stack/rust-mcp-sdk/tree/main/examples/hello-world-mcp-server/src/handler.rs) for an example.
200
215
201
-
-**mcp_server_handler_core**: If you need more control over MCP messages, consider using `mcp_server_handler_core`. It offers three primary methods to manage the three MCP message types: `request`, `notification`, and `error`. While still providing type-safe objects in these methods, it allows you to determine how to handle each message based on its type and parameters.
216
+
-**mcp_server_handler_core**: If you need more control over MCP messages, consider using `mcp_server_handler_core`. It offers three primary methods to manage the three MCP message types: `request`, `notification`, and `error`. While still providing type-safe objects in these methods, it allows you to determine how to handle each message based on its type and parameters.
202
217
Refer to [examples/hello-world-mcp-server-core/src/handler.rs](https://github.com/rust-mcp-stack/rust-mcp-sdk/tree/main/examples/hello-world-mcp-server-core/src/handler.rs) for an example.
203
218
204
219
---
@@ -209,10 +224,25 @@ If you are looking for a step-by-step tutorial on how to get started with `rust-
209
224
210
225
### Choosing Between `mcp_client_handler` and `mcp_client_handler_core`
211
226
212
-
The same principles outlined above apply to the client-side handlers, `mcp_client_handler` and `mcp_client_handler_core`.
213
-
Use `client_runtime::create_client()` or `client_runtime_core::create_client()` , respectively.
227
+
The same principles outlined above apply to the client-side handlers, `mcp_client_handler` and `mcp_client_handler_core`.
228
+
Use `client_runtime::create_client()` or `client_runtime_core::create_client()` , respectively.
214
229
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).
215
230
231
+
## Contributing
232
+
233
+
We welcome everyone who wishes to contribute! Please refer to the [contributing](CONTRIBUTING.md) guidelines for more details.
234
+
235
+
Check out our [development guide](development.md) for instructions on setting up, building, testing, formatting, and trying out example projects.
236
+
237
+
All contributions, including issues and pull requests, must follow
238
+
Rust's Code of Conduct.
239
+
240
+
Unless explicitly stated otherwise, any contribution you submit for inclusion in rust-mcp-sdk is provided under the terms of the MIT License, without any additional conditions or restrictions.
241
+
242
+
## Development
243
+
244
+
Check out our [development guide](development.md) for instructions on setting up, building, testing, formatting, and trying out example projects.
245
+
216
246
## License
217
247
218
248
This project is licensed under the MIT License. see the [LICENSE](LICENSE) file for details.
0 commit comments