PackageTrack
Sign in Get early access

rmcp

Rust SDK for Model Context Protocol

3.1.4 22M downloads/mo #2005 most downloaded on crates.io modelcontextprotocol/rust-sdk

What this package is like to depend on

Last release 3 days ago

20 Aug 2026

Ships fairly regularly

a new release about every 2 weeks

Nearly every release is documented

notes for 50 of 55 stable releases

1 version withdrawn

withdrawn after publishing

1 years old

62 releases · first in 2025

47 releases in the last 12 months

see the full history below

Release timeline

62 releases · Mar 2025 to Aug 2026
2026
Release Pre-release Withdrawn

Releases

latest 60 of 62
  1. 3.1.4 20 Aug 2026
    Release notes

    Fixed

    • (rmcp) preserve elicitation requestedSchema $schema dialect (#1176)
    • harden signing key handling (#1166)
    • report pre-init metadata errors (#1160)
    Open source →
    Release notes

    Fixed

    • (rmcp) preserve elicitation requestedSchema $schema dialect (#1176)
    • harden signing key handling (#1166)
    • report pre-init metadata errors (#1160)
    Open source →
  2. 3.1.3 17 Aug 2026
    Release notes

    Fixed

    • (auth) ignore query parameters when matching resources (#1177)
    • (auth) retain state until issuer validation (#1167)
    • (model) preserve elicitation property order metadata (#1150)
    • time out auto discovery probe (#1149)
    • (client) classify discover outcome at source, not at the error type (#1133)

    Other

    • Fix typo in to_authorized_http_client doc comment (#1158)
    Open source →
    Release notes

    Fixed

    • (auth) ignore query parameters when matching resources (#1177)
    • (auth) retain state until issuer validation (#1167)
    • (model) preserve elicitation property order metadata (#1150)
    • time out auto discovery probe (#1149)
    • (client) classify discover outcome at source, not at the error type (#1133)

    Other

    • Fix typo in to_authorized_http_client doc comment (#1158)
    Open source →
  3. 3.1.2 07 Aug 2026
    Release notes

    Fixed

    • (auth) map 401/403 challenges on the SSE GET stream (#1152)
    • (sse) loop instead of recursing when skipping SSE events (#1146)
    • (auth) preserve issuer trailing slash during discovery (#1145)
    Open source →
    Release notes

    Fixed

    • (auth) map 401/403 challenges on the SSE GET stream (#1152)
    • (sse) loop instead of recursing when skipping SSE events (#1146)
    • (auth) preserve issuer trailing slash during discovery (#1145)
    Open source →
  4. 3.1.1 05 Aug 2026
    Release notes

    Fixed

    • emit cache hints from handler macros (#1120)
    • expose MRTR state to tool handlers (#1104)
    • disambiguate input-required results (#1103)

    Other

    • make async-trait optional (#1119)
    Open source →
    Release notes

    Fixed

    • emit cache hints from handler macros (#1120)
    • expose MRTR state to tool handlers (#1104)
    • disambiguate input-required results (#1103)

    Other

    • make async-trait optional (#1119)
    Open source →
  5. 3.1.0 31 Jul 2026
    Release notes

    Added

    • classify authorization-required errors (#1056)
    • add strict stateless protocol metadata validation (#1091)
    • SEP-2260 stream-based enforcement of client receive-side request association (#1055)

    Fixed

    • (model) decode metadata-bearing input-required results affecting mrtr (#1097)
    • require metadata for modern HTTP requests (#1089)
    • honor supported_protocol_versions when negotiating initialize (#1093)

    Other

    • document the ping utility with examples (#1106)
    • complete Tier 1 feature docs and finalize roadmap (#1101)
    • (conformance) meeting requirements for tier 1 (#1087)
    Open source →
    Release notes

    Added

    • classify authorization-required errors (#1056)
    • add strict stateless protocol metadata validation (#1091)
    • SEP-2260 stream-based enforcement of client receive-side request association (#1055)

    Fixed

    • (model) decode metadata-bearing input-required results affecting mrtr (#1097)
    • require metadata for modern HTTP requests (#1089)
    • honor supported_protocol_versions when negotiating initialize (#1093)

    Other

    • document the ping utility with examples (#1106)
    • complete Tier 1 feature docs and finalize roadmap (#1101)
    • (conformance) meeting requirements for tier 1 (#1087)
    Open source →
  6. 3.0.1 29 Jul 2026
    Release notes

    Fixed

    • (auth) use discovered resource for token refresh (#1084)
    • return header mismatch for missing protocol header (#1083)
    • negotiate stateless initialize versions (#1080)
    • stamp server info on graceful subscription results (#1078)
    Open source →
  7. 3.0.0 28 Jul 2026
    Release notes

    Fixed

    • recognize 2026 MCP methods (#1076)
    Open source →
  8. 3.0.0-beta.5 28 Jul 2026 pre-release
    Release notes

    Fixed

    • [breaking] remove server_info from DiscoverResult (#1065)
    • preserve transient OAuth discovery HTTP errors (#1071)
    • [breaking] preserve OAuth discovery transport errors (#1069)
    • gate client handler bounds for local (#1068)

    Other

    • prepare for stable 3.0 release (#1073)
    • RFC 9728 resource is used instead of base url when possible (#962)
    • [breaking] remove deprecated v3 APIs (#1066)
    Open source →
  9. 3.0.0-beta.4 28 Jul 2026 pre-release
    Release notes

    Fixed

    • accept namespaced discovery server information (#1044)

    Other

    • (deps) update base64 requirement from 0.22 to 0.23 (#1059)
    • (deps) update jsonwebtoken requirement from 10 to 11 (#1058)
    Open source →
  10. 3.0.0-beta.3 27 Jul 2026 pre-release
    Release notes

    Fixed

    • [breaking] reject missing issuer in authorization server metadata by default (#1054)
    • default to allowing missing issuer (#1051)

    Other

    • make oauth discovery reactive (#1052)
    Open source →
  11. 3.0.0-beta.2 24 Jul 2026 pre-release
    Release notes

    Added

    • expose oauth discovery metadata source (#1041)

    Fixed

    • [breaking] omit resultType for legacy protocol sessions (#1038)

    Other

    • declare and check MSRV (#1034)
    Open source →
  12. 3.0.0-beta.1 23 Jul 2026 pre-release
    Release notes

    Added

    • route SEP-2260 associated server requests to the originating SSE stream (#1029)
    • [breaking] add distributed SSE event store (#1024)
    • add client-side TTL-honoring response cache (SEP-2549) (#1025)
    • [breaking] Implement SEP-2663 Tasks Extension (#1020)
    • add subscription listen streams (SEP-2575) (#1000)
    • (auth) bind DCR client credentials to issuing authorization server (SEP-2352) (#998)
    • add modern client lifecycle modes (SEP-2575) (#995)
    • (auth) accumulate client-side scopes during step-up authorization (#888)
    • [breaking] add server discovery and negotiation (SEP-2575) (#973)
    • (conformance) add SEP-2243 header validation tool (#997)
    • [breaking] align metadata models with draft schema (#993)
    • [breaking] implement SEP-2549 cache hints (#889)
    • [breaking] add MRTR behavior support (SEP-2322) (#929)
    • [breaking] type Annotations.lastModified as a string (#956)
    • [breaking] add SEP-2243 HTTP standard headers (#907)
    • relax outputSchema to accept non-object JSON Schema types (SEP-2106) (#895)
    • [breaking] relax tool result structuredContent type (SEP-2106) (#933)
    • [breaking] add MRTR model types (SEP-2322) (#915)

    Fixed

    • reap completed response send tasks (#1026)
    • accept stringified numeric response IDs (#1021)
    • re-register after auth server change (#1011)
    • .with_stateful_mode -> .with_legacy_session_mode (#1015)
    • preserve negotiated progress responses (#1005)
    • (server) serve draft-version requests statelessly per SEP-2567 (#999)
    • pass client header conformance (#1012)
    • (auth) add an SDK path for pre-registered OAuth clients (#994)
    • (transport) cancel in-flight request on stateless streamable-HTTP client disconnect (#857) (#967)
    • (auth) distinguish rejected refresh tokens from transient failures (#963)
    • (auth) validate discovered metadata issuer (#996)
    • bound streamable HTTP memory usage (#970)
    • (streamable-http) preserve progress in JSON mode (#990)
    • specify compatible sse-stream version (#968)
    • flag schema derive on schemars feature (#966)

    Other

    • refactor OAuth client authorization api (#1009)
    • update for 2026-07-28 version (#1032)
    • (deps) update hmac requirement from 0.12 to 0.13 (#988)
    • serialize JavaScript dependency install (#972)

    Changed

    • BREAKING: rename StreamableHttpServerConfig::stateful_mode to legacy_session_mode (and the builder with_stateful_mode to with_legacy_session_mode) to clarify that the option only affects legacy protocol versions (< 2026-07-28); per SEP-2567 the 2026-07-28 draft version is always served statelessly (#999)

    Fixed

    • use the authorization server issuer as the default private_key_jwt audience
    Open source →
  13. 2.2.0 08 Jul 2026
    Release notes

    Added

    • reject auth servers lacking S256 PKCE support (#955)

    Fixed

    • pass client conformance suite (#960)
    • don't respond to cancelled requests (#957)
    • fail orphaned streamable HTTP responses on reinit (#914)
    • address 2025-11-25 conformance audit findings (#951)
    Open source →
  14. 2.1.0 02 Jul 2026
    Release notes

    Added

    • add SEP-414 trace context meta accessors (#910)
    • add SEP-2575 meta helpers (#942)

    Fixed

    • (transport) make AsyncRwTransport::receive cancel-safe (#941) (#947)
    • (auth) preserve refresh_token when refresh response omits it (#949)
    • block redirect header leaks (#936)
    • don't respond to unparsable messages (#940)
    • negotiate protocol version in handler (#930)
    Open source →
  15. 2.0.0 29 Jun 2026
    Release notes

    Added

    • [breaking] relax tool result structuredContent type (#919)
    • deprecate roots/sampling/logging types (#923)
    • [breaking] align model types with MCP 2025-11-25 spec (#927)

    Fixed

    • prevent OAuth resource spoofing (#937)
    • block oauth metadata ssrf (#935)
    • prevent streamable HTTP session leak (#934)
    • fill missing fully qualified syntax in prompt_handler macros (#866)
    • (rmcp) add Audio variant to PromptMessageContent (#865)

    Other

    • consolidate repeated rmcp tests (#931)
    • Revert "feat!: relax tool result structuredContent type (#919)" (#932)
    • align README examples with v2 model API (#928)
    Open source →
  16. 1.8.0 23 Jun 2026
    Release notes

    Added

    • standardize resource-not-found error code (SEP-2164) (#899)
    • validate OAuth authorization response issuer (#896)
    • specify OIDC application_type during dynamic client registration (SEP-837) (#883)
    • deprecate roots, sampling, and logging (SEP-2577) (#884)

    Fixed

    • (auth) preserve configured reqwest client (#917)
    • (auth) align OAuth metadata discovery ordering (#887)
    • align progress timeout token (#909)
    • (elicitation) preserve enumNames through ElicitationSchema serde round-trip (#905)
    • return tool errors for invalid arguments (#894)
    • (auth) apply offline_access to reauth paths (#897)
    • update peer info on duplicate initialize (#862)
    • strip and validate tool outputSchema and inputSchema (#860)
    • remove unnecessary fields from tools' inputSchema (#856)
    • reject init header/body version mismatch (#853)
    • align protocol version negotiation (#855)
    • accept 200 with empty body in response to notifications in addition to 202 (#849)

    Other

    • Allow custom HTTP clients for OAuth (#908)
    • Add progress-aware request timeout reset (#858)
    • (server) document Err vs Ok(CallToolResult::error) visibility contract on ServerHandler::call_tool (#854)
    • refine mcpmate listing copy (#885)
    • added jilebi-mcp to the list of built with rmcp (#861)
    Open source →
  17. 1.7.0 13 May 2026
    Release notes

    Added

    • add task-based stdio examples (#839)

    Fixed

    • (rmcp) flatten Resource variant of PromptMessageContent (#843)
    • reply -32700 on stdio parse errors instead of closing (#833)

    Other

    • (rmcp) remove dependency on chrono default features (#829)
    • Fix/issue 817 idle timeout log level (#824)
    Open source →
  18. 1.6.0 01 May 2026
    Release notes

    Added

    • (http) log Host/Origin rejections (#826)
    • (http) add Origin header validation (#823)
    • (router) support runtime disabling of tools (#809)
    • optional session store (resumabillity support) (#775)

    Fixed

    • add init_timeout for streamable-http sessions (#811)
    • (http) fall back to :authority for HTTP/2 (#827)
    • (docs) use correct Parameters<T> syntax in tool examples (#814)

    Other

    • add systemprompt-template to Built with rmcp (#820)
    Open source →
  19. 1.5.0 16 Apr 2026
    Release notes

    Added

    • (transport) add constructors for non_exhaustive error types (#806)
    • add 2025-11-25 protocol version support (#802)

    Fixed

    • treat resource metadata JSON parse failure as soft error (#810)
    • include http_request_id in request-wise priming event IDs (#799)
    • (http) drain SSE stream for connection reuse (#790)

    Other

    • (deps) update which requirement from 7 to 8 (#807)
    Open source →
  20. 1.4.0 10 Apr 2026
    Release notes

    Added

    • add Default and constructors to ServerSseMessage (#794)
    • add meta to elicitation results (#792)
    • (macros) auto-generate get_info and default router (#785)
    • (transport) add which_command for cross-platform executable resolution (#774)
    • (auth) add StoredCredentials::new() constructor (#778)

    Fixed

    • (server) remove initialized notification gate to support Streamable HTTP (#788)
    • default session keep_alive to 5 minutes (#780)
    • (http) add host check (#764)
    • exclude local feature from docs.rs build (#782)

    Other

    • update Rust toolchain to 1.92 (#797)
    • unify IntoCallToolResult Result impls (#787)
    Open source →
  21. 1.3.0 26 Mar 2026
    Release notes

    Added

    • (transport) add Unix domain socket client for streamable HTTP (#749)
    • (auth) implement SEP-2207 OIDC-flavored refresh token guidance (#676)
    • add configuration for transparent session re-init (#760)
    • add local feature for !Send tool handler support (#740)

    Fixed

    • prevent CallToolResult and GetTaskPayloadResult from shadowing CustomResult in untagged enums (#771)
    • drain in-flight responses on stdin EOF (#759)
    • remove default type param from StreamableHttpService (#758)
    • use cfg-gated Send+Sync supertraits to avoid semver break (#757)
    • (rmcp) surface JSON-RPC error bodies on HTTP 4xx responses (#748)
    • default CallToolResult content to empty vec on missing field (#752)
    • (auth) redact secrets in Debug output for StoredCredentials and StoredAuthorizationState (#744)

    Other

    • fix all clippy warnings across workspace (#746)
    Open source →
  22. 1.2.0 11 Mar 2026
    Release notes

    Added

    • add missing constructors for non-exhaustive model types (#739)
    • include granted scopes in OAuth refresh token request (#731)

    Fixed

    • handle ping requests sent before initialize handshake (#745)
    • allow deserializing notifications without params field (#729)

    Other

    • (deps) update jsonwebtoken requirement from 9 to 10 (#737)
    Open source →
  23. 1.1.1 09 Mar 2026
    Release notes

    Fixed

    • accept logging/setLevel and ping before initialized notification (#730)
    Open source →
  24. 1.1.0 04 Mar 2026
    Release notes

    Added

    • implement OAuth 2.0 Client Credentials flow (#707)

    Other

    • add McpMux to Built with rmcp section (#717)
    Open source →
  25. 1.0.0 03 Mar 2026
    Release notes

    Fixed

    • (auth) pass WWW-Authenticate scopes to DCR registration request (#705)
    • api ergonomics follow-up (#720)
    • (streamable-http) map stale session 401 to status-aware error (#709)
    Open source →
  26. 1.0.0-alpha 03 Mar 2026 pre-release
    Release notes

    Added

    • docs update (#718)
    • (auth) [breaking] support returning extra fields from token exchange (#700)

    Fixed

    • downgrade logging of message to TRACE to avoid spamming logs (#699)

    Other

    • add #[non_exhaustive] and mutation methods to improve compatibility (#715)
    Open source →
  27. 0.17.0 27 Feb 2026
    Release notes

    Added

    • (streamable-http) add json_response option for stateless server mode (#683)
    • mcp sdk conformance (#687)
    • add default value support to string, number, and integer schemas (#686)
    • add trait-based tool declaration (#677)
    • send and validate MCP-Protocol-Version header (#675)

    Fixed

    • improve error logging and remove token secret from logs (#685)
    • refresh token expiry (#680)
    • gate optional dependencies behind feature flags (#672)
    • allow empty content in CallToolResult (#681)
    • (schema) remove AddNullable from draft2020_12 settings (#664)

    Other

    • add prose documentation for core features to meet conformance (#702)
    • Fix/sse channel replacement conflict (#682)
    • document session management for streamable HTTP transport (#674)
    Open source →
  28. 0.16.0 17 Feb 2026
    Release notes

    Added

    • add support for custom HTTP headers in StreamableHttpClient (#655)
    • (auth) add token_endpoint_auth_method to OAuthClientConfig (#648)

    Fixed

    • remove unnecessary doc-cfg (#661)
    • duplicate meta serialization (#662)
    • sort list_all() output in ToolRouter and PromptRouter for deterministic ordering (#665)
    • align task response types with MCP spec (#658)

    Other

    • upgrade reqwest to 0.13.2 (#669)
    • include LICENSE in final crate tarball (#657)
    • (deps) update rand requirement from 0.9 to 0.10 (#650)
    • remove unused axum dependency from server-side-http feature (#642)
    • 11-25-2025 compliant Auth (#651)
    • add rudof-mcp to MCP servers list (#645)
    Open source →
  29. 0.15.0 10 Feb 2026
    Release notes

    Added

    • (elicitation) add support URL elicitation. SEP-1036 (#605)
    • enforce SEP-1577 MUST requirements for sampling with tools (#646)
    • add native-tls as an optional TLS backend (#631)
    • (capabilities) add extensions field for SEP-1724 (#643)

    Fixed

    • (tasks) avoid dropping completed task results during collection (#639)
    • (auth) oauth metadata discovery (#641)
    • compilation with --no-default-features (#593)
    • (tasks) expose execution.taskSupport on tools (#635)
    • (tasks) correct enum variant ordering for deserialization (#634)

    Other

    • Add optional description field to Implementation struct (#649)
    • Implement SEP-1577: Sampling With Tools (#628)
    Open source →
  30. 0.14.0 23 Jan 2026
    Release notes

    Fixed

    • (tasks) #626 model task capabilities correctly (#627)
    • don't treat non-success HTTP codes as transport errors (#618)

    Other

    • show README content on docs.rs (#583)
    • added hyper-mcp to the list of built with rmcp (#621)
    • Implement SEP-1319: Decouple Request Payload from RPC Methods (#617)
    Open source →
  31. 0.13.0 15 Jan 2026
    Release notes

    Added

    • provide blanket implementations for ClientHandler and ServerHandler traits (#609)
    • (service) add close() method for graceful connection shutdown (#588)
    • (auth) add StateStore trait for pluggable OAuth state storage (#614)
    • (elicitation) implement SEP-1330 Elicitation Enum Schema Improvements (#539)
    • (task) add task support (SEP-1686) (#536)

    Fixed

    • use the json rpc error from the initialize response and bubble it up to the client (#569)
    • (build) fix build of the project when no features are selected (#606)
    • use Semaphore instead of Notify in OneshotTransport to prevent race condition (#611)
    • add OpenID Connect discovery support per spec-2025-11-25 4.3 (#598)
    • only try to refresh access tokens if we have a refresh token or an expiry time (#594)
    • (docs) add spreadsheet-mcp to Built with rmcp (#582)

    Other

    • (elicitation) improve enum schema builder, small changes of elicitation builder (#608)
    • add pre-commit hook for conventional commit verification (#619)
    • clean up optional dependencies (#546)
    • re-export ServerSseMessage from session module (#612)
    • Implement SEP-1699: Support SSE Polling via Server-Side Disconnect (#604)
    • update README external links (#603)
    • clarity and formatting (#602)
    • Add optional icons field to RawResourceTemplate (#589)
    Open source →
  32. 0.12.0 18 Dec 2025
    Release notes

    Added

    • add support for custom requests (#590)
    • add support for custom server notifications (#580)

    Fixed

    • update process-wrap to v9.0 (#586)
    • (oauth) rfc8414 should judement the response_types (#485)

    Other

    • Add SEP-991 (CIMD) support for URL-based client IDs (#570)
    • merge cached_schema_for_type into schema_for_type (#581)
    • Add NexusCore MCP to project list (#573)
    Open source →
  33. 0.11.0 08 Dec 2025
    Release notes

    Added

    • (meta) add _meta field to prompts, resources and paginated result (#558)
    • [breaking] remove SSE transport support (#562)

    Fixed

    • (streamable-http) gracefully shutdown while client connected (#494)

    Other

    • Implements outputSchema validation (#566)
    • add video-transcriber-mcp-rs to projects built with rmcp (#565)
    Open source →
  34. 0.10.0 01 Dec 2025
    Release notes

    Added

    • add support for custom client notifications (#556)

    Other

    • replace paste with pastey for macros feature (#564)
    Open source →
  35. 0.9.1 24 Nov 2025
    Release notes

    Added

    • (streamable-http) support both SSE and JSON response formats (#540)

    Fixed

    • don't block on creating the SSE stream (#553)
    • (shemars) use JSON Schema 2020-12 as Default Dialect (#549)
    • (oauth) let OAuth discovery skip to next well-known URL candidate on JSON parse error. (#545)

    Other

    • Implementation of SEP-986: Specify Format for Tool Names (#551)
    Open source →
  36. 0.9.0 17 Nov 2025
    Release notes

    Added

    • (auth) implement CredentialStore trait (#542)
    • (tool) add _meta to tool definitions (#534)
    Open source →
  37. 0.8.5 05 Nov 2025
    Release notes

    Fixed

    • (oauth) respect oauth-protected-resource discovery (#511)
    Open source →
  38. 0.8.4 04 Nov 2025
    Release notes

    Fixed

    • (oauth) fix oauth credential refresh (#509)
    • do not manually construct fallback authorization metadata (#507)
    • (doc) add stakpak-agent to Built with rmcp section (#500)
    Open source →
  39. 0.8.3 22 Oct 2025
    Release notes

    Fixed

    • accept 204 in addition to 202 on initialize (#497)
    Open source →
  40. 0.8.2 21 Oct 2025
    Release notes

    Added

    • add type-safe elicitation schema support (#465) (#466)
    • (SEP-973) following change Icon.sizes from string to string array (#479)

    Fixed

    • (oauth) three oauth discovery and registration issues (#489)
    • (oauth) dynamic client registration should be optional (#463)
    • (sse-client) consume control frames; refresh message endpoint (#448)

    Other

    • Streamable HTTP: drain SSE frames until the initialize response, ignoring early notifications to prevent handshake timeouts (#467)
    • bump crate version in README.md (#471)
    Open source →
  41. 0.8.1 07 Oct 2025
    Release notes

    Fixed

    • (oauth) pass bearer token to all streamable http requests (#476)
    • fix spellcheck on intentional typo in CHANGELOG (#470)
    Open source →
  42. 0.8.0 04 Oct 2025
    Release notes

    Added

    • allow clients to override client_name (#469)

    Fixed

    • (oauth) support suffixed and prefixed well-known paths (#459)
    • generate default schema for tools with no params (#446)

    Other

    • bump to rust 1.90.0 (#453)
    Open source →
  43. 0.7.0 24 Sep 2025
    Release notes

    Fixed

    • return auth errors (#451)
    • (oauth) do not treat empty secret as valid for public clients (#443)
    • (clippy) add doc comment for generated tool attr fn (#439)
    • (oauth) require CSRF token as part of the OAuth authorization flow. (#435)

    Other

    • (root) Add Terminator to Built with rmcp section (#437)
    • Non-empty paths in OAuth2 Authorization Server Metadata URLs (#441)
    Open source →
  44. 0.6.4 11 Sep 2025
    Release notes

    Added

    • (SEP-973) add support for icons and websiteUrl across relevant types (#432)
    • implement context-aware completion (MCP 2025-06-18) (#396)
    • add title field for data types (#410)

    Fixed

    • crates/rmcp/src/handler/client/progress.rs XXXXXX -> dispatcher (#429)
    • build issue due to missing struct field (#427)
    • generate simple {} schema for tools with no parameters (#425)

    Other

    • Skip notification in initialization handshake (#421)
    • add nvim-mcp project built by rmcp (#422)
    Open source →
  45. 0.6.3 04 Sep 2025
    Release notes

    Fixed

    • change JSON-RPC request ID type from u32 to i64 (#416)
    Open source →
  46. 0.6.2 04 Sep 2025
    Release notes

    Added

    • (rmcp) add optional _meta to CallToolResult, EmbeddedResource, and ResourceContents (#386)

    Fixed

    • resolve compatibility issues with servers sending LSP notifications (#413)
    • remove batched json rpc support (#408)
    • transport-streamable-http-server depends on transport-worker (#405)
    • (typo) correct typo in error message for transport cancellation and field. (#404)

    Other

    • Spec conformance: meta support and spec updates (#415)
    • add the rmcp-openapi and rmcp-actix-web related projects (#406)
    Open source →
  47. 0.6.1 29 Aug 2025
    Release notes

    Added

    • (rmcp) add authorization header support for the streamable http client (#390)
    • (model) add helpers to build enum from concrete values (#393)
    • (model) expose client method name (#391)
    • add resource_link support to tools and prompts (#381)
    • Add prompt support (#351)
    • include reqwest in transport-streamble-http-client feature (#376)

    Fixed

    • (auth) url parse is not correct (#402)
    • (readme) missing use declarations, more accurate server instructions (#399)
    • enhance transport graceful shutdown with proper writer closure (#392)

    Other

    • simplify remove_route method signature (#401)
    Open source →
  48. 0.6.0 19 Aug 2025
    Release notes

    Added

    • Add MCP Elicitation support (#332)
    • keep internal error in worker's quit reason (#372)

    Fixed

    • match shape of the calltoolresult schema (#377)
    • make stdio shutdown more graceful (#364)
    • (tool) remove unnecessary schema validation (#375)
    • (rmcp) return serialized json with structured content (#368)

    Other

    • add related project rustfs-mcp (#378)
    • (streamable) add document for extracting http info (#373)
    Open source →
  49. 0.5.0 07 Aug 2025
    Release notes

    Fixed

    • correct numeric types in progress notifications (#361)
    Open source →
  50. 0.4.1 07 Aug 2025
    Release notes

    Fixed

    • (rmcp) allow both content and structured content (#359)
    Open source →
  51. 0.4.0 05 Aug 2025
    Release notes

    Added

    • [breaking] Add support for Tool.outputSchema and CallToolResult.structuredContent (#316)

    Fixed

    • don't wrap errors in streamable http auth client (#353)
    • (prompt) remove unused code (#343)
    Open source →
  52. 0.3.2 31 Jul 2025
    Release notes

    Fixed

    • (capabilities) do not serialize None as null for list_changed (#341)
    • (Transport) close oneshot transport on error (#340)
    • (oauth) expose OAuthTokenResponse publicly (#335)
    Open source →
  53. 0.3.1 29 Jul 2025
    Release notes

    Fixed

    • use mimeType instead of mime_type for MCP specification compliance (#339)
    • return a 405 for GET and DELETE if stateful_mode=false (#331)
    • propagate tracing spans when spawning new tokio tasks (#334)
    • Explicitly added client_id as an extra parameter causes bad token requests (#322)

    Other

    • Fix formatting in crate descriptions in README.md (#333)
    Open source →
  54. 0.3.0 16 Jul 2025
    Release notes

    Added

    • unified error type (#308)
    • (transport) add builder & expose child stderr (#305)

    Other

    • (deps) update schemars requirement from 0.8 to 1.0 (#258)
    • (rmcp) bump rmcp-macros version to match (#311)
    • fix packages used for server example (#309)
    Open source →
  55. 0.2.1 03 Jul 2025
    Release notes

    Other

    • (docs) Minor README updates (#301)
    Open source →
  56. 0.2.0 02 Jul 2025
    Release notes

    Added

    • mark boxed http body as sync (#291)
    • add progress notification handling and related structures (#282)
    • allow failable service creation in streamable HTTP tower service (#244)
    • provide more context information (#236)
    • stateless mode of streamable http client (#233)
    • add cancellation_token method to RunningService (#218)
    • better http server support (#199)
    • throw initialize error detail (#192)
    • sse client optionally skip the endpoint event (#187)
    • (server) add annotation to tool macro (#184)
    • (model) add json schema generation support for all model types (#176)
    • (openapi) add OpenAPI v3 compatibility and test for nullable field schema workaround (#135) (#137)
    • (extension) extract http request part into rmcp extension (#163)
    • (transport) support streamable http server (#152)
    • (oauth) fixes + cache client credentials (#157)
    • allow use of reqwest without ring provider (#155)
    • extensions to context (#102)
    • revision-2025-03-26 without streamable http (#84)
    • (tool) allow tool call return a serializable value in json format (#75) (#78)
    • Sse server auto ping (#74)
    • (transport) Sse client transport trait (#67)

    Fixed

    • let users decide what to wrap in child process command (#279)
    • cancellable initialization process (#280)
    • inject part into extension when handing init req (#275)
    • streamable http server close request channel on response(#266) (#270)
    • streamable http client close on response (#268)
    • expose TokioChildWrapper::id() in TokioChildProcess and TokioChildProcessOut (#254)
    • add compatibility handling for non-standard notifications in async_rw (#247)
    • allow SSE server router to be nested (#240)
    • error for status in post method of streamable http client (#238)
    • disable wasmbind in chrono for wasm32-unknown-unknown (#234)
    • (examples) add clients in examples's readme (#225)
    • generic ServerHandler (#223)
    • comment error (#215)
    • resolve the server 406 error in API calls (#203)
    • sse endpoint build follow js's new URL(url, base) (#197)
    • more friendly interface to get service error (#190)
    • cleanup zombie processes for child process client (#156)
    • (schemar) use self-defined settings (#180)
    • (transport-sse-server) cleanup on connection drop (#165)
    • (test) skip serialize tool's annotation if empty (#160)
    • fix resource leak (#136)
    • (handler) do call handler methods when initialize server (#118)
    • (server) schemars compilation errors (#104)
    • (test) fix test introduced by #97 (#101)
    • (macro) add generics marco types support (#98)
    • (typo) nit language corrections (#90)
    • (typo) s/marcos/macros/ (#85)
    • (client) add error enum while deal client info (#76)
    • (notification) fix wrongly error report in notification (#70)
    • (test) fix tool deserialization error (#68)
    • (server) add error enum while deal server info (#51)

    Other

    • add simpling example and test (#289)
    • add update for test_message_schema (#286)
    • add notion clear in model.rs (#284)
    • cov settings, and fix several building warnings (#281)
    • refactor tool macros and router implementation (#261)
    • fix regression in URL joining (#265)
    • remove erroneous definitions_path (#264)
    • allow using a TokioCommandWrap for TokioChildProcess::new closes #243 (#245)
    • Fix typo (#249)
    • provide http server as tower service (#228)
    • (deps) update sse-stream requirement from 0.1.4 to 0.2.0 (#230)
    • Server info is only retrieved once during initialization (#214)
    • (deps) update base64 requirement from 0.21 to 0.22 (#209)
    • revert badge (#202)
    • use hierarchical readme for publishing (#198)
    • Ci/coverage badge (#191)
    • fix error introduced by merge, and reorganize feature (#185)
    • Transport trait and worker transport, and streamable http client with those new features. (#167)
    • add oauth2 support (#130)
    • remove un-used tower.rs (#125)
    • update calculator example description (#115)
    • fix the url (#120)
    • add a simple chat client for example (#119)
    • add an overview to rmcp/src/lib.rs (#116)
    • (context) test context request handling and refactor for reusable client-server tests (#97)
    • (logging) Add tests for logging (#96)
    • Adopt Devcontainer for Development Environment (#81)
    • fix typos (#79)
    • format and fix typo (#72)
    • add documentation generation job (#59)
    • add test with js server (#65)
    • fmt the project (#54)
    • (sse_server) separate router and server startup (#52)
    • fix broken link (#53)
    • fix the branch name for git dependency (#46)
    • Move whole rmcp crate to official rust sdk (#44)
    • Initial commit
    Open source →
  57. 0.1.5 24 Mar 2025

    Nothing published for this version

  58. 0.1.4 21 Mar 2025

    Nothing published for this version

  59. 0.1.3 20 Mar 2025

    Nothing published for this version

  60. 0.1.2 18 Mar 2025

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive