Skip to main content
Glama

GDB MCP Server

MCP服务器,用于AI Agent调试嵌入式系统程序。支持交叉编译GDB工具(aarch64、arm等),远程调试(gdbserver/QEMU),提供完整的调试信息查询功能。

功能特性

  • 多架构支持: aarch64-none-linux-gnu-gdb, arm-none-eabi-gdb, x86_64-gdb

  • 远程调试: 连接目标板的gdbserver或QEMU模拟器

  • 条件断点: 支持条件表达式断点

  • 完整调试信息: 寄存器、内存、堆栈、变量、线程等

  • MCP集成: 作为Claude Code或其他MCP客户端的工具使用

Related MCP server: gdb-mcp

快速开始

1. 安装

npm install
npm run build

2. 配置MCP客户端

在Claude Code的设置中添加:

{
  "mcpServers": {
    "gdb": {
      "command": "node",
      "args": ["C:/Users/zjm09/Documents/work/2025/gdb-mcp/dist/index.js"]
    }
  }
}

3. 使用MCP工具

# 初始化GDB
gdb_init({architecture: "aarch64"})

# 连接目标
gdb_connect({target: "localhost:1234"})

# 加载程序
gdb_load_program({programPath: "./main"})

# 设置断点
gdb_set_breakpoint({location: "main.c:10"})
gdb_set_breakpoint({location: "factorial", condition: "n==0"})  # 条件断点

# 执行调试
gdb_run()
gdb_step()
gdb_next()

# 查看信息
gdb_list_registers()
gdb_read_registers({registers: ["pc", "sp"]})
gdb_list_locals()
gdb_evaluate_expression({expression: "x"})

工具列表

连接管理

工具

描述

gdb_init

启动GDB进程

gdb_connect

连接远程目标

gdb_disconnect

断开并终止GDB

gdb_load_program

加载可执行文件

执行控制

工具

描述

gdb_run

开始执行

gdb_continue

继续执行

gdb_step

单步进入函数

gdb_next

单步跳过函数

gdb_finish

执行到返回

gdb_interrupt

中断执行

断点管理

工具

描述

gdb_set_breakpoint

设置断点(支持条件)

gdb_delete_breakpoint

删除断点

gdb_list_breakpoints

列出断点

gdb_enable_breakpoint

启用断点

gdb_disable_breakpoint

禁用断点

gdb_set_condition

设置断点条件

内存/寄存器

工具

描述

gdb_read_memory

读取内存

gdb_list_registers

列出寄存器名

gdb_read_registers

读取寄存器值

gdb_write_register

写入寄存器

堆栈/变量

工具

描述

gdb_list_frames

列出调用栈

gdb_select_frame

选择栈帧

gdb_list_locals

列出局部变量

gdb_list_arguments

列出函数参数

gdb_evaluate_expression

计算表达式

线程管理

工具

描述

gdb_list_threads

列出线程

gdb_select_thread

选择线程

调试信息

工具

描述

gdb_get_current_location

获取当前位置

gdb_list_source_files

列出源文件

gdb_disassemble

反汇编

高级

工具

描述

gdb_command

执行原始GDB MI命令

测试

使用QEMU模拟

cd tests/test-program
make                # 交叉编译
bash start-qemu.sh  # 启动QEMU等待GDB连接

测试流程

  1. 启动QEMU后,使用MCP工具连接

  2. 设置断点、执行调试

  3. 查看变量、寄存器等调试信息

项目结构

gdb-mcp/
├── src/
│   ├── index.ts           # MCP服务器入口
│   ├── gdb/
│   │   ├── gdb-process.ts # GDB进程管理
│   │   ├── mi-parser.ts   # MI输出解析
│   │   ├── mi-commands.ts # MI命令构建
│   │   └── types.ts       # 类型定义
│   ├── schemas/           # Zod验证
│   └── constants.ts       # 配置常量
├── tests/
│   └ test-program/        # 测试程序
│   └ README.md
│   └ tsconfig.json
│   └ package.json

开发

npm run dev      # 开发模式(自动重载)
npm run build    # 编译
npm run inspector # 使用MCP Inspector测试

许可证

MIT

Available Tools

31 tools
gdb_command执行GDB MI命令A
Destructive

直接执行GDB Machine Interface (MI)命令。

参数:

  • command: MI命令 (以 - 开头,如 -break-list, -exec-run)

  • waitForDone (可选): 是否等待完成响应 (默认true)

示例:

  • gdb_command({command: "-break-list"}) → 列出所有断点

  • gdb_command({command: "-exec-run"}) → 运行程序

高级用法:当其他工具不支持特定操作时使用。

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYesGDB MI command to execute, e.g., -break-list
waitForDoneNoWait for 'done' response

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already indicate destructiveHint=true and readOnlyHint=false. Description adds context about waiting for done response, but doesn't elaborate on potential state changes or side effects beyond what annotations convey.

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?

Description is concise with a clear purpose statement, parameter list, and examples. Could be slightly better formatted but not overly long.

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 complexity as a generic MI command executor, the description covers purpose, parameters, usage guidance, and examples. Missing return value details, but no output schema exists.

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?

