From 5f82731f17ac1d8f5d343080820c9884c45813f9 Mon Sep 17 00:00:00 2001 From: Priyank Chodisetti Date: Wed, 19 Mar 2025 15:34:19 -0700 Subject: [PATCH 1/2] Update description so LLMs will know better when to use MCP --- package.json | 4 ++-- src/mcp-server.js | 42 +++++++++++++++++++++--------------------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/package.json b/package.json index fb8084f..392655e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "mcp-nodejs-debugger", - "version": "0.1.0-beta.5", + "name": "@hyperdrive-eng/mcp-nodejs-debugger", + "version": "0.2.0", "description": "An MCP server to debug Node.js at runtime", "main": "index.js", "bin": "./index.js", diff --git a/src/mcp-server.js b/src/mcp-server.js index d9ac949..8335812 100644 --- a/src/mcp-server.js +++ b/src/mcp-server.js @@ -6,27 +6,27 @@ import fetch from 'node-fetch'; // Create an MCP server const server = new McpServer({ - name: "Inspector", - version: "1.0.0", - description: `Node.js debugger that allows setting breakpoints and inspecting variables. - When using debugging capabilities, always instruct the user to navigate to their - website after setting breakpoints. Breakpoints will only be triggered when the user - interacts with their website in a way that causes the code at the breakpoint location to execute. - When user requests debugging, always use the following format: - 1. Set breakpoint - 2. Wait for user to navigate to their website and trigger breakpoint - 3. Inspect variables - 4. Execute code - 5. Step over - 6. Step into - 7. Step out - 8. Continue execution - 9. Delete breakpoint - 10. List breakpoints - 11. Get current location - 12. Evaluate expression - 13. Get script source - 14. Get properties` + name: "NodeJS Debugger", + version: "0.2.0", + description: `Advanced Node.js debugger for runtime analysis and troubleshooting. This tool connects to Node.js's built-in Inspector Protocol to provide powerful debugging capabilities directly through Claude Code. + + DEBUGGING STRATEGY: + Use debugger for the following: + - When you need to understand the runtime state of the application + - When you need to test potential fixes for the application + - When you need to explore the codebase to find the root cause of an issue + + + IMPORTANT NOTES: + - ALWAYS assume the user has already started their Node.js application in debug mode. + - If connection issues occur, suggest using retry_connect tool instead of restarting the server + - Don't try to start the debugger or the node server yourself. + - Always ask the user to trigger breakpoints manually, give them specific instructions on how to do so. + - When user interaction is required, provide EXTREMELY specific instructions + - Take initiative to explore the runtime state thoroughly when breakpoint is hit + - Keep breakpoints active until issue is fully resolved, then clean up using delete_breakpoint + - Set multiple strategic breakpoints at once to capture the full execution path leading to an error. + - NEVER use fetch() as it will break the debugging connection.` }); class Inspector { From b745817feb5d34c34b187016a8f188810f54d96e Mon Sep 17 00:00:00 2001 From: Priyank Chodisetti Date: Wed, 19 Mar 2025 15:37:50 -0700 Subject: [PATCH 2/2] Update package.json --- package-lock.json | 12 ++++++++---- package.json | 4 ++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6dddd90..995564d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { - "name": "mcp-nodejs-debugger", - "version": "0.1.0-beta.5", + "name": "@hyperdrive-eng/mcp-nodejs-debugger", + "version": "0.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "mcp-nodejs-debugger", - "version": "0.1.0-beta.5", + "name": "@hyperdrive-eng/mcp-nodejs-debugger", + "version": "0.2.0", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -26,6 +26,7 @@ "version": "1.7.0", "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.7.0.tgz", "integrity": "sha512-IYPe/FLpvF3IZrd/f5p5ffmWhMc3aEMuM2wGJASDqC2Ge7qatVCdbfPx3n/5xFeb19xN0j/911M2AaFuircsWA==", + "license": "MIT", "dependencies": { "content-type": "^1.0.5", "cors": "^2.8.5", @@ -666,6 +667,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "license": "MIT", "dependencies": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", @@ -1048,6 +1050,7 @@ "version": "8.18.1", "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", "integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==", + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -1068,6 +1071,7 @@ "version": "3.24.2", "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.2.tgz", "integrity": "sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" } diff --git a/package.json b/package.json index 392655e..1c202a1 100644 --- a/package.json +++ b/package.json @@ -37,10 +37,10 @@ }, "repository": { "type": "git", - "url": "https://github.com/hyperdrive-eng/mcp-debugger" + "url": "https://github.com/hyperdrive-eng/mcp-nodejs-debugger" }, "bugs": { - "url": "https://github.com/hyperdrive-eng/mcp-debugger/issues" + "url": "https://github.com/hyperdrive-eng/mcp-nodejs-debugger/issues" }, "homepage": "https://hyperdrive.engineering" }