MCP Node.js Debugger
Fornece acesso de depuração em tempo de execução para aplicações Node.js em editores de código como Cursor ou Claude Code.
Documentação
MCP Node.js Debugger
Um servidor MCP que dá ao Cursor ou Claude Code acesso ao Node.js em tempo de execução para ajudar você a depurar: @hyperdrive-eng/mcp-nodejs-debugger.
Demonstração
Cursor
https://github.com/user-attachments/assets/c193a17e-b0e6-4c51-82aa-7f3f0de17e1a
Claude Code
https://github.com/user-attachments/assets/adb7321b-3a6a-459b-a5c9-df365710d4d8
Início rápido
Cursor
-
Adicione ao Cursor (
~/.cursor/mcp.json)+ { + "mcpServers": { + "nodejs-debugger": { + "command": "npx", + "args": ["@hyperdrive-eng/mcp-nodejs-debugger"] + } + } + } -
Execute um servidor Node.js em modo de depuração (ou seja, com a flag
--inspect)node --inspect {file.js} -
Peça ao Cursor para depurar seu servidor Node.js em tempo de execução
Claude Code
-
Adicione ao Claude Code
claude mcp add nodejs-debugger npx @hyperdrive-eng/mcp-nodejs-debugger -
Inicie o Claude Code
claude ╭───────────────────────────────────────────────────────╮ │ ✻ Welcome to Claude Code research preview! │ │ │ │ /help for help │ │ │ │ Found 1 MCP server (use /mcp for status) │ ╰───────────────────────────────────────────────────────╯ -
Execute um servidor Node.js em modo de depuração (ou seja, com a flag
--inspect)# In another terminal node --inspect {file.js} -
Peça ao Claude Code para depurar seu servidor Node.js em tempo de execução
> 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.
Uso
Claude Code
-
Adicione ao Claude Code
claude mcp add nodejs-debugger npx mcp-nodejs-debugger -
Verifique a conexão
> /mcp ⎿ MCP Server Status • nodejs-debugger: connected -
Remova do Claude Code
claude remove nodejs-debugger
Cursor
-
Adicione ao Cursor (
~/.cursor/mcp.json)+ { + "mcpServers": { + "nodejs-debugger": { + "command": "npx", + "args": ["@hyperdrive-eng/mcp-nodejs-debugger"] + } + } + } -
Verifique a conexão:
-
Remova do Cursor (
~/.cursor/mcp.json):- { - "mcpServers": { - "nodejs-debugger": { - "command": "npx", - "args": ["@hyperdrive-eng/mcp-nodejs-debugger"] - } - } - }
Exemplo
Cursor
-
Execute este aplicativo Node.js simples: github.com/mdn/express-locallibrary-tutorial:
node --inspect ./bin/www -
Peça ao Cursor para definir um ponto de interrupção
-
Crie um livro em
localhost:3000/catalog/book/create -
Observe o Cursor capturar o estado em tempo de execução
Claude Code
-
Aqui está um servidor Node.js com bug:
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 } -
O Claude Code depura o servidor Node.js em tempo de execução:
> 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?