Schema covers both parameters with descriptions (100% coverage). Description adds examples and parameter details, providing extra clarity beyond schema.

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 executes GDB MI commands directly, distinguishing it from sibling tools by noting it's for advanced usage when specific tools don't support the operation.

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?

Explicitly states 'advanced usage when other tools do not support specific operations,' providing clear guidance on when to use this tool over siblings, though no explicit when-not-to-use is given.

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

gdb_connect连接远程目标板A

通过TCP连接到目标板的gdbserver或QEMU。

参数:

  • target: 目标地址,格式为 host:port (例如 192.168.1.100:1234 或 localhost:1234)

示例:

  • gdb_connect({target: "localhost:1234"}) → 连接本地QEMU

  • gdb_connect({target: "192.168.1.100:1234"}) → 连接远程目标板

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesRemote target address, e.g., 192.168.1.100:1234 or localhost:1234

TDQS

A4.2/5.0
Behavior3/5

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

Annotations indicate it is not read-only and not idempotent, which aligns with establishing a connection. The description adds no further behavioral traits (e.g., timeouts, reconnection behavior), so it provides minimal extra value.

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 very concise and well-structured, with a clear header, parameter list, and examples—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?

The tool is simple (one parameter), and the description covers the core functionality. However, it omits return values or error handling, which could be useful for a connection tool.

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 schema already describes the parameter, but the description reinforces the format and provides concrete examples, adding useful context beyond the schema.

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 that the tool connects via TCP to a target board's gdbserver or QEMU, distinguishing it from sibling tools like gdb_continue or gdb_disconnect.

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?

Examples show connecting to localhost or remote IP, and the context (TCP connection to debugger) implies when to use, but no explicit when-not or alternatives are mentioned.

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

gdb_continue继续执行A

从当前位置继续执行程序。程序将运行直到遇到断点或异常。

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?

Annotations provide limited behavioral cues (readOnlyHint=false, destructiveHint=false, idempotentHint=false). The description discloses that execution continues until breakpoint/exception, but does not explicitly mention that executing modifies program state (e.g., changing registers, memory). While this is standard for execution tools, the description adds moderate value beyond annotations.

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 two concise sentences, front-loaded with the action, and contains no extraneous information. Every sentence adds value.

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

Completeness5/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, no output schema, and basic annotations, the description is complete. It explains what the tool does and the stopping conditions, which is sufficient for an agent to use it correctly.

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 schema description coverage is 100%. The description does not need to add parameter info beyond what the schema already provides. Baseline of 4 is appropriate.

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 that it continues execution from the current position until a breakpoint or exception is encountered. This verb+resource definition is specific and distinguishes it from sibling tools like gdb_step (single step) and gdb_next (next line).

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?

The description implies usage after a break or step to resume full execution, but it does not explicitly state when to use this tool versus alternatives like gdb_run (start from beginning) or gdb_finish (continue until function return). No direct comparison or when-not-to-use guidance is provided.

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

gdb_delete_breakpoint删除断点A
DestructiveIdempotent

删除指定编号的断点。

ParametersJSON Schema
NameRequiredDescriptionDefault
breakpointIdYesBreakpoint number, e.g., 1 or 1.2

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already indicate destructiveHint=true and idempotentHint=true. The description adds no new behavioral context beyond stating the deletion action.

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 with no unnecessary words or structure.

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 simplicity of the tool and the availability of annotations and schema documentation, the description is adequate. It could mention potential errors or consequences but is largely complete for a delete operation.

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% and documents the parameter well. The description mentions the breakpoint number but adds no additional semantic meaning beyond what the schema provides.

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 (delete) and the resource (breakpoint by number), distinguishing it from sibling tools like disable or enable 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?

No usage guidance is provided; the description does not indicate when to use this tool over alternatives or any prerequisites or context.

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

gdb_disable_breakpoint禁用断点A
Idempotent

禁用指定编号的断点。

ParametersJSON Schema
NameRequiredDescriptionDefault
breakpointIdYesBreakpoint number, e.g., 1 or 1.2

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already indicate idempotentHint=true and destructiveHint=false. The description adds 'disable' but no further behavioral context (e.g., impact on other breakpoints or prerequisites). With annotations covering safety, this is adequate but not beyond.

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 directly states the purpose. No unnecessary words, front-loaded.

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 tool is simple with one parameter and no output schema. The description covers the core action but lacks context about usage relative to siblings, which is a gap given the sibling list.

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%, providing clear parameter meaning. The description does not add additional semantics beyond the schema, so baseline of 3 applies.

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 (disable) and the resource (breakpoint with specified number). It distinguishes from siblings like gdb_delete_breakpoint and gdb_enable_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, such as gdb_delete_breakpoint or gdb_enable_breakpoint. No context or exclusions are given.

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

gdb_disassemble反汇编A
Read-onlyIdempotent

反汇编当前函数或指定地址范围。

参数:

  • start (可选): 起始地址

  • end (可选): 结束地址

默认反汇编当前函数。

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoEnd address for disassembly
startNoStart address for disassembly

TDQS

A4/5.0
Behavior3/5

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

