Skip to main content
Glama
Scofield81

Ubuntu Control MCP

by Scofield81

terminal_ctrl_c

Send control key sequences like Ctrl-C, Ctrl-D, or arrow keys to a running terminal session to interrupt, exit, or navigate command-line processes.

Instructions

Vezerlobillentyu / eszkapszekvencia kuldese (ctrl-c, ctrl-d, up, tab, ...).

A nev 'ctrl_c', de barmelyik tamogatott billentyu megadhato a 'key' mezoben.

Args: params (TerminalKeyInput): terminal_id, key. Returns: str: Megerosites + rovid kimenet.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already signal a non-read-only, non-idempotent operation, and the description matches that by saying a sequence is sent. It adds the return behavior ('confirmation + short output') but does not disclose possible side effects such as interrupting or altering a running terminal process.

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?

The description is compact: one purpose sentence, one disambiguation sentence, and an Args/Returns block. Every sentence carries information, with no filler or repetition.

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 simple terminal-control-key tool, the description and schema together give the agent enough to invoke it correctly: terminal_id, key, allowed keys, and the type of return value. It does not provide sibling routing guidance, but that gap is already reflected in usage_guidelines.

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 describes terminal_id and key plus the supported values, but the description adds the crucial disambiguation that the tool name is not a restriction: any supported key may be provided in the key field. This prevents an agent from only ever sending ctrl-c and goes beyond the structured fields.

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 action: sending control/device sequences to a terminal, with concrete examples (ctrl-c, ctrl-d, up, tab). The wording makes clear this is not general text writing, which distinguishes it from terminal_write, though it does not explicitly name sibling alternatives.

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?

The use case is implied: use this tool when the agent needs to send a control key or device sequence to an identified terminal. It does not explicitly contrast with terminal_write, keyboard_press, or other sibling tools, nor does it state when not to use it.

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