Skip to main content
Glama
keil-mdk-mcp

keil-mdk-mcp

by lideshengstu

keil_step_into

Reports source-level step-into as unimplemented for STM32 debugging and prevents fallback to instruction stepping.

Instructions

Source-level step into is not implemented; never substitute instruction stepping.

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_into"
  }
}

Input Schema

NameRequiredDescriptionDefault
timeout_sNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden and does disclose the critical trait: the operation is unimplemented, so calling it will not perform a step. It says nothing about what a call actually returns (an error? a no-op success?), what the timeout_s budget governs, or whether any state changes, which is a meaningful gap for a stub.

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?

Two short clauses, front-loaded with the non-implementation fact and followed by the misuse guard. Nothing is padded, though the phrasing is clipped to the point of omitting what happens on invocation.

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?

There is an output schema, so return-value documentation is not required, and the core status fact is present. However, for a tool that is deliberately a stub, the description should say what a caller observes when it is invoked and whether timeout_s is honored, which is missing.

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 coverage is 0% and the single parameter timeout_s is undocumented in both schema and description. The description does not explain what the timeout applies to on an unimplemented operation, so an agent has no basis for choosing a value.

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 names the intended operation (source-level step into) and immediately states it is not implemented, which is the single most important fact about this tool. It also implicitly separates it from keil_step_instruction by forbidding substitution, so an agent can distinguish the two without opening a schema.

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?

It gives an explicit exclusion (never substitute instruction stepping) which prevents a plausible misuse against the sibling keil_step_instruction. It does not say what the agent should do instead when source-level stepping is needed, so the guidance is a strong 'when not' without a matching 'what then'.

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