Skip to main content
Glama
netcoredbg-mcp

netcoredbg-mcp

by thebtf

ui_send_keys_batch

Sends multiple key sequences in one call while holding UI focus, preventing terminal focus theft between individual keystrokes. Use for arrow navigation, typing, and keyboard shortcuts.

Instructions

Send a batch of key sequences in a single call, holding focus throughout.

Solves the race condition where the terminal steals focus between individual send_keys calls. The bridge holds foreground + element focus for the entire batch, sending keys with configurable delay.

Use this for: arrow navigation (20x DOWN), typing sequences, keyboard shortcuts.

Args: keys: List of key strings, each sent separately with delay. Example: ["{DOWN}", "{DOWN}", "{DOWN}"] for 3 arrow presses. Physical keypad example: ["{NUMPAD1}", "{NUMPADADD}"]. automation_id: Target element to focus before sending. delay_ms: Milliseconds between each key (default 50ms).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "keys": "<keys>"
    },
    "name": "ui_send_keys_batch"
  }
}

Input Schema

NameRequiredDescriptionDefault
keysYes
delay_msNo
automation_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.17.2

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare openWorldHint false, so the description carries most of the behavioral load. It adds meaningful context: the race condition being solved, holding foreground and element focus, and configurable inter-key delay. It does not discuss failure modes or side effects of sending keystrokes, keeping it from a 5.

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?

The description is front-loaded with purpose and rationale, then structured use cases and Args. It is appropriately sized, though the sentence about the bridge holding focus slightly repeats the opening and the Args section could be tighter.

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

Completeness4/5

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

For a 3-parameter UI action with no output schema and minimal annotations, the description covers behavior, usage, and every parameter with examples. It leaves out explicit selection guidance against the closest siblings (ui_send_keys_focused, ui_key_sequence), so it is not fully complete.

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

Parameters5/5

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

Schema coverage is 0%, so the description must document parameters, and it does: keys as a list sent separately with examples including special key syntax, automation_id as the element to focus before sending, and delay_ms as the interval with default 50ms. This adds substantial meaning beyond the bare 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?

States a specific verb and resource ('Send a batch of key sequences in a single call') and distinguishes the batch operation from individual send_keys calls, which is the key sibling distinction. An agent can identify it without opening the 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?

Provides explicit use cases ('arrow navigation (20x DOWN), typing sequences, keyboard shortcuts') and implies the alternative is individual send_keys calls for non-batch scenarios. It does not explicitly name when not to use it or route to ui_send_keys_focused/ui_key_sequence, so not a full 5.

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

Deploy Server

Other Tools