Skip to main content
Glama

windbg_run_command

Execute raw WinDbg/cdb commands with optional regex filtering and line limits, enabling targeted debugger output analysis.

Instructions

Run an arbitrary cdb/WinDbg command verbatim. Optional regex filter keeps only matching lines; max_lines caps noisy output.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
commandYesRaw cdb command, e.g. '!process 0 0' or '.frame 3'
timeoutNoSeconds to wait for completion
max_linesNoOptional maximum number of output lines to return
tail_linesNoReturn only the last N filtered lines before max_lines is applied
ignore_caseNoApply include/exclude regexes case-insensitively
invert_matchNoWith filter_pattern, keep non-matching lines instead of matching lines
context_afterNoInclude this many lines after each filter_pattern match
context_beforeNoInclude this many lines before each filter_pattern match
filter_patternNoOptional regex; when set, only matching output lines are returned
split_commandsNoSplit on semicolons outside quotes and run each command separately
exclude_patternNoOptional regex; matching output lines are removed before include filtering
per_command_timeoutNoSeconds per split command; defaults to timeout
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the regex filtering and max_lines cap, but doesn't mention potential side effects of running arbitrary commands, the synchronous blocking nature, timeout behavior, or the existence of an async sibling. This is a significant gap for a potentially destructive raw command runner.

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 sentences, front-loaded with the primary action and followed by key modifiers. No wasted words or redundant schema repetition.

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?

With 12 parameters, no annotations, and no output schema, the description is mildly insufficient. It doesn't describe the return format, how output is structured, or the relationship to windbg_run_command_async. However, the schema covers parameters well, and the description gives enough to select and invoke the tool for simple cases.

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 descriptions already cover all 12 parameters (100% coverage). The description adds value by explicitly explaining the purpose of the regex filter ('keeps only matching lines') and max_lines ('caps noisy output'), which helps the agent understand the tool's main filtering capabilities 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 runs an arbitrary cdb/WinDbg command verbatim, distinguishing it from specialized debugger tools and from the sibling windbg_run_command_async. This is a specific verb+resource with clear scope.

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 phrase 'arbitrary cdb/WinDbg command' implies it is the general-purpose raw command runner, appropriate when a dedicated sibling tool (e.g., disassemble, read_memory) doesn't fit. However, it doesn't explicitly name alternatives or state when not to use it, so it's clear but not fully explicit.

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

Install Server

Other Tools

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/DdUdle/ctxdebug'

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