MCP Node.js 디버거
디버깅을 돕기 위해 Cursor 또는 Claude Code가 런타임에 Node.js에 액세스할 수 있도록 하는 MCP 서버: @hyperdrive-eng/mcp-nodejs-debugger .
데모
커서
https://github.com/user-attachments/assets/c193a17e-b0e6-4c51-82aa-7f3f0de17e1a
클로드 코드
https://github.com/user-attachments/assets/adb7321b-3a6a-459b-a5c9-df365710d4d8
빠른 시작
커서
커서에 추가(
~/.cursor/mcp.json)지엑스피1
디버그 모드 에서 Node.js 서버를 실행합니다(예:
--inspectflat 사용)node --inspect {file.js}런타임에 Node.js 서버를 디버깅하도록 Cursor에 요청합니다.
클로드 코드
클로드 코드에 추가
claude mcp add nodejs-debugger npx @hyperdrive-eng/mcp-nodejs-debugger클로드 코드 시작
claude ╭───────────────────────────────────────────────────────╮ │ ✻ Welcome to Claude Code research preview! │ │ │ │ /help for help │ │ │ │ Found 1 MCP server (use /mcp for status) │ ╰───────────────────────────────────────────────────────╯디버그 모드 에서 Node.js 서버를 실행합니다(예:
--inspectflat 사용)# In another terminal node --inspect {file.js}Claude Code에게 런타임에 Node.js 서버를 디버깅하도록 요청하세요.
> I'm getting a runtime error in Node.js {YOUR_RUNTIME_ERROR} Please help me debug this error at runtime using the nodejs-debugger mcp.
용법
클로드 코드
클로드 코드에 추가
claude mcp add nodejs-debugger npx mcp-nodejs-debugger연결 확인
> /mcp ⎿ MCP Server Status • nodejs-debugger: connectedClaude Code에서 제거
claude remove nodejs-debugger
커서
커서에 추가(
~/.cursor/mcp.json)+ { + "mcpServers": { + "nodejs-debugger": { + "command": "npx", + "args": ["@hyperdrive-eng/mcp-nodejs-debugger"] + } + } + }연결 확인:
커서에서 제거(
~/.cursor/mcp.json):- { - "mcpServers": { - "nodejs-debugger": { - "command": "npx", - "args": ["@hyperdrive-eng/mcp-nodejs-debugger"] - } - } - }
예
커서
이 간단한 Node.js 앱을 실행해 보세요: github.com/mdn/express-locallibrary-tutorial :
node --inspect ./bin/www커서에 중단점을 설정하도록 요청합니다.
localhost:3000/catalog/book/create에서 책을 만드세요커서 캡처 런타임 상태를 확인하세요
클로드 코드
버그가 있는 Node.js 서버는 다음과 같습니다.
node --inspect index.js Debugger listening on ws://127.0.0.1:9229/2862f5a2-8618-4516-8429-1248b397e9b4 ####################### ## THE RUNTIME ERROR ## ####################### MongooseServerSelectionError: Could not connect to any servers in your MongoDB Atlas cluster. One common reason is that you're trying to access the database from an IP that isn't whitelisted. Make sure your current IP address is on your Atlas cluster's IP whitelist: https://www.mongodb.com/docs/atlas/security-whitelist/ at _handleConnectionErrors (/Users/arthur/Documents/thirdparties/mdn/express-locallibrary-tutorial/node_modules/mongoose/lib/connection.js:1110:11) at NativeConnection.openUri (/Users/arthur/Documents/thirdparties/mdn/express-locallibrary-tutorial/node_modules/mongoose/lib/connection.js:1041:11) at async main (/Users/arthur/Documents/thirdparties/mdn/express-locallibrary-tutorial/app.js:35:3) { reason: TopologyDescription { type: 'ReplicaSetNoPrimary', servers: Map(3) { 'ac-8e6hgk7-shard-00-01.cojoign.mongodb.net:27017' => [ServerDescription], 'ac-8e6hgk7-shard-00-02.cojoign.mongodb.net:27017' => [ServerDescription], 'ac-8e6hgk7-shard-00-00.cojoign.mongodb.net:27017' => [ServerDescription] }, stale: false, compatible: true, heartbeatFrequencyMS: 10000, localThresholdMS: 15, setName: 'atlas-5syy8t-shard-0', maxElectionId: null, maxSetVersion: null, commonWireVersion: 0, logicalSessionTimeoutMinutes: null }, code: undefined }Claude Code는 런타임에 Node.js 서버를 디버깅합니다.
> I'm getting a runtime error connecting to mongoose. Please help me debug by checking the value of the mongodb configs at runtime using the nodejs-debugger mcp. ⏺ I'll help you debug the mongoose connection issue using the Node.js debugger. Let's first understand where the MongoDB connection is configured. ⏺ Search(pattern: "**/*.js")… ⎿ Found 100 files ⏺ Let's set a breakpoint at the mongoose connection point and continue: ⏺ nodejs-debugger:set_breakpoint (MCP)(file: … "/Users/arthur/Documents/thirdparties/mdn/express-locallibrary-tutorial/app.js", line: 35) ⎿ Breakpoint set successfully. ID: 2:34:0:file:///Users/arthur/Documents/thirdparties/mdn/express-locallibrary-tutorial/app\.js ⏺ Let's list all our breakpoints: ⏺ nodejs-debugger:list_breakpoints (MCP) ⎿ [ { "file": "/Users/arthur/Documents/thirdparties/mdn/express-locallibrary-tutorial/app.js", "line": 35, "id": "2:34:0:file:///Users/arthur/Documents/thirdparties/mdn/express-locallibrary-tutorial/app\\.js" } ] ⏺ Let's try to execute a specific piece of code to check the connection variables: ⏺ nodejs-debugger:nodejs_inspect (MCP)(js_code: "// Get the mongoose module and inspect connection\nconst mongoose = … require('mongoose');\nconsole.log('Current mongoose version:', mongoose.version);\nconsole.log('Current mongoose connection state:', mongoose.connection.readyState);\n// Log connection string safely (without password)\nconst connectionString = process.env.MONGODB_URI || \n \"mongodb+srv://cooluser:coolpassword@cluster0.cojoign.mongodb.net/local_library?retryWr ites=true&w=majority&appName=Cluster0\";\nconsole.log('Connection string (masked):', connectionString.replace(/(?<=mongodb\\+srv:\\/\\/\\w+:)(.+?)(?=@)/, '*****'));") ⎿ Console output: [log] Current mongoose version: 8.9.5 [log] Current mongoose connection state: 0 [log] Connection string (masked): mongodb+srv://cooluser:coolpassword@cluster0.cojoign.mongodb.net/local_library?retryWri tes=true&w=majority&appName=Cluster0 ⏺ The runtime error you're seeing in your application is related to MongoDB Atlas connection issues. Based on your error message, the problem is: 1. You're using placeholder credentials ("cooluser:coolpassword") To fix this, you have two options: 1. Use a local MongoDB instance by changing line 29-30 in app.js to: const dev_db_url = "mongodb://127.0.0.1:27017/local_library"; 2. Or correctly set up MongoDB Atlas: - Log into Atlas at https://cloud.mongodb.com - Go to Network Access and add your current IP to whitelist - Create proper database credentials - Update the connection string with real credentials Which option would you like to proceed with?
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
Claude가 중단점을 설정하고, 변수를 검사하고, 코드를 단계별로 실행하여 NodeJS 서버를 직접 디버깅할 수 있도록 해줍니다.
Related Resources
Related MCP Servers
- -security-license-qualityThe Claude Dev Server enables direct interaction with the file system within a specified workspace, allowing users to perform file and directory operations and implement code artifacts in software development using natural language commands.
- Asecurity-licenseAqualityThe server facilitates natural language interactions for exploring and understanding codebases, providing insights into data models and system architecture using a cost-effective, simple setup with support for existing Claude Pro subscriptions.Last updated -420
- Asecurity-licenseAqualityThis project aims to build a Claude Code MCP server and implement its associated tools (explain\_code, review\_code, fix\_code, edit\_code, test\_code, simulate\_command, your\_own\_query). The server is implemented using Node.js and the MCP SDK. It receives tool requests from clients via Stdio, dynamicallyLast updated -72130MIT License
- Asecurity-licenseAqualityProvides GDB debugging functionality for use with Claude or other AI assistants, allowing users to manage debugging sessions, set breakpoints, examine variables, and execute GDB commands through natural language.Last updated -161955