Skip to main content
Glama
mohammed-almassri

mcp-debugger-node

mcp-debugger-node

npm version npm beta npm downloads CI license

MCP server for debugging Node.js programs through the V8 Inspector Protocol.

This server gives an AI agent debugger-style tools: start a Node process under --inspect-brk, set breakpoints, continue execution, wait for pauses, step, inspect variables, and evaluate expressions in the current call frame.

WARNING

This server starts whatever command is provided in thereset target config. Only use it in trusted local development environments. A target config can run arbitrary commands with your user permissions.

Run

This package is meant to be started by an MCP client over stdio:

npx -y mcp-debugger-node@beta

You usually do not run that command by hand. Instead, add it to your agent or editor MCP configuration.

The project is still in beta, so @beta is recommended until the first stable 1.0.0 release.

Codex

Add this to ~/.codex/config.toml:

[mcp_servers.node-debugger]
command = "npx"
args = ["-y", "mcp-debugger-node@beta"]

Claude Code

Use the Claude Code MCP CLI:

claude mcp add node-debugger -- npx -y mcp-debugger-node@beta

For a project-local config, run that command from the project you want to configure.

GitHub Copilot in VS Code

Create or update .vscode/mcp.json:

{
  "servers": {
    "node-debugger": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-debugger-node@beta"]
    }
  }
}

Other MCP Clients

Use a stdio server entry with:

{
  "command": "npx",
  "args": ["-y", "mcp-debugger-node@beta"]
}

Related MCP server: MCP Chrome Debugger Protocol

Quick Start

Start a debug session by calling reset with an explicit target:

{
  "target": {
    "cwd": "/path/to/project",
    "command": "node",
    "args": ["--inspect-brk=0", "server.js"]
  }
}

For a CommonJS TypeScript project using ts-node:

{
  "target": {
    "cwd": "/path/to/project",
    "command": "node",
    "args": ["--inspect-brk=0", "-r", "ts-node/register", "src/index.ts"]
  }
}

For an ESM TypeScript project:

{
  "target": {
    "cwd": "/path/to/project",
    "command": "node",
    "args": ["--inspect-brk=0", "--loader", "ts-node/esm", "src/index.ts"]
  }
}

The target must include --inspect-brk=0. The server reads the inspector URL from the target process stderr and connects to it.

Common Workflow

For simple scripts:

  1. Call reset with a target.

  2. Call set_breakpoint.

  3. Call resume.

  4. Call get_variables or evaluate.

  5. Use step_over or step_into as needed.

For event-driven servers:

  1. Call reset with a target.

  2. Call set_breakpoint in the endpoint or handler.

  3. Call continue.

  4. Trigger the event with curl, a browser, a test runner, or another tool.

  5. Call wait_for_pause.

  6. Inspect runtime state with get_variables and evaluate.

  7. Call continue again to let the request finish.

Example endpoint debugging flow:

{
  "urlRegex": "server\\.js$",
  "lineNumber": 42
}

Then:

continue
curl http://localhost:3000/api/users
wait_for_pause
evaluate {"expression":"req.url"}
get_variables
continue

Tools

reset

Restart the debug session with a fresh Node inspector process.

Input:

{
  "target": {
    "cwd": "/path/to/project",
    "command": "node",
    "args": ["--inspect-brk=0", "server.js"],
    "env": {
      "NODE_ENV": "development"
    }
  }
}

env is optional and is merged with the MCP server environment.

set_breakpoint

Set a breakpoint by matching a script URL with a regex.

Input:

{
  "urlRegex": "server\\.js$",
  "lineNumber": 10
}

lineNumber is zero-based, matching the Chrome DevTools Protocol.

set_pause_on_exceptions

Configure exception pause behavior.

Input:

{
  "state": "uncaught"
}

Allowed states:

  • none

  • uncaught

  • all

The default is uncaught.

continue

Resume execution and return immediately.

Use this when some external action needs to trigger the breakpoint, such as a curl request or browser interaction.

wait_for_pause

Wait until the debugged process pauses and return the current location.

Useful after continue when another tool is triggering the application.

resume

Resume execution and wait for the next pause.

This is convenient for scripts where the next pause will happen without an external trigger.

step_over

Step over the current statement and wait for the next pause.

step_into

Step into the next function call and wait for the next pause.

get_variables

Get variables for the latest paused call frame scope.

evaluate

Evaluate JavaScript in the latest paused call frame.

Input:

{
  "expression": "JSON.stringify(req.body)"
}

Exception Reporting

The debugger pauses on uncaught exceptions by default. When an exception pause happens, the pause result includes exception metadata:

{
  "reason": "exception",
  "lineNumber": 8,
  "columnNumber": 3,
  "exception": {
    "className": "Error",
    "description": "Error: file is not a database ..."
  }
}

This lets agents diagnose startup crashes and runtime failures without reading server logs.

