Skip to main content
Glama
kami-sqmf

Human Input MCP

by kami-sqmf

human_type

Destructive

Simulates human typing of printable text with controlled speed and optional corrections, avoiding paste or special keys for safer input.

Instructions

Type printable text using bounded character pulses and optional corrections; no paste, Enter, or arbitrary chords. IME change needs force_ime_off=true; remote delivery is not verified.

Input Schema

NameRequiredDescriptionDefault
wpmNo
hwndYes
seedNo
textYes
typo_rateNo
pause_policyNo
threshold_pxNo
force_ime_offNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare this as destructive, non-idempotent, and not read-only. The description adds meaningful operational context beyond that: character pulses, optional corrections, input exclusions, the IME prerequisite, and the remote-delivery caveat. It does not fully explain target focus requirements or undo behavior, but it contributes real behavioral information.

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 two compact, front-loaded sentences with no filler. It leads with the core action, then immediately enumerates exclusions and constraints. Every clause contributes useful selection or invocation information.

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

Completeness2/5

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

This is a complex input-synthesis tool with eight parameters, a nested pause_policy object, no output schema, and destructive annotations. The description covers exclusions and one IME flag but omits most parameter semantics and does not explain how hwnd targeting, typing speed, typo behavior, or pause policy affect execution. It is not complete enough for an agent to invoke the tool confidently without inspecting the schema.

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% across eight parameters, including a nested pause_policy object, so the description must carry the explanatory burden. It only clarifies force_ime_off, while hwnd, text, wpm, seed, typo_rate, threshold_px, and all pause_policy fields remain unexplained. The brief mention of bounded pulses and optional corrections hints at behavior but does not define the parameters.

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 specifies a clear verb and resource: type printable text via bounded character pulses, with optional corrections. It also distinguishes scope by excluding paste, Enter, and arbitrary chords, which helps separate it from sibling input tools such as human_paste and human_key. The only gap is that it does not explicitly name the 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 Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives useful when-not guidance: no paste, no Enter, and no arbitrary chords. It also states a specific prerequisite for IME changes via force_ime_off=true and warns that remote delivery is not verified. It stops short of explicitly routing the agent to human_paste or human_key for the excluded cases.

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