Skip to main content
Glama

Keyboard layout fixer (EN ⇄ AR)

text_layout_fix
Read-onlyIdempotent

Convert gibberish typed in the wrong keyboard layout between US English and Arabic, turning mistyped words into readable text while leaving correct words untouched.

Instructions

Fix text typed with the wrong keyboard layout between US English (QWERTY) and Arabic (101): "hgsghl ugd;l" becomes the Arabic greeting, and Arabic gibberish typed on English keys becomes "hello". Direction "auto" detects it; in mixed text only the words that look mistyped are converted (using small English/Arabic letter-pair models), so words that are already right stay as they are. Handles the shift layer (harakat, hamza forms), lam-alef keys and Caps Lock (all-caps Latin input is treated as lowercase). Web version: https://s3eidat.github.io/layout-fixer/

Input Schema

NameRequiredDescriptionDefault
pathNoOr: a path to a UTF-8 text file.
textNoThe mistyped text.
capsLockNoCaps Lock was on: treat capital Latin letters as lowercase (detected automatically when all letters are capitals).
directionNo"auto" (default) detects; "ar" = typed on English keys, convert to Arabic; "en" = typed on Arabic keys, convert to English.auto

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior5/5

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

Annotations only cover safety (readOnly, idempotent, closed-world); the description supplies the substantive behavior an agent cannot infer: auto-detection, partial conversion of only mistyped words in mixed text via letter-pair models, shift-layer/harakat and lam-alef handling, and Caps Lock normalization to lowercase. That is exactly the non-obvious semantics that determine whether the output is trustworthy.

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?

Front-loaded with the highest-signal example ('hgsghl ugd;l' → Arabic greeting) and then layers the caveats in a single dense paragraph. It is slightly overlong and the trailing web-version URL is incidental, but no sentence is filler.

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 read-only transform the behavioral picture is complete. Two gaps remain: with zero required parameters it never says that either 'text' or 'path' must be supplied (and whether they are mutually exclusive), and with no output schema it does not indicate the return shape (plain converted string vs. per-word results).

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

Parameters3/5

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

Schema coverage is 100%, so all four parameters, their defaults and the direction enum are already fully documented structurally. The description reinforces direction='auto' with the mixed-text nuance, but adds little parameter-level detail beyond what the schema states; baseline 3 applies.

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 (fix text typed with the wrong keyboard layout) and pins the exact domain (US QWERTY ⇄ Arabic 101) with bidirectional concrete examples. This clearly separates it from generic siblings like text_arabic or text_clean, which do not remap keystrokes.

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 trigger condition is unmistakable ('Fix text typed with the wrong keyboard layout') and the description explains what happens in the ambiguous mixed-text case, which is where an agent would otherwise hesitate. It stops short of naming alternatives or stating when NOT to use it (e.g. pure transliteration or spell correction).

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