rust-sdk/crates/rmcp/src/transport
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Tanish Desai f20ed202af
Add SEP-991 (CIMD) support for URL-based client IDs (#570)
* feat(auth): add cimd support for SEP-991

add cimd support for url-based client ids

Signed-off-by: tanish111 <tanishdesai37@gmail.com>

* test(auth): add unit tests for is_https_url helper

Add test coverage for is_https_url helper to validate HTTPS scheme, non-root paths,
and reject http, javascript, data schemes, and invalid inputs per SEP-991 requirements.

Signed-off-by: tanish111 <tanishdesai37@gmail.com>

* feat(example): add CIMD OAuth server for SEP-991 testing

Implements a new server example (servers_cimd_auth_streamhttp) that
demonstrates CIMD (Client ID Metadata Document) support for URL-based
client IDs. The server validates client_id URLs, fetches and validates
client metadata documents, and provides OAuth 2.0 authorization endpoints
with MCP integration for end-to-end testing.

Signed-off-by: tanish111 <tanishdesai37@gmail.com>

* fix(oauth): add CORS headers to token endpoint

Add CORS headers to token endpoint to allow cross-origin requests from browsers
during OAuth authorization code exchange flow.

Signed-off-by: tanish111 <tanishdesai37@gmail.com>

* refactor: improve is_https_url function and consolidate tests

- Improve is_https_url function formatting and readability
- Merge all test cases into single test_is_https_url_scenarios function
- Add missing test case for "https://" URL

Signed-off-by: tanish111 <tanishdesai37@gmail.com>

* refactor: use map_err instead of match for error handling in auth.rs

Replace the verbose match statement with
map_err for more idiomatic

Signed-off-by: tanish111 <tanishdesai37@gmail.com>

* feat: add client-metadata.json

Add client metadata file for SEP-991 CIMD
authentication support

Signed-off-by: tanish111 <tanishdesai37@gmail.com>

---------

Signed-off-by: tanish111 <tanishdesai37@gmail.com>
2025-12-10 08:55:38 -05:00
..
common feat!: remove SSE transport support (#562) 2025-12-01 20:40:13 -05:00
streamable_http_server fix(streamable-http): gracefully shutdown while client connected (#494) 2025-12-02 09:22:52 +08:00
async_rw.rs fix: resolve compatibility issues with servers sending LSP notifications (#413) 2025-09-04 16:58:03 +08:00
auth.rs Add SEP-991 (CIMD) support for URL-based client IDs (#570) 2025-12-10 08:55:38 -05:00
child_process.rs fix: enhance transport graceful shutdown with proper writer closure (#392) 2025-08-28 09:14:56 +08:00
common.rs feat!: remove SSE transport support (#562) 2025-12-01 20:40:13 -05:00
io.rs refactor: Transport trait and worker transport, and streamable http client with those new features. (#167) 2025-05-17 23:53:38 +08:00
sink_stream.rs refactor: provide http server as tower service (#228) 2025-05-28 19:21:40 +08:00
streamable_http_client.rs fix: don't block on creating the SSE stream (#553) 2025-11-19 17:20:00 -08:00
streamable_http_server.rs refactor: provide http server as tower service (#228) 2025-05-28 19:21:40 +08:00
worker.rs fix(typo): correct typo in error message for transport cancellation and field. (#404) 2025-09-01 03:14:14 +08:00
ws.rs Move whole rmcp crate to offcial rust sdk (#44) 2025-03-27 17:33:41 -04:00