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 )
    + { + "mcpServers": { + "nodejs-debugger": { + "command": "npx", + "args": ["@hyperdrive-eng/mcp-nodejs-debugger"] + } + } + }
  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 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