Annotations already specify readOnlyHint=true and destructiveHint=false, so the tool is clearly safe and idempotent. The description adds that the default behavior is to disassemble the current function, but it does not elaborate on the output format or any side effects, which would typically be understood for a disassembly tool.

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 exceptionally concise with no fluff. The primary purpose is stated upfront, followed by a clear parameter listing. Every sentence is justified and adds to understanding.

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 simplicity of the tool (2 optional parameters, no output schema), the description is largely complete. It covers the default behavior and parameter usage. However, it could be improved by mentioning the output format (e.g., assembly instructions) to ensure the agent knows what to expect.

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 parameters are well-documented structurally. The description offers translations into Chinese and restates that both are optional, which adds minimal value beyond the schema. Baseline score of 3 is appropriate.

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 disassembles either the current function or a specified address range. It uses a specific verb and resource, distinguishing it from sibling tools like gdb_command or gdb_read_memory.

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 explains that start and end parameters are optional and defaults to disassembling the current function. It provides clear context but does not offer explicit exclusions or alternative tool recommendations, which is acceptable given the straightforward nature of disassembly.

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

gdb_disconnect断开连接并终止GDBA
DestructiveIdempotent

优雅地断开与目标板的连接并终止GDB进程。会先发送detach命令通知gdbserver。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

Annotations already indicate destructive and idempotent behavior. The description adds that it sends 'detach' command first, but does not elaborate on what gets destroyed (connection, process) or state after. Some behavioral context added, but could be more comprehensive.

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?

Two concise sentences with no fluff. Every word contributes meaning. Front-loaded with the primary action.

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, no output schema, and strong annotations, the description covers the essential operation. Could mention return value or confirmation, but sufficient for a simple disconnect.

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, so schema coverage is 100%. Baseline for 0 parameters is 4; the description does not need to add parameter info.

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: '断开连接并终止GDB进程' (disconnect and terminate GDB process), specifying the verb and resource. It distinguishes from siblings like gdb_connect by focusing on termination.

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?

The description implies use when finished with GDB, but provides no explicit when-to-use, when-not-to-use, or alternatives guidance. Siblings exist for other operations, but no direct comparison.

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

gdb_enable_breakpoint启用断点A
Idempotent

启用指定编号的断点。

ParametersJSON Schema
NameRequiredDescriptionDefault
breakpointIdYesBreakpoint number, e.g., 1 or 1.2

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already indicate idempotentHint: true and destructiveHint: false, which suggest a non-destructive state change. The description adds no extra behavioral context beyond 'enable', so it meets the minimum bar given annotation coverage.

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?

Description is a single, concise sentence with no extraneous information. Every word is necessary and contributes to clarity.

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 simplicity of the tool (one required parameter, no output schema), the description is mostly complete. However, it could mention that the tool is idempotent or that it only works on existing breakpoints, but the annotations partially cover behavioral aspects.

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 breakpointId with description. The description adds no additional semantic information beyond what is in the schema (e.g., specifying the number format). High schema coverage (100%) yields baseline of 3.

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?

Description clearly states it enables a breakpoint by number. The verb 'enable' and resource 'breakpoint' are specific, and it distinguishes from sibling tools like gdb_disable_breakpoint (disable) and gdb_set_breakpoint (set).

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 (e.g., gdb_disable_breakpoint, gdb_set_breakpoint). The description only states what it does, without context for selection.

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

gdb_evaluate_expression计算表达式A
Read-onlyIdempotent

计算并返回表达式的值。

参数:

  • expression: 要计算的表达式 (如 x, *ptr, sizeof(var), x+y)

示例:

  • gdb_evaluate_expression({expression: "x"}) → 返回变量x的值

  • gdb_evaluate_expression({expression: "*ptr"}) → 返回指针指向的值

ParametersJSON Schema
NameRequiredDescriptionDefault
expressionYesExpression to evaluate, e.g., x, *ptr, sizeof(var)

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already convey read-only, non-destructive, idempotent behavior. The description adds value by specifying the return value and examples of expressions, which provides behavioral context beyond annotations.

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?

Two short paragraphs with examples. No wasted words, information is front-loaded.

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

Completeness5/5

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

Despite no output schema, the description explains what is returned (the evaluated value) and provides examples, making it complete for a simple evaluation tool.

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?

Schema covers the parameter with a description; the description extends it with concrete examples of valid expressions, adding meaningful guidance beyond the schema.

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 computes and returns expression values. It distinguishes from siblings by focusing on arbitrary expression evaluation, unlike memory reads or register listings.

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?

Examples show typical usage scenarios (variables, pointers, sizeof). Implicitly it's for evaluating expressions during debugging; could explicitly mention alternatives like gdb_read_memory for addresses, but clear enough.

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

gdb_finish执行到函数返回A

继续执行直到当前函数返回。在返回点暂停。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior4/5

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

The description clearly outlines the tool's behavior: execution stops at function return. Annotations are minimal (both false), but description adds specific behavioral detail without contradiction.

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?

Two concise sentences, front-loaded with purpose. Every word is necessary and no redundancy.

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 adequately explains the tool's purpose and behavior. It could mention prerequisites (e.g., must be inside a function) but is sufficient for its simplicity.

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; schema coverage is 100% (empty). The description correctly omits parameter details. Baseline score of 4 for zero-parameter tools applies.

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: 'continue execution until current function returns and pause at the return point'. It distinguishes from siblings like 'gdb_continue' (runs indefinitely) and 'gdb_step' (step into/over) by specifying the exact stopping condition.

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 explicit guidance on when to use this tool versus alternatives like gdb_step or gdb_continue. The description only explains behavior, not usage context.

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

