Skip to content

Commit 84a635e

Browse files
authored
fix: mcp client stderr handling (#113)
1 parent 18b1e6f commit 84a635e

File tree

1 file changed

+4
-14
lines changed

1 file changed

+4
-14
lines changed

crates/rust-mcp-transport/src/stdio.rs

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ use crate::schema::RequestId;
66
use async_trait::async_trait;
77
use serde::de::DeserializeOwned;
88
use std::collections::HashMap;
9-
use std::pin::Pin;
109
use std::sync::Arc;
1110
use std::time::Duration;
1211
use tokio::process::Command;
@@ -136,12 +135,9 @@ where
136135
*lock = Some(sender);
137136
}
138137

139-
pub(crate) async fn set_error_stream(
140-
&self,
141-
error_stream: Pin<Box<dyn tokio::io::AsyncWrite + Send + Sync>>,
142-
) {
138+
pub(crate) async fn set_error_stream(&self, error_stream: IoStream) {
143139
let mut lock = self.error_stream.write().await;
144-
*lock = Some(IoStream::Writable(error_stream));
140+
*lock = Some(error_stream);
145141
}
146142
}
147143

@@ -230,10 +226,7 @@ where
230226
);
231227

232228
self.set_message_sender(sender).await;
233-
234-
if let IoStream::Writable(error_stream) = error_stream {
235-
self.set_error_stream(error_stream).await;
236-
}
229+
self.set_error_stream(error_stream).await;
237230

238231
Ok(stream)
239232
} else {
@@ -247,10 +240,7 @@ where
247240
);
248241

249242
self.set_message_sender(sender).await;
250-
251-
if let IoStream::Writable(error_stream) = error_stream {
252-
self.set_error_stream(error_stream).await;
253-
}
243+
self.set_error_stream(error_stream).await;
254244
Ok(stream)
255245
}
256246
}

0 commit comments

Comments
 (0)