11import { Transport } from "@modelcontextprotocol/sdk/shared/transport.js" ;
22
3+ function onClientError ( error : Error ) {
4+ console . error ( "Error from inspector client:" , error ) ;
5+ }
6+
7+ function onServerError ( error : Error ) {
8+ console . error ( "Error from MCP server:" , error ) ;
9+ }
10+
311export default function mcpProxy ( {
412 transportToClient,
513 transportToServer,
6- onerror,
714} : {
815 transportToClient : Transport ;
916 transportToServer : Transport ;
10- onerror : ( error : Error ) => void ;
1117} ) {
1218 let transportToClientClosed = false ;
1319 let transportToServerClosed = false ;
1420
1521 transportToClient . onmessage = ( message ) => {
16- transportToServer . send ( message ) . catch ( onerror ) ;
22+ transportToServer . send ( message ) . catch ( onServerError ) ;
1723 } ;
1824
1925 transportToServer . onmessage = ( message ) => {
20- transportToClient . send ( message ) . catch ( onerror ) ;
26+ transportToClient . send ( message ) . catch ( onClientError ) ;
2127 } ;
2228
2329 transportToClient . onclose = ( ) => {
@@ -26,18 +32,17 @@ export default function mcpProxy({
2632 }
2733
2834 transportToClientClosed = true ;
29- transportToServer . close ( ) . catch ( onerror ) ;
35+ transportToServer . close ( ) . catch ( onServerError ) ;
3036 } ;
3137
3238 transportToServer . onclose = ( ) => {
3339 if ( transportToClientClosed ) {
3440 return ;
3541 }
3642 transportToServerClosed = true ;
37-
38- transportToClient . close ( ) . catch ( onerror ) ;
43+ transportToClient . close ( ) . catch ( onClientError ) ;
3944 } ;
4045
41- transportToClient . onerror = onerror ;
42- transportToServer . onerror = onerror ;
46+ transportToClient . onerror = onClientError ;
47+ transportToServer . onerror = onServerError ;
4348}
0 commit comments