gdb_get_current_location获取当前位置A
Read-onlyIdempotent

获取程序当前位置(源文件和行号)。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds that it returns source file and line number, but does not mention potential error conditions or the response format. This is adequate but minimal beyond annotations.

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 front-loades the core purpose. Every word adds value, with no redundancy or filler.

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

Completeness5/5

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

Given the tool's simplicity (zero parameters, rich annotations), the description is complete. It states what the tool does and what it returns, which is sufficient for an agent to use it correctly.

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, so the baseline is 4. The description does not need to add parameter meaning, and it correctly implies no parameters 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 tool gets the current program location (source file and line number). It uses a specific verb and resource, and it distinguishes itself from sibling tools like gdb_list_frames by focusing specifically on the current location rather than stack frames.

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 such as gdb_list_frames or gdb_evaluate_expression. The agent must infer usage from the tool name and purpose alone.

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

gdb_init初始化GDB调试器A

启动指定架构的GDB进程,默认使用aarch64交叉编译器。

参数:

  • gdbPath (可选): GDB可执行文件路径

  • architecture (可选): 目标架构 (aarch64/arm/x86_64)

示例:

  • gdb_init() → 使用默认 aarch64-none-linux-gnu-gdb

  • gdb_init({architecture: "arm"}) → 使用 arm-none-eabi-gdb

  • gdb_init({gdbPath: "/opt/gdb/my-gdb"}) → 使用自定义GDB路径

ParametersJSON Schema
NameRequiredDescriptionDefault
gdbPathNoGDB executable path, defaults to aarch64-none-linux-gnu-gdb
architectureNoTarget architecture

TDQS

A4.4/5.0
Behavior4/5

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

The description discloses that it launches a GDB process, which implies state change. Annotations show readOnlyHint=false, destructiveHint=false, so no contradiction. It could mention potential side effects like resource usage, but overall transparency is good.

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 concise with a clear structure: brief summary, parameter list with descriptions (partially in schema), and examples. Every sentence adds value without redundancy.

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 tool with two optional parameters and no output schema, the description is sufficient. It explains the purpose, parameters, and usage. Could mention that initialization is a prerequisite for other GDB tools, but sibling list implies that.

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?

Schema coverage is 100%, so parameters are fully described. The description adds examples showing default behavior and how parameters affect the GDB path. This enhances understanding but does not add entirely new semantic meaning beyond schema.

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?

Title and description clearly state that the tool initializes a GDB debugger for a specified architecture. It distinguishes from siblings like gdb_connect, gdb_run, etc., by being the tool that starts the debugger process. The description provides specific verb and resource, and examples further clarify.

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 explains when to use the tool (before connecting or running programs) and provides examples with optional parameters. However, it does not explicitly state when not to use it or compare to alternatives, though the context from sibling tools makes it implicit.

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

gdb_interrupt中断执行A

中断正在运行的程序。程序将暂停在当前位置。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

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

The description adds that the program will pause at the current location, which is useful. However, it doesn't mention side effects or state preservation beyond annotations. Annotations are neutral, so description is adequate but not rich.

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?

One sentence, no waste, front-loaded with action and outcome. Perfect for a simple tool.

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

Completeness5/5

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

With zero parameters, no output schema, and clear sibling differentiation, the description is complete. It tells everything needed for correct invocation.

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%. Baseline 4 is appropriate as the description doesn't need to add parameter detail.

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 'interrupt' and the resource 'running program' with a specific outcome. It distinguishes from siblings like gdb_continue and gdb_run.

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 implicitly tells when to use (when a program is running). While it doesn't explicitly list when not to use, the sibling tools provide alternatives, and the context is clear.

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

gdb_list_arguments列出函数参数A
Read-onlyIdempotent

列出当前函数的参数及其值。

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?

Annotations already indicate readOnlyHint, idempotentHint, and non-destructive nature. The description adds no further behavioral context, such as requiring an active debug session or behavior when no function is selected. It does not contradict annotations, so a baseline score is appropriate.

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. Every word is useful, and there is no extraneous information.

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 (no parameters, no output schema, and annotations covering safety), the description is adequate. It could briefly mention prerequisites like being stopped in a function, but missing this does not severely impair understanding.

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 input schema has no parameters, and schema coverage is 100%. The description does not need to add parameter details. It simply adds that it lists arguments and values, which is clear enough given the lack of 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 tool lists the arguments of the current function and their values. It uses a specific verb 'list' and identifies the resource as 'arguments of the current function', distinguishing it from sibling tools like gdb_list_locals or gdb_list_breakpoints.

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 usage guidelines are provided. The description does not mention when to use this tool (e.g., when stopped in a function) or compare it to alternatives such as gdb_list_locals which might also display arguments.

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

gdb_list_breakpoints列出所有断点A
Read-onlyIdempotent

