keyboard-layout-mcp
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
keyboard-layout-mcp
MCP-сервер распознавания и перевода раскладок клавиатуры. Понимает любую из раскладок en (QWERTY), ru (ЙЦУКЕН), de (QWERTZ), fr (AZERTY), исправляет текст, набранный «не в той» раскладке, и вдобавок умеет предиктивный ввод T9 — цифры → слова, как на старом смартфоне.
Возможности
convert — перевод текста между раскладками:
convert("руддщ", "ru", "en")→hello.fix — автоисправление «съехавшей» раскладки:
fix("ghbdtn")→привет.detect — определение раскладки текста с ранжированным списком кандидатов.
t9 — предиктивный ввод:
t9("43556")→hello,t9("564236")→привет.t9_a2z — буквы на цифровой клавише (2-9, 0 = пробел).
Related MCP server: Document Reader MCP Server
Установка
Требуется Python 3.14+ и пакет mcp (pip install "mcp>=2.2").
git clone https://github.com/FEDOR-help/keyboard-layout-mcp.git
cd keyboard-layout-mcp
pip install -r requirements.txt
python server/main.pyПодключение к opencode (opencode.jsonc)
"mcp": {
"keyboard-layout-mcp": {
"type": "local",
"command": ["python", "server/main.py"],
"environment": { "PYTHONUTF8": "1", "PYTHONIOENCODING": "utf-8" }
}
}После перезапуска инструменты доступны как keyboard-layout-mcp_*.
Инструменты
Инструмент | Назначение |
| Информация о сервере и раскладках. |
| Список раскладок: en, ru, de, fr. |
| Перевод |
| Определение раскладки текста. |
| Автоисправление «съехавшей» раскладки. |
| Подбор слов по цифрам ( |
| Буквы на цифровой клавише. |
Все инструменты — read-only, с аннотациями MCP (readOnlyHint,
idempotentHint, openWorldHint).
Модель данных
server/main.py— раскладки (LAYOUTS), частоты букв (FREQ), оценка «естественности» текста (частоты + доля гласных + бонус за длину).server/t9_data.py— цифровые раскладки T9 (T9_EN,T9_RU) и частотные словари (WORDS_EN,WORDS_RU). При импорте строится индексT9_INDEX[lang][код] -> [слова].
Словарь легко расширяется: добавьте слово в конец WORDS_EN / WORDS_RU.
Проверка
import asyncio, sys
sys.path.insert(0, ".")
from server import main
async def run():
res = await main.mcp.call_tool("t9", {"sequence": "43556", "lang": "auto"})
print("".join(c.text or "" for c in res.content if hasattr(c, "text")))
asyncio.run(run())Лицензия
MIT — см. LICENSE.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Indic MCP: transliterate into all 22 Indian languages, convert scripts, keymaps. Hosted or local.
Word searches, crosswords, sudoku and Unicode text styles in 6 languages, accents kept.
Document extraction with calibrated confidence, decisions, language ID in 608 languages, diacritics.
Pronunciation scoring, speech-to-text, and text-to-speech for language learning
Related MCP Servers
AlicenseNot gradedqualityCmaintenanceMultiple text-type recognition, handwriting recognition, and high-precision parsing of complex documents.304,012 PyPI92,464Apache 2.0- AlicenseNot gradedqualityDmaintenanceEnables reading and processing various document formats including Word, PDF, RTF, and text files. Supports extracting media elements like images and links, with features for PDF page range selection and automatic text encoding detection.8MIT
- AlicenseAqualityDmaintenanceProvides Ukrainian language grammar checking, surzhyk detection, authentic phrasing, and English-to-Ukrainian rendering through curated linguistic data.579 PyPIMIT
- AlicenseNot gradedqualityDmaintenanceEnables real-time language translation for chat conversations, automatically detecting and translating messages between multiple languages while correcting Korean grammar and style before sending.1MIT