@@ -20,11 +20,10 @@ use rmcp::model::{
2020 ListToolsResult , PaginatedRequestParam , ServerCapabilities , ServerInfo , ToolsCapability ,
2121} ;
2222use rmcp:: service:: { serve_server, RequestContext , RoleServer } ;
23- use rmcp:: transport:: { stdio as stdio_transport, SseServer } ;
2423use rmcp:: transport:: streamable_http_server:: {
25- StreamableHttpService , session:: local:: LocalSessionManager ,
24+ session:: local:: LocalSessionManager , StreamableHttpService ,
2625} ;
27- use axum ;
26+ use rmcp :: transport :: { stdio as stdio_transport , SseServer } ;
2827use rmcp:: ServerHandler ;
2928use serde:: { Deserialize , Serialize } ;
3029use tracing_subscriber:: layer:: SubscriberExt as _;
@@ -186,11 +185,15 @@ async fn main() -> Result<()> {
186185 match & cli. command {
187186 Commands :: Serve ( cfg) => {
188187 // Initialize logging based on transport type
189- let ( use_stdio_transport, use_streamable_http) = match ( cfg. stdio , cfg. sse , cfg. streamable_http ) {
190- ( false , false , false ) => ( true , false ) , // Default case: use stdio transport
191- ( true , false , false ) => ( true , false ) , // Stdio transport only
192- ( false , true , false ) => ( false , false ) , // SSE transport only
193- ( false , false , true ) => ( false , true ) , // Streamable HTTP transport only
188+ let ( use_stdio_transport, use_streamable_http) = match (
189+ cfg. stdio ,
190+ cfg. sse ,
191+ cfg. streamable_http ,
192+ ) {
193+ ( false , false , false ) => ( true , false ) , // Default case: use stdio transport
194+ ( true , false , false ) => ( true , false ) , // Stdio transport only
195+ ( false , true , false ) => ( false , false ) , // SSE transport only
196+ ( false , false , true ) => ( false , true ) , // Streamable HTTP transport only
194197 _ => {
195198 return Err ( anyhow:: anyhow!(
196199 "Running multiple transports simultaneously is not supported. Please choose one of: --stdio, --sse, or --streamable-http."
0 commit comments