Skip to main content
Glama
keil-mdk-mcp

keil-mdk-mcp

by lideshengstu

keil_step_out

Resume execution until the current function returns during Keil MDK debugging; reports when validated unwind information is unavailable.

Instructions

Function step out is not implemented without validated unwind information.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "keil_step_out"
  }
}

Input Schema

NameRequiredDescriptionDefault
timeout_sNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

C2/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden. It does disclose a genuine precondition (unwind information must be validated), which is useful, but it does not say what happens otherwise — error, silent no-op, or fallback — nor whether state changes, whether breakpoints are honored, or what the timeout governs.

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

Conciseness3/5

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

It is one short sentence with no padding, so it is concise by default. However the single sentence is spent on a caveat rather than the core action, so the structure is not front-loaded with the information an agent needs to select the tool.

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

Completeness1/5

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

An output schema exists so return values need not be explained, but that is the only gap covered. For a debugger control operation in a large sibling set with a timeout parameter and no annotations, the description omits the action itself, the failure mode, and the parameter meaning, leaving the agent unable to call it correctly.

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

Parameters2/5

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

Schema description coverage is 0% for the single parameter timeout_s, so the description must compensate, and it offers nothing about units, default behavior, or what the timeout bounds on a step operation. The parameter is effectively undocumented across both schema and description.

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

Purpose2/5

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

The description never states what the tool does; it only states a limitation ('not implemented without validated unwind information'). 'Step out' hints at the debugger operation, but an agent must infer that it resumes execution until the current function returns, and nothing distinguishes it meaningfully from keil_step_over or keil_step_instruction.

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?

There is a partial exclusion ('without validated unwind information'), which is the only condition-like statement. No positive guidance on when to prefer this over keil_step_over, keil_step_instruction, or keil_run, and no fallback is named when unwind data is unavailable.

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