列出当前设置的所有断点及其详细信息(包括条件)。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already indicate read-only and non-destructive behavior. The description adds that details include conditions, which is useful but not necessary.

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 front-loaded sentence efficiently conveys the purpose and scope.

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

Completeness5/5

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

Low complexity tool with good annotations. Description fully covers what the tool does and what the output contains, despite no output schema.

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?

No parameters exist and schema coverage is 100%. The description adds no parameter info, but baseline 3 is appropriate.

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 lists all breakpoints with details including conditions, distinguishing it from siblings like gdb_set_breakpoint or gdb_delete_breakpoint.

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 when-to-use or alternatives, but the context is clear for a listing tool. Implied usage is sufficient given the tool's simplicity and distinct purpose.

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

gdb_list_frames列出调用栈帧A
Read-onlyIdempotent

列出当前的调用栈帧信息。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description does not need to reiterate safety. It adds 'current' context, which is valuable, and no contradictions exist.

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 conveys the tool's purpose without any extraneous information. Every word earns its place.

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 minimally adequate. It states what the tool does, which is sufficient for a simple list operation, though it could mention output format or behavior.

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, so the description's role is minimal. The description does not need to add parameter details, and schema coverage is 100% (empty). Baseline of 4 is appropriate.

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 explicitly states 'list the current call stack frame information', using a specific verb and resource, and distinguishes from sibling tools like gdb_list_locals or gdb_list_arguments.

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 for retrieving call stack frames, but does not explicitly mention when not to use it or alternative tools. However, among siblings, its purpose is clear enough for an agent to infer appropriate context.

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

gdb_list_locals列出局部变量A
Read-onlyIdempotent

列出当前栈帧的局部变量及其值。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

Annotations already indicate a safe, idempotent read operation. The description adds no further behavioral details such as effect on state or error conditions, but this is acceptable given the simple nature of the tool.

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 unnecessary words, perfectly concise and directly addresses the tool's function.

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?

Adequate description for a simple list tool without output schema. Could be improved by specifying the return format (e.g., names and values), but it's complete enough for an agent to understand the purpose.

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 in the schema, so the description doesn't need to explain any. A baseline score of 4 is appropriate for zero-parameter tools.

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 lists local variables and their values of the current stack frame. This distinguishes it from sibling tools like gdb_list_arguments and gdb_list_registers, which list different scopes.

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?

Implies usage when needing local variables of the current stack frame, but lacks explicit guidance on when to use this versus alternatives or prerequisites like selecting a frame.

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

gdb_list_registers列出寄存器名称A
Read-onlyIdempotent

获取目标架构的所有寄存器名称列表。

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?

Annotations already declare the tool as readOnly, idempotent, and non-destructive. The description adds no additional behavioral context beyond stating it lists register names, which is already implied by the name and title.

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 that is direct and efficient. No wasted words; it conveys the core purpose immediately.

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

Completeness5/5

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

For a simple list tool with no output schema and full annotations, the description is complete. It tells the agent exactly what the tool does—no additional information is needed for correct invocation.

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 zero parameters, so schema coverage is 100%. With 0 parameters, baseline score is 4. The description does not need to elaborate on 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?

Description clearly states the tool returns a list of all register names for the target architecture. This is specific and distinguishes it from siblings like gdb_read_registers which likely returns values.

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 vs alternatives. The purpose is clear, but no exclusions or context for when not to use it are provided. Sibling tools like gdb_read_registers imply a different use case, but the description doesn't highlight it.

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

gdb_list_source_files列出源文件A
Read-onlyIdempotent

列出调试程序的所有源文件。

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?

Annotations already convey readOnly, idempotent, and non-destructive behavior. The description adds minimal behavioral context beyond restating the action. No extra details about side effects, authorization, or limitations are provided.

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 short sentence that immediately states the action and resource. It is perfectly concise with no extraneous information.

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 has no parameters and clear annotations, the description sufficiently conveys the core purpose. However, it lacks details about the output (e.g., format, whether it lists all files including headers) that could be helpful for an agent. Still, it is adequate for a simple listing tool.

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 input schema has no parameters, so schema coverage is 100%. The description does not need to explain parameters, and it correctly omits any. Baseline 4 applies as no additional parameter information is required.

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 '列出调试程序的所有源文件' (list all source files of the debugged program), which uses a specific verb and resource, and clearly distinguishes from sibling tools like gdb_list_breakpoints or gdb_list_frames.

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 does not provide any guidance on when to use this tool versus alternatives, nor does it mention prerequisites or contextual scenarios. Sibling tools are listed but not compared.

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

gdb_list_threads列出所有线程A
Read-onlyIdempotent

列出当前程序的所有线程信息。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds that the tool lists threads of the 'current program,' which provides minor additional context but does not disclose significant behavioral traits beyond what annotations offer.

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 filler. It efficiently communicates the tool's purpose without unnecessary detail.

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?

While the tool is simple with no parameters or output schema, the description is minimal. It does not describe the format or extent of thread information returned, leaving room for ambiguity. For a straightforward list operation, it is marginally adequate.

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?

There are no parameters, and schema coverage is 100%. The description does not add parameter semantics, but none are needed given the tool's simplicity. Baseline score of 3 is appropriate.

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 'List all thread information of the current program,' using a specific verb and resource. It effectively distinguishes from sibling tools like gdb_select_thread, which focuses on selecting a thread rather than listing.

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 such as gdb_select_thread or other list tools. The description lacks context about prerequisites or typical usage scenarios.

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

