Skip to content

Commit d681f14

Browse files
authored
Merge pull request modelcontextprotocol#749 from modelcontextprotocol/ochafik/check-addrinuse
Add missing app.listen error handling to server examples
2 parents 22dc79b + 4056c09 commit d681f14

8 files changed

+40
-8
lines changed

src/cli.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,11 @@ async function runServer(port: number | null) {
102102
await transport.handlePostMessage(req, res);
103103
});
104104

105-
app.listen(port, () => {
105+
app.listen(port, (error) => {
106+
if (error) {
107+
console.error('Failed to start server:', error);
108+
process.exit(1);
109+
}
106110
console.log(`Server running on http://localhost:${port}/sse`);
107111
});
108112
} else {

src/examples/server/demoInMemoryOAuthProvider.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,11 @@ export const setupAuthServer = ({authServerUrl, mcpServerUrl, strictResource}: {
200200

201201
const auth_port = authServerUrl.port;
202202
// Start the auth server
203-
authApp.listen(auth_port, () => {
203+
authApp.listen(auth_port, (error) => {
204+
if (error) {
205+
console.error('Failed to start server:', error);
206+
process.exit(1);
207+
}
204208
console.log(`OAuth Authorization Server listening on port ${auth_port}`);
205209
});
206210

src/examples/server/jsonResponseStreamableHttp.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,11 @@ app.get('/mcp', async (req: Request, res: Response) => {
158158

159159
// Start the server
160160
const PORT = 3000;
161-
app.listen(PORT, () => {
161+
app.listen(PORT, (error) => {
162+
if (error) {
163+
console.error('Failed to start server:', error);
164+
process.exit(1);
165+
}
162166
console.log(`MCP Streamable HTTP Server listening on port ${PORT}`);
163167
});
164168

src/examples/server/simpleSseServer.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,11 @@ app.post('/messages', async (req: Request, res: Response) => {
145145

146146
// Start the server
147147
const PORT = 3000;
148-
app.listen(PORT, () => {
148+
app.listen(PORT, (error) => {
149+
if (error) {
150+
console.error('Failed to start server:', error);
151+
process.exit(1);
152+
}
149153
console.log(`Simple SSE Server (deprecated protocol version 2024-11-05) listening on port ${PORT}`);
150154
});
151155

src/examples/server/simpleStatelessStreamableHttp.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,11 @@ app.delete('/mcp', async (req: Request, res: Response) => {
158158

159159
// Start the server
160160
const PORT = 3000;
161-
app.listen(PORT, () => {
161+
app.listen(PORT, (error) => {
162+
if (error) {
163+
console.error('Failed to start server:', error);
164+
process.exit(1);
165+
}
162166
console.log(`MCP Stateless Streamable HTTP Server listening on port ${PORT}`);
163167
});
164168

src/examples/server/simpleStreamableHttp.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -648,7 +648,11 @@ if (useOAuth && authMiddleware) {
648648
app.delete('/mcp', mcpDeleteHandler);
649649
}
650650

651-
app.listen(MCP_PORT, () => {
651+
app.listen(MCP_PORT, (error) => {
652+
if (error) {
653+
console.error('Failed to start server:', error);
654+
process.exit(1);
655+
}
652656
console.log(`MCP Streamable HTTP Server listening on port ${MCP_PORT}`);
653657
});
654658

src/examples/server/sseAndStreamableHttpCompatibleServer.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,11 @@ app.post("/messages", async (req: Request, res: Response) => {
210210

211211
// Start the server
212212
const PORT = 3000;
213-
app.listen(PORT, () => {
213+
app.listen(PORT, (error) => {
214+
if (error) {
215+
console.error('Failed to start server:', error);
216+
process.exit(1);
217+
}
214218
console.log(`Backwards compatible MCP server listening on port ${PORT}`);
215219
console.log(`
216220
==============================================

src/examples/server/standaloneSseWithGetStreamableHttp.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,11 @@ app.get('/mcp', async (req: Request, res: Response) => {
112112

113113
// Start the server
114114
const PORT = 3000;
115-
app.listen(PORT, () => {
115+
app.listen(PORT, (error) => {
116+
if (error) {
117+
console.error('Failed to start server:', error);
118+
process.exit(1);
119+
}
116120
console.log(`Server listening on port ${PORT}`);
117121
});
118122

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy