Skip to content

Commit 95aed88

Browse files
committed
fix: ensure server resilience against malformed client requests
1 parent 8251ad9 commit 95aed88

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

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

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,11 +100,13 @@ impl MCPStream {
100100
match line {
101101
Ok(Some(line)) => {
102102
// deserialize and send it to the stream
103-
let message: R = serde_json::from_str(&line).map_err(|_| {
104-
crate::error::TransportError::JsonrpcError(
105-
RpcError::parse_error(),
106-
)
107-
})?;
103+
let message: R = match serde_json::from_str(&line){
104+
Ok(mcp_message) => mcp_message,
105+
Err(_) => {
106+
// continue if malformed message is received
107+
continue;
108+
},
109+
};
108110

109111
if message.is_response() || message.is_error() {
110112
if let Some(request_id) = &message.request_id() {

0 commit comments

Comments
 (0)