Skip to content

Commit d681f14

Browse files
authored
Merge pull request #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)