Available Tools

11 tools
continueContinueA

Resume execution of the debugged Node.js process and return immediately.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavior. It states 'resume execution' and 'return immediately', which are key traits. However, it does not mention failure states, required process state, or side effects (e.g., permanent continuation).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no redundant words. Clearly conveys purpose and behavior efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with no parameters and no output schema, the description covers the essential action and non-blocking return. However, it lacks comparison to the sibling 'resume', which could cause confusion for an agent selecting tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so schema description coverage is 100%. Baseline for 0 parameters is 4. The description need not add param details, and it doesn't.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the specific action 'Resume execution' and targets 'debugged Node.js process'. It adds 'return immediately' to clarify non-blocking behavior. This distinguishes it from siblings like 'stepinto' or 'stepover' but is similar to 'resume'; however, the description is specific enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives, such as the sibling 'resume'. There is no mention of prerequisites (e.g., process must be paused) or scenarios where this is preferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

evaluateEvaluateB

Evaluate a JavaScript expression in the debugged runtime.

ParametersJSON Schema
NameRequiredDescriptionDefault
expressionYesJavaScript expression to evaluate

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description does not disclose that evaluating expressions may have side effects, asynchronous behavior, or security implications. For a tool executing arbitrary code, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence, front-loaded with key information. Efficient but could be expanded slightly without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks output schema, no mention of return values, error handling, side effects, or async behavior. Incomplete for a potentially powerful debugger tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already describes the 'expression' parameter. The description adds minimal extra meaning beyond the schema's description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (evaluate) and resource (JavaScript expression in the debugged runtime). It distinguishes well from sibling tools like getvariables or stepinto.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives (e.g., getvariables for variable inspection). No mention of when not to use it or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getvariablesGet variablesA

Get variables for the latest paused call frame scope.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must cover behavior. It states the scope but doesn't mention what happens if no call frame is paused or how variables are returned. Minimal but not misleading.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence of 8 words, front-loaded with purpose, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and no output schema, the description is adequate for a simple debugger tool. Could mention return format, but not necessary for basic usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters, so schema coverage is 100%. The description provides sufficient context for a zero-parameter tool, meeting the baseline of 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves variables for the latest paused call frame, differentiating it from sibling tools like evaluate or stepover.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies use when debugger is paused by specifying 'latest paused call frame', but could explicitly state when not to use it or provide alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resetResetB

Restart the debug session with a fresh Node inspector process for the provided target.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesDebug target to start.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It indicates a restart with a fresh process (implying destruction of the old session), but does not disclose details like whether state is preserved, if it's asynchronous, or what happens to breakpoints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded and to the point. Every word contributes to understanding the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the nested parameter structure and lack of output schema, the description is too brief. It does not explain return behavior, side effects, or interaction with sibling tools, leaving critical gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for each property. The description adds no extra meaning beyond the schema; it does not clarify parameter nuances or provide examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('restart the debug session') and the method ('fresh Node inspector process'). It uses specific verbs and resource ('restart', 'debug session'), distinguishing it from sibling tools like 'continue' or 'resume'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. It does not state prerequisites (e.g., an existing debug session) or provide examples of when a restart is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resumeResumeB

Resume execution of the debugged Node.js process and wait for the next pause.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It mentions waiting for the next pause but does not disclose prerequisites (e.g., must be in paused state), side effects, or error conditions. The behavior is partially clear but lacks sufficient detail for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 14 words, perfectly concise with no extraneous information. It is front-loaded and earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of sibling tools like 'continue' and 'stepover', the description lacks contextual completeness. It does not explain the difference from 'continue' (which might imply the same behavior) or mention that the process must be paused. The simple nature reduces the need, but more context would help.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, and schema coverage is 100%. The description does not need to add parameter info. The baseline for 0 parameters is 4, which is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Resume execution') and the specific resource ('debugged Node.js process'), with an additional detail about waiting for the next pause. It is unambiguous but does not explicitly differentiate from sibling tools like 'continue'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool vs alternatives such as 'continue', 'stepinto', or 'stepover'. The description only states what it does, not the context or conditions for use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_breakpointSet breakpointB

Set a breakpoint by matching a script URL with a regex.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlRegexYesRegex matching the script URL (e.g. 'src/foo\\.ts')
lineNumberYes0-based line number

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It does not disclose side effects, what happens if regex fails, whether it modifies state, or if it requires a running session.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with action and resource, no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool without output schema, the description is adequate but lacks information on behavior after setting (persistence, overwriting, removal).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains parameters. The description adds no new semantic value beyond reinforcing the regex matching aspect.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action (set a breakpoint) and mechanism (matching a script URL with a regex). It distinguishes itself from sibling debugger control tools like continue, stepinto, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. No mentions of prerequisites, conditions, or exclusions. The description only states what it does, not when.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_pause_on_exceptionsSet pause on exceptionsA

