Conversation
ContactbookMCPServer.run() calls server.start(transport:) and returns immediately. The swift-sdk Server.start() spawns the message-handling loop as a detached Task, so without awaiting completion the command exits before servicing any JSON-RPC requests. The process dies within ~1 second of launch with zero stdout, zero stderr, exit 0 -- making the MCP server unusable from Claude Code, Claude Desktop, or any MCP client. Fix: await server.waitUntilCompleted() after start(). Verified: initialize + tools/list now return valid JSON-RPC responses and the process stays alive; `claude mcp get` reports Connected.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
ContactbookMCPServer.run() calls server.start(transport:) and returns immediately. The swift-sdk Server.start() spawns the message-handling loop as a detached Task, so without awaiting completion the command exits before servicing any JSON-RPC requests. The process dies within ~1 second of launch with zero stdout, zero stderr, exit 0 -- making the MCP server unusable from Claude Code, Claude Desktop, or similar MCP client.
Fix: await server.waitUntilCompleted() after start().
Verified: initialize + tools/list now return valid JSON-RPC responses and the process stays alive;
claude mcp getreports Connected.Summary by CodeRabbit