gdb_load_program加载可执行文件A

加载要调试的可执行文件及其符号表。

参数:

  • programPath: 可执行文件路径

必须在连接目标板后调用此命令。

ParametersJSON Schema
NameRequiredDescriptionDefault
programPathYesPath to the executable file to debug

TDQS

A4.2/5.0
Behavior4/5

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

Annotations indicate readOnlyHint=false and destructiveHint=false, consistent with a load operation. The description adds the critical prerequisite of prior connection, going beyond annotations without contradiction.

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?

Two concise sentences front-load purpose and prerequisite. Every sentence provides value with no redundancy.

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 one required parameter and no output schema, the description adequately covers purpose, parameter, and a key prerequisite. Could mention error cases but sufficient for the complexity.

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 parameter description for programPath. The description repeats the parameter name and purpose, adding no extra semantics beyond the schema.

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 loads an executable and its symbol table for debugging, using a specific verb and resource. It distinguishes itself from sibling tools like gdb_connect or gdb_run.

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?

Explicitly states must be called after connecting to target board, providing clear context for when to use. Does not mention when not to use or alternatives, but the prerequisite is clearly defined.

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

gdb_next单步执行(跳过函数)A

执行一行代码。如果当前行包含函数调用,将跳过该函数(不进入内部)。

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?

Annotations already indicate the tool is not read-only (readOnlyHint: false), so the description correctly implies state modification. It adds minimal behavioral context beyond executing a line and skipping functions. No mention of side effects, but expected for debugger stepping.

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?

Two short sentences, no wasted words. Front-loaded with the action and immediately clarifies the behavior for function calls.

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 zero parameters and no output schema, the description is mostly complete. It could mention what happens after execution (e.g., current line moves), but not strictly necessary.

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 in the schema, so the baseline is 4. The description does not need to explain parameters. It correctly handles the zero-parameter case.

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 (执行,execute) and resource (一行代码,one line of code), and distinguishes from siblings by specifying '跳过函数(不进入内部)' (skip function, do not enter inside), which contrasts with gdb_step (step into).

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 you want to skip function calls, but does not explicitly mention when not to use it or name alternatives like gdb_step or gdb_continue. However, the context of sibling tools and the clear behavior makes it fairly intuitive.

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

gdb_read_memory读取内存A
Read-onlyIdempotent

从指定地址读取内存内容。

参数:

  • address: 内存地址 (如 0x400000)

  • length: 读取字节数 (1-4096)

ParametersJSON Schema
NameRequiredDescriptionDefault
lengthYesNumber of bytes to read
addressYesMemory address to read from, e.g., 0x400000

TDQS

A3.7/5.0
Behavior4/5

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

注解已声明只读、幂等、非破坏性。描述补充了地址格式示例和长度范围(1-4096),有助于理解约束。但未说明返回格式或错误处理。

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?

描述仅两句话,首句直接说明目的,后行列出参数。无冗余信息,结构清晰,且中文/英文混合不影响理解。

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?

对于无输出模式的工具,描述未说明返回值格式(如十六进制或原始字节)。未提及前置条件(如连接状态)。注解覆盖了安全性,但完整性仍有提升空间。

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?

输入模式已提供两个参数的完整描述(100%覆盖)。描述中的参数说明与模式内容重复,未添加新语义。基础分为 3。

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?

描述明确说明工具功能:从指定地址读取内存内容。动词(读取)和资源(内存地址)具体,且与兄弟工具(如 gdb_read_registers)区分清晰。

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?

描述未提供何时使用或何时不使用此工具代替其他工具的建议。未提及其他工具(如 gdb_disassemble)或前提条件(如需要先连接)。

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

gdb_read_registers读取寄存器值B
Read-onlyIdempotent

读取指定寄存器的值,默认读取所有寄存器。

参数:

  • registers (可选): 寄存器名称列表,如 [r0, pc, sp]

ParametersJSON Schema
NameRequiredDescriptionDefault
registersNoRegister names to read, e.g., [r0, pc, sp]; read all if omitted

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already indicate read-only, non-destructive, idempotent behavior. The description adds the default behavior of reading all registers but does not provide additional behavioral context beyond the annotations.

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?

The description is concise, with two sentences that front-load the purpose. It includes the parameter details efficiently, though it could be slightly more structured.

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 simplicity of the tool and good annotations, the description is adequate but lacks information about the return format. Since no output schema exists, the description could have clarified what the tool returns.

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% for the only parameter, with a description that matches the tool's description. The description adds no new meaning beyond what the schema already provides.

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 it reads register values, with an option to specify which registers, defaulting to all. However, it does not differentiate from the sibling tool gdb_list_registers, which may have a similar purpose.

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 gdb_list_registers or gdb_evaluate_expression. The description lacks 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.

gdb_run开始执行程序A

从程序入口点开始执行。程序将运行直到遇到断点或异常。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

The description adds behavior beyond annotations (run until breakpoint/exception). Annotations are present but do not contradict; the tool is a normal execution action.

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?

