MCP NodeJS Debugger

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Enables runtime inspection of MongoDB connection configurations and states to diagnose connection issues with MongoDB Atlas or local MongoDB instances.

  • Provides runtime inspection of Mongoose ORM configurations, connection states, and version information to help debug database connectivity issues.

  • Provides runtime debugging capabilities for NodeJS applications, allowing examination of variable values, setting breakpoints, listing breakpoints, and executing custom JavaScript code during program execution.

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

빠른 시작

커서

  1. 커서에 추가( ~/.cursor/mcp.json )지엑스피1
  2. 디버그 모드 에서 Node.js 서버를 실행합니다(예: --inspect flat 사용)
    node --inspect {file.js}
  3. 런타임에 Node.js 서버를 디버깅하도록 Cursor에 요청합니다.

클로드 코드

  1. 클로드 코드에 추가
    claude mcp add nodejs-debugger npx @hyperdrive-eng/mcp-nodejs-debugger
  2. 클로드 코드 시작
    claude ╭───────────────────────────────────────────────────────╮ │ ✻ Welcome to Claude Code research preview! │ │ │ │ /help for help │ │ │ │ Found 1 MCP server (use /mcp for status) │ ╰───────────────────────────────────────────────────────╯
  3. 디버그 모드 에서 Node.js 서버를 실행합니다(예: --inspect flat 사용)
    # In another terminal node --inspect {file.js}
  4. 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.

용법

클로드 코드

  1. 클로드 코드에 추가
    claude mcp add nodejs-debugger npx mcp-nodejs-debugger
  2. 연결 확인
    > /mcp ⎿ MCP Server Status • nodejs-debugger: connected
  3. Claude Code에서 제거
    claude remove nodejs-debugger

커서

  1. 커서에 추가( ~/.cursor/mcp.json )
    + { + "mcpServers": { + "nodejs-debugger": { + "command": "npx", + "args": ["@hyperdrive-eng/mcp-nodejs-debugger"] + } + } + }
  2. 연결 확인:
  3. 커서에서 제거( ~/.cursor/mcp.json ):
    - { - "mcpServers": { - "nodejs-debugger": { - "command": "npx", - "args": ["@hyperdrive-eng/mcp-nodejs-debugger"] - } - } - }

커서

  1. 이 간단한 Node.js 앱을 실행해 보세요: github.com/mdn/express-locallibrary-tutorial :
    node --inspect ./bin/www
  2. 커서에 중단점을 설정하도록 요청합니다.
  3. localhost:3000/catalog/book/create 에서 책을 만드세요
  4. 커서 캡처 런타임 상태를 확인하세요

클로드 코드

  1. 버그가 있는 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 }
  2. 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?
-
security - not tested
F
license - not found
-
quality - not tested

Claude가 중단점을 설정하고, 변수를 검사하고, 코드를 단계별로 실행하여 NodeJS 서버를 직접 디버깅할 수 있도록 해줍니다.

  1. Demo
    1. Cursor
    2. Claude Code
  2. Quick start
    1. Cursor
    2. Claude Code
  3. Usage
    1. Claude Code
    2. Cursor
  4. Example
    1. Cursor
    2. Claude Code
ID: itjl99xte7