re-gdb
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@re-gdbrun to breakpoint at main in ./vuln and show registers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
re-gdb
MCP server wrapping GDB + GEF for dynamic analysis. Spawns a persistent GDB subprocess per session and drives it via the GDB/MI protocol.
Tools
Tool | What it does |
| Confirm gdb + GEF |
| Open a session, optionally load a binary |
| Tear down a session |
| Set a BP and run |
| Single-step N times, return registers |
|
|
| GEF |
| GEF |
| GEF |
| GEF |
| GEF |
| Cyclic-pattern helpers |
| Attach to a running process |
Related MCP server: gdb-mcp
Install
# System dependency
apt install gdb # Debian/Ubuntu
brew install gdb # macOS
scoop install gdb # Windows
# GEF (auto-installed by install.sh to ~/.gdb/gef.py)
curl -fsSL https://github.com/hugsy/gef/raw/main/gef.py -o ~/.gdb/gef.py
# Python
pip install -e ./servers/re-gdbSafety
Never run unsigned binaries on a host you care about. Use a sandbox, a VM, or a Docker container. Dynamic analysis on untrusted samples is dangerous.
Available Tools
14 toolsattach_pidC
Attach to a running process by PID.
| Name | Required | Description | Default |
|---|---|---|---|
| session | Yes | ||
| pid | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states the basic action, omitting effects like whether it starts debugging, modifies process state, or requires root privileges.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: one sentence with no redundant words. However, it sacrifices necessary detail for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 2 parameters, no output schema, and no annotations, the description is too minimal. It lacks explanation of the session parameter, return behavior, or side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not clarify the 'session' parameter or how 'pid' should be provided. It only repeats the PID concept from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the action (Attach) and the target (a running process by PID). It is clear and distinct from sibling tools like check_gdb or read_memory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., start_session, run_to_breakpoint). No prerequisites or conditions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_gdbA
Return gdb version + whether GEF is configured.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility. It clearly states it returns version and GEF configuration, implying a read-only query. However, it does not mention prerequisites (e.g., whether an active GDB session is required) or idempotency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no extraneous words. Perfectly concise for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 0 parameters and no output schema, the description adequately covers the two outputs. It could specify the return format (e.g., JSON object) but is sufficient for a low-complexity tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 meaningful context about what the tool returns, which is beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states it returns 'gdb version' and 'whether GEF is configured', which is specific and distinct from sibling tools that focus on specific GEF features like heap or registers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The purpose implies it's a preliminary check before using GEF-specific tools, but no when-not or alternative naming is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
end_sessionC
Tear down a GDB session.
| Name | Required | Description | Default |
|---|---|---|---|
| session | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided and description does not disclose side effects, permissions, or idempotency. 'Tear down' implies destruction but insufficient detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short (4 words), which is concise but at the cost of necessary information. Could be more structured and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool, the description is incomplete. No output schema, no parameter explanation, no behavioral details. Minimal viable but with gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage and the tool description does not explain the 'session' parameter. No context on what the string represents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses clear verb 'tear down' and specific resource 'GDB session', distinguishing it from sibling tools like start_session and check_gdb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use or not use this tool. Lacks context such as expected pairing with start_session or idempotency.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gef_canaryD
GEF: stack canary check.
| Name | Required | Description | Default |
|---|---|---|---|
| session | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description must provide full behavioral context but only mentions 'check'. No details on side effects, permissions, output, or whether it reads or modifies state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely brief but at the cost of utility. While concise, it lacks necessary detail, making it under-specified rather than efficiently structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter and no output schema, the description should provide context about what the check involves and how to interpret results. It is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description fails to explain the 'session' parameter. No information on its meaning or how to obtain it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description is nearly tautological, restating the tool name as 'stack canary check' without explaining what that entails. It fails to clarify the specific action or resource, and does not distinguish from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like check_gdb or gef_vmmap. The description offers no context on prerequisites or scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gef_heapC
GEF: heap chunks (glibc malloc bins).
| Name | Required | Description | Default |
|---|---|---|---|
| session | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose behavioral traits such as read-only nature, required privileges, or side effects. The minimal text adds no transparency beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise at one sentence, but it lacks substance. The description is not front-loaded with key information; it reads as a label rather than a helpful guide.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of heap inspection (likely rich output) and no output schema, the description is severely incomplete. It fails to explain return values, prerequisites, or expected behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description does not mention the required 'session' parameter or its purpose. The agent gets no guidance on how to fill this parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies 'heap chunks (glibc malloc bins)', clearly identifying the resource and context. It distinguishes from sibling GEF tools like gef_canary or gef_nearpc, though lacks an action verb like 'show' or 'list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. Sibling tools exist (e.g., gef_vmmap, gef_registers) but the description provides no differentiation or usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gef_nearpcB
GEF: nearpc (look ahead N instructions from PC).
| Name | Required | Description | Default |
|---|---|---|---|
| session | Yes | ||
| n | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It states the basic function but omits critical details such as whether the session must be active, if the tool is read-only, potential errors (e.g., invalid PC), or what the output contains (e.g., disassembly text).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded with the tool identity ('GEF: nearpc') followed by a parenthetical that explains the core function. Every word earns its place, though a bit more context would improve it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, no output schema) and lack of annotations, the description is incomplete. It does not specify return values, prerequisites (e.g., must have a valid session), error conditions, or provide a usage example, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning for the 'n' parameter by defining it as the number of instructions to look ahead. However, it provides no explanation for the 'session' parameter, which is required. With 0% schema description coverage, the description partially compensates but misses the crucial session context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('look ahead N instructions from PC') and the resource (instructions from program counter). It effectively distinguishes this tool from sibling GEF tools like 'gef_registers' or 'gef_vmmap' by specifying its unique function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. For example, it does not mention that this tool is useful for examining upcoming instructions during debugging, nor does it contrast with similar tools like 'step_count' or 'read_memory'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gef_pattern_createA
Create a cyclic pattern of length bytes (for offset-finding).
| Name | Required | Description | Default |
|---|---|---|---|
| length | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It clearly states the output is a cyclic pattern of specified length, which is sufficient for a simple generation tool. No additional behavioral traits need disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundant words, efficiently conveying the tool's functionality. Every part serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description is adequately complete. It could mention the return behavior but is functional as is.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description adds meaning by clarifying that the length parameter is in bytes, which is not evident from the schema alone. It lacks constraints but provides essential context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'Create' and resource 'cyclic pattern', clearly stating the tool's purpose for offset-finding. It distinguishes itself from sibling tool gef_pattern_offset which is used for finding offsets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context that it is for offset-finding, implying its typical use case. However, it does not explicitly mention when not to use or list alternatives, leaving some room for improvement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gef_pattern_offsetB
Find the offset of value in a cyclic pattern.
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It only states the action without detailing side effects, return format, error conditions, or prerequisites. This is insufficient for an agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no unnecessary words or information. It efficiently communicates the core operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the description covers the basic purpose but lacks context about prerequisites (pattern existence), error handling, and return value. It is minimally complete but not fully informative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no parameter descriptions, and coverage is 0%. However, the description implicitly references the parameter 'value' in the context of finding its offset. This adds minimal semantics; it does not clarify expected format or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds an offset of a value in a cyclic pattern, which is a specific and distinct operation from sibling tools. However, it does not explicitly mention that the pattern is generated by a prior call to gef_pattern_create, which could cause slight ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not mention the prerequisite of having a cyclic pattern created (e.g., via gef_pattern_create), nor does it suggest any context or sequence of use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gef_registersC
GEF: registers (extended view).
| Name | Required | Description | Default |
|---|---|---|---|
| session | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full transparency burden. It does not disclose whether the tool is read-only, modifies state, requires specific permissions, or any other behavioral traits. The brevity leaves significant gaps for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, but it is underspecified rather than concise. Every word should add value; here 'GEF: registers (extended view)' is barely informative. A longer, more structured description would be appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (1 param, no output schema) the description is insufficient. It does not explain the tool's purpose, expected output, or how it fits with sibling tools. The agent lacks essential context to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, and the description adds no meaning to the required 'session' parameter. The parameter is self-explanatory by name, but the description should clarify its format or purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource as 'registers (extended view)', but lacks a verb to indicate the action (e.g., display, show). It is somewhat clear but fails to specify what 'extended view' means or how it differs from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 gef_canary, gef_heap, or gef_nearpc. The description does not indicate any context or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gef_vmmapC
GEF: vmmap (mapped regions with perms).
| Name | Required | Description | Default |
|---|---|---|---|
| session | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states the tool shows mapped regions with perms, but does not mention side effects (none expected), required permissions, or output format. This is insufficient for an agent to understand the tool's behavior fully.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (10 words), but it omits crucial details needed for tool selection and usage. It is appropriately sized for a minimal overview but lacks substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema, no annotations, and minimal description, the tool's context is incomplete. The agent cannot infer what the output looks like or any constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter 'session' with no description, and the description provides no information about it. With 0% schema coverage, the agent has no way to understand what 'session' represents or how to use it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'mapped regions with perms', which clearly indicates the tool displays memory mappings with permissions. This distinguishes it from sibling tools like gef_heap or gef_nearpc, though it does not elaborate on the format.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 gef_heap or read_memory. The description lacks context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_memoryC
Read count memory units at addr.
| Name | Required | Description | Default |
|---|---|---|---|
| session | Yes | ||
| addr | Yes | ||
| count | No | ||
| fmt | No | hex |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose read-only nature, error handling, or session requirements, leaving behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise but too brief for a 4-parameter tool; it sacrifices clarity for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and minimal description; lacks info on return format, allowed values for 'fmt', and session requirements, making it incomplete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, the description should explain all parameters, but it only mentions 'addr' and 'count', omitting 'session' and 'fmt' entirely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads memory at an address with a count, but does not define 'memory units' (e.g., bytes), leaving minor ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool over siblings like 'gef_nearpc' or 'gef_vmmap'; no mention of prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_to_breakpointC
Set a breakpoint at target and run to it.
| Name | Required | Description | Default |
|---|---|---|---|
| session | Yes | ||
| target | Yes | ||
| condition | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It does not disclose behavioral traits such as whether the breakpoint is temporary, if it modifies state, or if it requires a running session. These are critical for a debugging tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, achieving conciseness. However, it lacks structure and omits necessary details, reducing its effectiveness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 3 parameters and no output schema. The description does not cover return values, error behavior, or post-conditions, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. It only mentions 'target' but not 'session' or 'condition'. 'Condition' is important for conditional breakpoints but is unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: set a breakpoint and run to it. It uses specific verbs and resource, distinguishing it from sibling tools like step_count or read_memory. However, it could explicitly differentiate from potential breakpoint management tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like step_count. The description does not mention prerequisites (e.g., an active session) or scenarios where this is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_sessionC
Open (or reuse) a GDB session. Optionally load a binary.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| gdb_args | No | ||
| session | No | default |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must fully disclose behavior. It mentions session reuse and optional binary loading but lacks details on session lifecycle, error handling, or side effects (e.g., what happens if the session exists or fails).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise at two sentences, front-loading the core purpose. However, it could be slightly expanded without losing efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and 0% parameter schema coverage, the description is incomplete. It lacks return value information, error conditions, and details on session reuse semantics, leaving significant gaps for an agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only hints at 'path' being a binary path, but 'gdb_args' and 'session' are unexplained. The parameter names offer some clarity, but the description adds minimal value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Open (or reuse)') and resource ('a GDB session'), with an optional action ('load a binary'). This distinguishes it from sibling tools like 'attach_pid' and 'end_session'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives like 'attach_pid' or other session-management tools. It does not state when not to use it or provide context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
step_countC
Single-step count times, return register state after.
| Name | Required | Description | Default |
|---|---|---|---|
| session | Yes | ||
| count | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose side effects but only states the action and output. It does not mention that stepping modifies program state or any potential destructive behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with front-loaded action, but could include more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and 0% schema coverage, the description omits return format and parameter semantics, leaving gaps for correct invocation and result interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no detail about the 'session' or 'count' parameters beyond their presence. No explanation of format, constraints, or typical values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs single-step operations a specified number of times and returns register state. It uses a specific verb-resource pair and distinguishes from siblings like 'run_to_breakpoint' and 'read_memory'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., step, run_to_breakpoint). Prerequisites or context (e.g., session required) are not mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool targets a distinct GDB operation or GEF feature, with clear separation between session management, memory reading, stepping, breakpoints, and specific GEF utilities. No two tools have overlapping purposes.
Tool names follow a predictable pattern: core GDB operations use verb_noun (attach_pid, read_memory) while GEF-specific tools use the gef_ prefix followed by a noun (gef_heap, gef_registers). Within each subgroup, naming is consistent and intuitive.
14 tools is well-scoped for a GDB interface, covering essential debugger actions (attach, breakpoint, step, memory read) and key GEF features (heap, registers, vmmap, canary, pattern). Not too few nor overwhelming.
Covers core debugging operations but misses common tasks like memory write, expression evaluation, breakpoint deletion, continuing execution, and arbitrary command execution. These gaps may limit agent autonomy for complex reverse engineering workflows.
Maintenance
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
MCP server for ScanMalware.com URL scanning, malware detection, and analysis.
An MCP server for deep research or task groups
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that enables AI assistants to control GDB debugging sessions, including breakpoint management, thread analysis, and variable inspection, using the GDB/MI protocol.221MIT
- AlicenseBqualityCmaintenanceMCP server that wraps gdb to enable LLMs to drive live debugging sessions, including starting sessions on binaries, attaching to processes, and running commands.73MIT
- AlicenseNot gradedqualityAmaintenanceMCP server for reverse engineering Windows executables and related binary formats, offering static analysis, Ghidra-assisted function recovery, plugin-driven tooling, and optional isolated Windows runtime execution.3238MIT
- FlicenseBqualityCmaintenanceGDB MCP server for binary security research (reverse engineering / PWN) with first-class pwndbg integration, enabling heap analysis, cyclic pattern, checksec, ROP gadgets, and more via MCP protocol.27
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Heretek-RE/re-gdb'
If you have feedback or need assistance with the MCP directory API, please join our Discord server