Configure whether the debugger pauses on no exceptions, uncaught exceptions, or all exceptions.

ParametersJSON Schema
NameRequiredDescriptionDefault
stateYesWhich exceptions should pause the debugger.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description clearly conveys the behavioral effect of the tool: it configures the debugger to pause on no exceptions, uncaught exceptions, or all exceptions. Since no annotations are provided, the description sufficiently fills the transparency gap, though it does not mention side effects or state implications.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that immediately conveys the tool's purpose. It contains no unnecessary words and is well-front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description is sufficient. It explains the core functionality without needing to detail return values or error conditions. However, it could mention if the change takes immediate effect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers the single parameter 'state' with a description. The tool description adds marginal value by paraphrasing the enum values ('no exceptions, uncaught exceptions, or all exceptions'), but schema coverage is 100%, so baseline is met.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: configuring the debugger's behavior for pausing on exceptions. It uses a specific verb ('configure') and resource (pause-on-exception behavior), and distinguishes itself from sibling tools like 'continue' or 'set_breakpoint'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention scenarios where changing exception pause settings is appropriate, nor does it explain when other debugger tools might be preferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stepintoStep intoB

Step into the next function call.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only states the action without explaining side effects, prerequisites, or behavior when no function call exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, clear sentence efficiently conveys the purpose. However, for a debugging tool, additional context could be added without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and no output schema, the description is minimally adequate. It lacks context about what happens after stepping into a function or how it fits into the debugging workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so schema coverage is 100%. The description adds value by explaining the tool's purpose, though no parameter details are needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Step into') and the target ('the next function call'), distinguishing it from sibling tools like 'stepover' (step over) and 'continue' (continue execution).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. Siblings are listed but no context for appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stepoverStep overA

Step over the current statement.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden but only states the action; it does not disclose what happens after stepping over (e.g., pausing, return values) or any behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words; it is appropriately front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of parameters, output schema, and annotations, the description is minimally complete but could benefit from clarifying the effect (e.g., moves to next line without entering functions).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so the description does not need to add parameter details; baseline 4 as per rubric for 0 parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'step over' and the resource 'current statement', which is specific and distinct from sibling tools like stepinto (step into) and continue (resume execution).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like stepinto or continue; the description only states the action without context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stopStopA

Stop the current debug target and clear the debug session.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description does not disclose side effects or whether the debugging process is killed or just suspended; the description is minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words; it is as concise as possible.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with no output schema, the description covers the essential action, though it could mention if debug state is lost.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, and schema coverage is 100%; the description adds no parameter info, which is acceptable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Stop' and the resource 'current debug target', and distinguishes from sibling tools like pause or step by specifying clearing the session.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like pause or reset; the context is implied but not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wait_for_pauseWait for pauseA

Wait until the debugged Node.js process pauses and return the current location.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations were provided, so the description bears full burden. It discloses the blocking wait and return of location, but lacks details on timeout, state effects, or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that efficiently communicates the tool's action and output without excess.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description mentions returning 'current location' but does not specify the format or what constitutes a location (e.g., file and line number). Some ambiguity remains for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and baseline for 0 params is 4. The description does not need to add parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool waits for a pause and returns the current location, distinguishing it from sibling tools like 'continue' or 'stepinto'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when needing to wait for a debugger pause, but does not explicitly state when not to use or offer alternatives. Context from sibling tools helps clarify purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 11 tool updatesv0.1.0
    • First observedcontinue
    • First observedevaluate
    • First observedgetvariables
    • First observedreset
    • First observedresume
    • First observedset_breakpoint
    • First observedset_pause_on_exceptions
    • First observedstepinto
    • First observedstepover
    • First observedstop
    • First observedwait_for_pause

TDQS

B3.4/5.0
Disambiguation5/5

Each tool has a distinct purpose with clear descriptions; continue and resume are differentiated by return behavior, and all other tools target unique debugger actions.

Naming Consistency2/5

Tool names mix single-word verbs (continue, stop) with underscore-separated phrases (set_breakpoint, wait_for_pause), and 'getvariables' lacks a separator, creating an inconsistent pattern.

Tool Count5/5

11 tools cover essential debugger operations without being excessive, fitting well within the typical 3-15 range for a focused domain.

Completeness2/5

Missing critical features like removing or listing breakpoints, retrieving call stacks, and setting variables, which are essential for productive debugging sessions.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    A
    maintenance
    An MCP server and VS Code extension that enables AI clients to interactively debug code using breakpoints, execution control, and state inspection. It is language-agnostic and works with any debugger that supports VS Code's launch.json configurations.
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mohammed-almassri/mcp-debugger-node'

If you have feedback or need assistance with the MCP directory API, please join our Discord server