Skip to main content
Glama
keil-mdk-mcp

keil-mdk-mcp

by lideshengstu

keil_get_registers

Read current Cortex-M core registers from a halted target and reject unsupported register names to ensure valid debug data.

Instructions

Read fresh Cortex-M core registers while halted; reject unsupported names.

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

Input Schema

NameRequiredDescriptionDefault
registersNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

B3.3/5.0
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 two behaviors: the tool requires a halted state and rejects unsupported register names. But it omits whether the operation is read-only, what happens if not halted, and what 'fresh' entails.

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?

A single, front-loaded sentence with zero waste; it efficiently conveys the action and key constraint.

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?

For a one-parameter debug tool with an output schema, the description covers the core purpose and halted requirement, but leaves the parameter's semantics and error/edge-case behavior unexplained, making it incomplete for an agent to call correctly without trial-and-error.

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% and the description offers no detail on the 'registers' parameter: not which names are supported, not the format, and not how null is treated. The phrase 'reject unsupported names' hints at validation but adds little semantic clarity.

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?

States a specific verb 'Read' and resource 'Cortex-M core registers', and adds the scope condition 'while halted'. However, it doesn't distinguish this tool from sibling keil_get_pc or keil_read_variables, leaving ambiguity about whether PC is included.

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 only when the target is halted, but gives no guidance on when to prefer this over keil_get_pc or keil_read_variables, nor any explicit exclusions.

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