@@ -28,7 +28,7 @@ paste = { version = "1", optional = true }
2828oauth2 = { version = " 5.0" , optional = true }
2929
3030# for auto generate schema
31- schemars = { version = " 0.8" , optional = true }
31+ schemars = { version = " 0.8" , optional = true , features = [ " chrono " ] }
3232
3333# for image encoding
3434base64 = { version = " 0.21" , optional = true }
@@ -37,7 +37,6 @@ base64 = { version = "0.21", optional = true }
3737reqwest = { version = " 0.12" , default-features = false , features = [
3838 " json" ,
3939 " stream" ,
40- " rustls-tls" ,
4140], optional = true }
4241sse-stream = { version = " 0.1.3" , optional = true }
4342url = { version = " 2.4" , optional = true }
@@ -51,10 +50,11 @@ process-wrap = { version = "8.2", features = ["tokio1"], optional = true}
5150# for ws transport
5251# tokio-tungstenite ={ version = "0.26", optional = true }
5352
54- # for sse -server transport
53+ # for http -server transport
5554axum = { version = " 0.8" , features = [], optional = true }
5655rand = { version = " 0.9" , optional = true }
5756tokio-stream = { version = " 0.1" , optional = true }
57+ uuid = { version = " 1" , features = [" v4" ], optional = true }
5858
5959# macro
6060rmcp-macros = { version = " 0.1" , workspace = true , optional = true }
@@ -64,7 +64,9 @@ default = ["base64", "macros", "server"]
6464client = []
6565server = [" transport-async-rw" , " dep:schemars" ]
6666macros = [" dep:rmcp-macros" , " dep:paste" ]
67- transport-sse = [" dep:reqwest" , " dep:sse-stream" , " dep:url" ]
67+ __transport-sse = [" dep:reqwest" , " dep:sse-stream" , " dep:url" ]
68+ transport-sse = [" __transport-sse" , " reqwest?/rustls-tls" ]
69+ transport-sse-tls-no-provider = [" __transport-sse" , " reqwest?/rustls-tls-no-provider" ]
6870transport-async-rw = [" tokio/io-util" , " tokio-util/codec" ]
6971transport-io = [" transport-async-rw" , " tokio/io-std" ]
7072transport-child-process = [
@@ -77,10 +79,23 @@ transport-sse-server = [
7779 " dep:axum" ,
7880 " dep:rand" ,
7981 " dep:tokio-stream" ,
82+ " uuid" ,
83+ ]
84+ transport-streamable-http-server = [
85+ " transport-streamable-http-server-session" ,
86+ " dep:axum" ,
87+ " uuid" ,
88+ ]
89+ transport-streamable-http-server-session = [
90+ " transport-async-rw" ,
91+ " dep:tokio-stream" ,
8092]
8193# transport-ws = ["transport-io", "dep:tokio-tungstenite"]
8294tower = [" dep:tower-service" ]
83- auth = [" dep:oauth2" , " dep:reqwest" , " dep:url" ]
95+ __auth = [" dep:oauth2" , " dep:reqwest" , " dep:url" ]
96+ auth = [" __auth" , " reqwest?/rustls-tls" ]
97+ auth-tls-no-provider = [" auth" , " reqwest?/rustls-tls-no-provider" ]
98+ schemars = [" dep:schemars" ]
8499
85100[dev-dependencies ]
86101tokio = { version = " 1" , features = [" full" ] }
@@ -105,7 +120,7 @@ path = "tests/test_with_python.rs"
105120
106121[[test ]]
107122name = " test_with_js"
108- required-features = [" server" , " client" , " transport-sse-server" , " transport-child-process" ]
123+ required-features = [" server" , " client" , " transport-sse-server" , " transport-child-process" , " transport-streamable-http-server " ]
109124path = " tests/test_with_js.rs"
110125
111126[[test ]]
@@ -123,3 +138,8 @@ name = "test_message_protocol"
123138required-features = [" client" ]
124139path = " tests/test_message_protocol.rs"
125140
141+ [[test ]]
142+ name = " test_message_schema"
143+ required-features = [" server" , " client" , " schemars" ]
144+ path = " tests/test_message_schema.rs"
145+
0 commit comments