Two concise sentences, front-loaded with the action, no filler.

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?

Complete for a simple tool with no parameters or output schema, but could mention prerequisites like a loaded program (implied by siblings).

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 (schema coverage 100%), so the description adequately conveys no input needed; baseline 4 for 0 params.

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 starts execution from the program entry point and runs until a breakpoint or exception, distinguishing it from siblings like gdb_continue (resume) and gdb_step (step into).

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 gdb_continue or gdb_next; 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.

gdb_select_frame选择栈帧A
Idempotent

选择指定编号的栈帧,用于查看该层的局部变量。

参数:

  • frameId: 栈帧编号 (从0开始,0为当前帧)

ParametersJSON Schema
NameRequiredDescriptionDefault
frameIdYesFrame number to select

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already provide idempotentHint=true and destructiveHint=false, so the agent knows it's safe and idempotent. The description adds that it selects a frame for viewing locals, but does not disclose that it changes the debugger's current frame state. With annotations covering the safety profile, the description adds minimal extra behavioral context.

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 extremely concise: two sentences plus a parameter line with no waste. Every word earns its place.

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

Completeness5/5

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

Given the single required parameter, no output schema, and the simple operation, the description is fully complete. It explains what the tool does, what the parameter means, and the 0-based indexing.

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?

Schema coverage is 100%, but the description adds the crucial detail that frameId is 0-based and that 0 refers to the current frame. This provides meaning beyond the schema's 'Frame number to select'.

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 (select a stack frame) and its purpose (view local variables). It distinguishes from siblings like gdb_list_frames (lists frames) and gdb_list_locals (lists locals) by specifying that it selects a frame for inspection. The verb 'select' and resource 'stack frame' are precise.

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 implicitly indicates use after listing frames (via gdb_list_frames) and then selecting one to inspect locals. There is no explicit 'when not to use' or comparison to alternatives, but the context is clear enough for an agent.

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

gdb_select_thread选择线程A
Idempotent

切换到指定线程进行调试。

ParametersJSON Schema
NameRequiredDescriptionDefault
threadIdYesThread ID to select

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already indicate idempotentHint=true and non-destructive, and the description adds minimal behavioral context beyond switching. No contradictions, but lacks detail on side effects like frame or register changes.

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?

Single sentence, no unnecessary words. Could be more informative, but it is appropriately short.

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?

Adequate for a simple one-param tool, but lacks context about prerequisites (e.g., thread must exist, obtain from gdb_list_threads) and effects on frame selection.

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 'threadId' described as 'Thread ID to select', and the description adds no additional meaning beyond that.

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 '切换到' (switch to) and the resource '指定线程' (specified thread), and among siblings like gdb_list_threads and gdb_select_frame, it uniquely identifies this tool for switching debugger context to a thread.

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?

The description implies usage (switching threads during debugging) but provides no explicit guidance on when to use vs alternatives, such as listing threads first or frame selection.

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

gdb_set_breakpoint设置断点A

在指定位置设置断点,支持条件断点和临时断点。

参数:

  • location: 断点位置 (文件:行号 或 函数名)

  • condition (可选): 条件表达式,如 x>5, i==10

  • temporary (可选): 临时断点,触发后自动删除

示例:

  • gdb_set_breakpoint({location: "main.c:10"}) → 在main.c第10行设置断点

  • gdb_set_breakpoint({location: "factorial", condition: "n==0"}) → 条件断点

  • gdb_set_breakpoint({location: "main", temporary: true}) → 临时断点

ParametersJSON Schema
NameRequiredDescriptionDefault
locationYesBreakpoint location: file:line (e.g., main.c:10) or function name
conditionNoConditional expression, e.g., x>5, i==10
temporaryNoTemporary breakpoint (auto-delete after hit)

TDQS

A4.3/5.0
Behavior4/5

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

Annotations indicate readOnlyHint=false and destructiveHint=false, meaning the tool modifies state but is not destructive. The description adds context by explaining that temporary breakpoints auto-delete after hit, and that conditions can be set. This goes beyond the annotations.

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 concise, with a clear first sentence stating the purpose, followed by a structured parameter list and concrete examples. Every sentence adds value, no redundant text.

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

Completeness5/5

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

Given the tool has 3 parameters (one required), no output schema, and annotations, the description fully covers the tool's behavior, parameter formats, and use cases. It is complete for an agent to understand and invoke correctly.

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?

Input schema has 100% coverage with descriptions for all parameters. The description adds examples showing valid formats (e.g., 'main.c:10', 'factorial', 'n==0') and clarifies optionality and default values (temporary defaults to false), providing meaning beyond the schema.

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 sets a breakpoint at a specified location, supports conditional and temporary breakpoints. It distinguishes itself from sibling tools like gdb_list_breakpoints (listing) and gdb_delete_breakpoint (deletion) by focusing on setting breakpoints.

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?

The description provides examples and parameter details but does not explicitly state when to use this tool versus alternatives (e.g., gdb_enable_breakpoint or gdb_set_condition). Usage is implied through examples, but no exclusions or context differentiation are given.

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

gdb_set_condition设置断点条件A

为已有断点设置或修改条件表达式。

