feat(transport): support streamable http server (#152)

* feat(transport): support streamable http server

* refactor(transport): add common module for shared transport utilities

* perf(tracing): add more log for streamable http session

* fix(test): fix port conflict in test with js

* fix(transport): fix id generating and session management

1. cancel when deleting
2. use `wrapping` and `saturating` correctly

* chore(naming): rename sse server to streamable http server
This commit is contained in:
4t145 2025-05-08 13:57:51 +08:00 • committed by GitHub
commit 57e14c56e8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,3 +1,5 @@
[package]
name = "mcp-server-examples"
version = "0.1.5"
@ -5,7 +7,7 @@ edition = "2024"
publish = false
[dependencies]
rmcp= { path = "../../crates/rmcp", features = ["server", "transport-sse-server", "transport-io", "auth"] }
rmcp= { path = "../../crates/rmcp", features = ["server", "transport-sse-server", "transport-io", "transport-streamable-http-server", "auth"] }
tokio = { version = "1", features = ["macros", "rt", "rt-multi-thread", "io-std", "signal"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
@ -49,6 +51,10 @@ path = "src/axum_router.rs"
name = "servers_generic_server"
path = "src/generic_service.rs"
[[example]]
name = "servers_axum_streamable_http"
path = "src/axum_streamable_http.rs"
[[example]]
name = "servers_auth_sse"
path = "src/auth_sse.rs"