# rust-sdk

> The official Rust SDK for the Model Context Protocol

- **URL**: https://www.freshcrate.ai/projects/rust-sdk
- **Author**: modelcontextprotocol
- **Category**: RAG & Memory
- **Latest version**: `rmcp-v1.7.0` (2026-05-13)
- **License**: NOASSERTION
- **Source**: https://github.com/modelcontextprotocol/rust-sdk
- **Language**: Rust
- **GitHub**: 3,323 stars, 501 forks
- **Registry**: github
- **Tags**: `rust`

## Description

The official Rust SDK for the Model Context Protocol

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `rmcp-v1.7.0` | 2026-05-13 | High | ### Added  - add task-based stdio examples ([#839](https://github.com/modelcontextprotocol/rust-sdk/pull/839))  ### Fixed  - *(rmcp)* flatten Resource variant of PromptMessageContent ([#843](https://github.com/modelcontextprotocol/rust-sdk/pull/843)) - reply -32700 on stdio parse errors instead of closing ([#833](https://github.com/modelcontextprotocol/rust-sdk/pull/833))  ### Other  - *(rmcp)* remove dependency on chrono default features ([#829](https://github.com/modelcontextprotocol/rust-sdk/ |
| `rmcp-v1.6.0` | 2026-05-01 | High | ### Added  - *(http)* log Host/Origin rejections ([#826](https://github.com/modelcontextprotocol/rust-sdk/pull/826)) - *(http)* add Origin header validation ([#823](https://github.com/modelcontextprotocol/rust-sdk/pull/823)) - *(router)* support runtime disabling of tools ([#809](https://github.com/modelcontextprotocol/rust-sdk/pull/809)) - optional session store (resumabillity support) ([#775](https://github.com/modelcontextprotocol/rust-sdk/pull/775))  ### Fixed  - add init_timeout for streama |
| `rmcp-v1.5.0` | 2026-04-16 | High | ### Added  - *(transport)* add constructors for non_exhaustive error types ([#806](https://github.com/modelcontextprotocol/rust-sdk/pull/806)) - add 2025-11-25 protocol version support ([#802](https://github.com/modelcontextprotocol/rust-sdk/pull/802))  ### Fixed  - treat resource metadata JSON parse failure as soft error ([#810](https://github.com/modelcontextprotocol/rust-sdk/pull/810)) - include http_request_id in request-wise priming event IDs ([#799](https://github.com/modelcontextprotocol/ |
| `rmcp-macros-v1.5.0` | 2026-04-16 | High | ### Fixed  - *(macros)* respect `local` feature in `#[prompt]` macro — omit `+ Send` bound ([#803](https://github.com/modelcontextprotocol/rust-sdk/pull/803)) |
| `rmcp-v1.4.0` | 2026-04-10 | High | ### Added  - add Default and constructors to ServerSseMessage ([#794](https://github.com/modelcontextprotocol/rust-sdk/pull/794)) - add meta to elicitation results ([#792](https://github.com/modelcontextprotocol/rust-sdk/pull/792)) - *(macros)* auto-generate get_info and default router ([#785](https://github.com/modelcontextprotocol/rust-sdk/pull/785)) - *(transport)* add which_command for cross-platform executable resolution ([#774](https://github.com/modelcontextprotocol/rust-sdk/pull/774)) - |
| `rmcp-macros-v1.4.0` | 2026-04-10 | Medium | ### Added  - *(macros)* auto-generate get_info and default router ([#785](https://github.com/modelcontextprotocol/rust-sdk/pull/785)) |
| `rmcp-v1.3.0` | 2026-03-26 | Medium | ### Added  - *(transport)* add Unix domain socket client for streamable HTTP ([#749](https://github.com/modelcontextprotocol/rust-sdk/pull/749)) - *(auth)* implement SEP-2207 OIDC-flavored refresh token guidance ([#676](https://github.com/modelcontextprotocol/rust-sdk/pull/676)) - add configuration for transparent session re-init ([#760](https://github.com/modelcontextprotocol/rust-sdk/pull/760)) - add local feature for !Send tool handler support ([#740](https://github.com/modelcontextprotocol/r |
| `rmcp-macros-v1.3.0` | 2026-03-26 | Medium | ### Added  - add local feature for !Send tool handler support ([#740](https://github.com/modelcontextprotocol/rust-sdk/pull/740))  ### Other  - fix all clippy warnings across workspace ([#746](https://github.com/modelcontextprotocol/rust-sdk/pull/746)) |
| `rmcp-v1.2.0` | 2026-03-11 | Low | ### Added  - add missing constructors for non-exhaustive model types ([#739](https://github.com/modelcontextprotocol/rust-sdk/pull/739)) - include granted scopes in OAuth refresh token request ([#731](https://github.com/modelcontextprotocol/rust-sdk/pull/731))  ### Fixed  - handle ping requests sent before initialize handshake ([#745](https://github.com/modelcontextprotocol/rust-sdk/pull/745)) - allow deserializing notifications without params field ([#729](https://github.com/modelcontextprotoco |
| `rmcp-macros-v1.2.0` | 2026-03-11 | Low | ### Fixed  - *(rmcp-macros)* use re-exported serde_json path in task_handler ([#735](https://github.com/modelcontextprotocol/rust-sdk/pull/735)) |

## Citation

- HTML: https://www.freshcrate.ai/projects/rust-sdk
- Markdown: https://www.freshcrate.ai/projects/rust-sdk.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/rust-sdk/deps

_Generated by freshcrate.ai. Indexes github releases for AI-agent ecosystem packages._