参数:

  • breakpointId: 断点编号

  • condition: 条件表达式,如 x>5, i==10;传空字符串清空条件

示例:

  • gdb_set_condition({breakpointId: "1", condition: "x>5"}) → 设置条件

  • gdb_set_condition({breakpointId: "1", condition: ""}) → 清除条件

ParametersJSON Schema
NameRequiredDescriptionDefault
conditionYesConditional expression, empty string to clear condition
breakpointIdYesBreakpoint number

TDQS

A4.5/5.0
Behavior4/5

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

Annotations indicate this is not read-only and not destructive. The description adds behavior details: it sets or modifies conditions, and passing an empty string clears the condition. This goes beyond annotations by clarifying the modification mechanics.

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 extremely concise: two short paragraphs covering purpose, parameters, and two examples. Every sentence adds value, no redundancy or fluff.

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

Completeness5/5

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

For a simple two-parameter modification tool with no output schema, the description fully covers all user needs: what it does, how each parameter works, and examples for both setting and clearing conditions. It is complete given the complexity.

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?

Schema coverage is 100% and descriptions already exist for parameters. The tool description adds concrete examples (e.g., 'x>5', 'i==10') and explains the clearing behavior with empty string, which supplements the schema nicely.

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 sets or modifies a condition expression for an existing breakpoint. It distinguishes from sibling tools like gdb_set_breakpoint (which creates breakpoints) by specifying it operates on existing breakpoints.

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 context: when you have an existing breakpoint and need to add/modify its condition. It doesn't explicitly state when not to use or mention alternatives, but context signals show many sibling tools, and the purpose is clear enough to guide selection.

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

gdb_step单步执行(进入函数)A

执行一行代码。如果当前行包含函数调用,将进入该函数内部。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

Describes the core action (execute one line, step into functions). No annotations contradict, but additional details like side effects (e.g., stopping after step) are not provided.

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?

Two concise sentences, no redundancy. Every word serves a purpose.

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?

Sufficient for a zero-parameter tool. Could mention that execution pauses after step, but not required given standard debugger semantics.

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, so the description does not need to add parameter details. Baseline of 4 is appropriate.

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 executes one line and steps into function calls. It distinguishes itself from siblings like gdb_next (step over) and gdb_continue.

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 when-to-use or when-not-to-use guidance. But the name 'step' and description imply it's for stepping into functions, which is standard debugger behavior.

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

gdb_write_register写入寄存器A
Destructive

修改指定寄存器的值。

参数:

  • register: 寄存器名称 (如 r0, pc, sp)

  • value: 要写入的值 (如 0x1000 或 42)

警告: 此操作可能影响程序执行状态。

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYesValue to write, e.g., 0x1000 or 42
registerYesRegister name, e.g., r0, pc, sp

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already indicate destructive nature (destructiveHint: true). The description adds context with a warning that the operation may affect program execution state, which is helpful beyond annotations.

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?

The description is short and includes a warning. However, it repeats parameter names in a list that largely mirrors the schema, which could be consolidated.

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 write tool with no output schema, the description covers the core function and warns of side effects. It does not specify allowed value ranges or return behavior, but these are less critical.

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?

With 100% schema coverage, the baseline is 3. The description adds value by providing concrete examples for register (r0, pc, sp) and value (0x1000, 42), making the parameters clearer.

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 explicitly states the tool modifies a specified register value, using a specific verb ('修改') and resource ('寄存器的值'). It is distinct from sibling tools like gdb_read_registers or gdb_list_registers.

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?

The description lacks explicit guidance on when to use this tool versus alternatives, such as when to modify registers vs other debugging actions. The warning about affecting program state implies caution but does not provide selection criteria.

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

TDQS

A3.7/5.0
Disambiguation4/5

Most tools have clear distinct purposes, but some overlap exists between gdb_run/gdb_continue and gdb_next/gdb_step. The descriptions help differentiate, but an agent might still confuse similar actions.

Naming Consistency5/5

All tools follow a consistent 'gdb_verb_noun' pattern in snake_case, making the naming predictable and easy to interpret for both agents and humans.

Tool Count2/5

31 tools is high for typical MCP server coherence; while GDB debugging is complex, the count exceeds the 25-tool threshold for 'too many' and could be streamlined (e.g., combining some list operations).

Completeness4/5

The tool set covers most core GDB workflows (breakpoints, stepping, memory, registers, expressions, threads). Minor gaps like watchpoints or variable modification exist, but overall it's comprehensive.

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

  • A
    license
    C
    quality
    D
    maintenance
    Enables LLM clients to interact with the GNU Debugger (GDB) for comprehensive debugging and binary analysis. It provides a wide range of tools for program execution control, memory examination, stack analysis, and disassembly.
    13
    71
    GPL 3.0
  • A
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to control GDB debugger via MCP protocol for local and remote debugging, supporting CTF Pwn, crash analysis, and ELF inspection.
    13
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables GDB debugging for embedded development workflows, allowing users to start sessions, load programs, set breakpoints, step through code, and examine memory/registers/variables via natural language.
    3
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to interact with GDB for debugging via the MCP protocol. Supports setting breakpoints, stepping through code, inspecting memory and registers, and more.
    86
    MIT

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/zjm1060/gdb-mcp'

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