@@ -51,44 +51,59 @@ const createTransport = async (query: express.Request["query"]) => {
51
51
} ;
52
52
53
53
app . get ( "/sse" , async ( req , res ) => {
54
- console . log ( "New SSE connection" ) ;
54
+ try {
55
+ console . log ( "New SSE connection" ) ;
55
56
56
- const backingServerTransport = await createTransport ( req . query ) ;
57
+ const backingServerTransport = await createTransport ( req . query ) ;
57
58
58
- console . log ( "Connected MCP client to backing server transport" ) ;
59
+ console . log ( "Connected MCP client to backing server transport" ) ;
59
60
60
- const webAppTransport = new SSEServerTransport ( "/message" , res ) ;
61
- console . log ( "Created web app transport" ) ;
61
+ const webAppTransport = new SSEServerTransport ( "/message" , res ) ;
62
+ console . log ( "Created web app transport" ) ;
62
63
63
- webAppTransports . push ( webAppTransport ) ;
64
- console . log ( "Created web app transport" ) ;
64
+ webAppTransports . push ( webAppTransport ) ;
65
+ console . log ( "Created web app transport" ) ;
65
66
66
- await webAppTransport . start ( ) ;
67
+ await webAppTransport . start ( ) ;
67
68
68
- mcpProxy ( {
69
- transportToClient : webAppTransport ,
70
- transportToServer : backingServerTransport ,
71
- onerror : ( error ) => {
72
- console . error ( error ) ;
73
- } ,
74
- } ) ;
75
- console . log ( "Set up MCP proxy" ) ;
69
+ mcpProxy ( {
70
+ transportToClient : webAppTransport ,
71
+ transportToServer : backingServerTransport ,
72
+ onerror : ( error ) => {
73
+ console . error ( error ) ;
74
+ } ,
75
+ } ) ;
76
+ console . log ( "Set up MCP proxy" ) ;
77
+ } catch ( error ) {
78
+ console . error ( "Error in /sse route:" , error ) ;
79
+ res . status ( 500 ) . json ( error ) ;
80
+ }
76
81
} ) ;
77
82
78
83
app . post ( "/message" , async ( req , res ) => {
79
- const sessionId = req . query . sessionId ;
80
- console . log ( `Received message for sessionId ${ sessionId } ` ) ;
81
-
82
- const transport = webAppTransports . find ( ( t ) => t . sessionId === sessionId ) ;
83
- if ( ! transport ) {
84
- res . status ( 404 ) . send ( "Session not found" ) ;
85
- return ;
84
+ try {
85
+ const sessionId = req . query . sessionId ;
86
+ console . log ( `Received message for sessionId ${ sessionId } ` ) ;
87
+
88
+ const transport = webAppTransports . find ( ( t ) => t . sessionId === sessionId ) ;
89
+ if ( ! transport ) {
90
+ res . status ( 404 ) . end ( "Session not found" ) ;
91
+ return ;
92
+ }
93
+ await transport . handlePostMessage ( req , res ) ;
94
+ } catch ( error ) {
95
+ console . error ( "Error in /message route:" , error ) ;
96
+ res . status ( 500 ) . json ( error ) ;
86
97
}
87
- await transport . handlePostMessage ( req , res ) ;
88
98
} ) ;
89
99
90
100
app . get ( "/default-environment" , ( req , res ) => {
91
- res . json ( getDefaultEnvironment ( ) ) ;
101
+ try {
102
+ res . json ( getDefaultEnvironment ( ) ) ;
103
+ } catch ( error ) {
104
+ console . error ( "Error in /default-environment route:" , error ) ;
105
+ res . status ( 500 ) . json ( error ) ;
106
+ }
92
107
} ) ;
93
108
94
109
const PORT = process . env . PORT || 3000 ;
0 commit comments