jibberish-to-hebrew-mcp 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- jibberish_to_hebrew_mcp-0.1.0/PKG-INFO +52 -0
- jibberish_to_hebrew_mcp-0.1.0/README.md +44 -0
- jibberish_to_hebrew_mcp-0.1.0/jibberish_to_hebrew_mcp.egg-info/PKG-INFO +52 -0
- jibberish_to_hebrew_mcp-0.1.0/jibberish_to_hebrew_mcp.egg-info/SOURCES.txt +10 -0
- jibberish_to_hebrew_mcp-0.1.0/jibberish_to_hebrew_mcp.egg-info/dependency_links.txt +1 -0
- jibberish_to_hebrew_mcp-0.1.0/jibberish_to_hebrew_mcp.egg-info/entry_points.txt +2 -0
- jibberish_to_hebrew_mcp-0.1.0/jibberish_to_hebrew_mcp.egg-info/requires.txt +1 -0
- jibberish_to_hebrew_mcp-0.1.0/jibberish_to_hebrew_mcp.egg-info/top_level.txt +2 -0
- jibberish_to_hebrew_mcp-0.1.0/keyboard_map.py +72 -0
- jibberish_to_hebrew_mcp-0.1.0/pyproject.toml +22 -0
- jibberish_to_hebrew_mcp-0.1.0/server.py +42 -0
- jibberish_to_hebrew_mcp-0.1.0/setup.cfg +4 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: jibberish-to-hebrew-mcp
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: MCP server: convert QWERTY gibberish to Hebrew and vice versa by keyboard layout mapping
|
|
5
|
+
Requires-Python: >=3.10
|
|
6
|
+
Description-Content-Type: text/markdown
|
|
7
|
+
Requires-Dist: mcp>=1.0.0
|
|
8
|
+
|
|
9
|
+
# jibberish-to-hebrew-mcp
|
|
10
|
+
|
|
11
|
+
MCP server that converts text between “gibberish” English and Hebrew by swapping characters according to the **QWERTY ↔ Hebrew (SI 1452)** keyboard layout.
|
|
12
|
+
|
|
13
|
+
## Tools
|
|
14
|
+
|
|
15
|
+
- **qwerty_to_hebrew_text** — Converts English-looking gibberish (typed with Hebrew in mind but keyboard set to English) to Hebrew.
|
|
16
|
+
- **hebrew_to_qwerty_text** — Converts Hebrew text to the equivalent QWERTY key sequence.
|
|
17
|
+
|
|
18
|
+
## Install and run
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
pip install jibberish-to-hebrew-mcp
|
|
22
|
+
jibberish-to-hebrew-mcp
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Or with [uv](https://github.com/astral-sh/uv):
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
uvx jibberish-to-hebrew-mcp
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Cursor / Claude config
|
|
32
|
+
|
|
33
|
+
Add to your MCP config (e.g. `~/.cursor/mcp.json`):
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"mcpServers": {
|
|
38
|
+
"jibberish-to-hebrew": {
|
|
39
|
+
"command": "jibberish-to-hebrew-mcp",
|
|
40
|
+
"args": []
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
If the command is not on PATH, use the full path to the script or `uvx jibberish-to-hebrew-mcp` (with `"command": "uvx"`, `"args": ["jibberish-to-hebrew-mcp"]`).
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
### MCP Registry (optional)
|
|
51
|
+
|
|
52
|
+
To publish this server to the [official MCP Registry](https://modelcontextprotocol.io/registry/quickstart), the README must contain the server name below (used for ownership verification). <!-- mcp-name: io.github.Maor-Ar/jibberish-to-hebrew -->
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# jibberish-to-hebrew-mcp
|
|
2
|
+
|
|
3
|
+
MCP server that converts text between “gibberish” English and Hebrew by swapping characters according to the **QWERTY ↔ Hebrew (SI 1452)** keyboard layout.
|
|
4
|
+
|
|
5
|
+
## Tools
|
|
6
|
+
|
|
7
|
+
- **qwerty_to_hebrew_text** — Converts English-looking gibberish (typed with Hebrew in mind but keyboard set to English) to Hebrew.
|
|
8
|
+
- **hebrew_to_qwerty_text** — Converts Hebrew text to the equivalent QWERTY key sequence.
|
|
9
|
+
|
|
10
|
+
## Install and run
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
pip install jibberish-to-hebrew-mcp
|
|
14
|
+
jibberish-to-hebrew-mcp
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Or with [uv](https://github.com/astral-sh/uv):
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
uvx jibberish-to-hebrew-mcp
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Cursor / Claude config
|
|
24
|
+
|
|
25
|
+
Add to your MCP config (e.g. `~/.cursor/mcp.json`):
|
|
26
|
+
|
|
27
|
+
```json
|
|
28
|
+
{
|
|
29
|
+
"mcpServers": {
|
|
30
|
+
"jibberish-to-hebrew": {
|
|
31
|
+
"command": "jibberish-to-hebrew-mcp",
|
|
32
|
+
"args": []
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
If the command is not on PATH, use the full path to the script or `uvx jibberish-to-hebrew-mcp` (with `"command": "uvx"`, `"args": ["jibberish-to-hebrew-mcp"]`).
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
### MCP Registry (optional)
|
|
43
|
+
|
|
44
|
+
To publish this server to the [official MCP Registry](https://modelcontextprotocol.io/registry/quickstart), the README must contain the server name below (used for ownership verification). <!-- mcp-name: io.github.Maor-Ar/jibberish-to-hebrew -->
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: jibberish-to-hebrew-mcp
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: MCP server: convert QWERTY gibberish to Hebrew and vice versa by keyboard layout mapping
|
|
5
|
+
Requires-Python: >=3.10
|
|
6
|
+
Description-Content-Type: text/markdown
|
|
7
|
+
Requires-Dist: mcp>=1.0.0
|
|
8
|
+
|
|
9
|
+
# jibberish-to-hebrew-mcp
|
|
10
|
+
|
|
11
|
+
MCP server that converts text between “gibberish” English and Hebrew by swapping characters according to the **QWERTY ↔ Hebrew (SI 1452)** keyboard layout.
|
|
12
|
+
|
|
13
|
+
## Tools
|
|
14
|
+
|
|
15
|
+
- **qwerty_to_hebrew_text** — Converts English-looking gibberish (typed with Hebrew in mind but keyboard set to English) to Hebrew.
|
|
16
|
+
- **hebrew_to_qwerty_text** — Converts Hebrew text to the equivalent QWERTY key sequence.
|
|
17
|
+
|
|
18
|
+
## Install and run
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
pip install jibberish-to-hebrew-mcp
|
|
22
|
+
jibberish-to-hebrew-mcp
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Or with [uv](https://github.com/astral-sh/uv):
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
uvx jibberish-to-hebrew-mcp
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Cursor / Claude config
|
|
32
|
+
|
|
33
|
+
Add to your MCP config (e.g. `~/.cursor/mcp.json`):
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"mcpServers": {
|
|
38
|
+
"jibberish-to-hebrew": {
|
|
39
|
+
"command": "jibberish-to-hebrew-mcp",
|
|
40
|
+
"args": []
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
If the command is not on PATH, use the full path to the script or `uvx jibberish-to-hebrew-mcp` (with `"command": "uvx"`, `"args": ["jibberish-to-hebrew-mcp"]`).
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
### MCP Registry (optional)
|
|
51
|
+
|
|
52
|
+
To publish this server to the [official MCP Registry](https://modelcontextprotocol.io/registry/quickstart), the README must contain the server name below (used for ownership verification). <!-- mcp-name: io.github.Maor-Ar/jibberish-to-hebrew -->
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
README.md
|
|
2
|
+
keyboard_map.py
|
|
3
|
+
pyproject.toml
|
|
4
|
+
server.py
|
|
5
|
+
jibberish_to_hebrew_mcp.egg-info/PKG-INFO
|
|
6
|
+
jibberish_to_hebrew_mcp.egg-info/SOURCES.txt
|
|
7
|
+
jibberish_to_hebrew_mcp.egg-info/dependency_links.txt
|
|
8
|
+
jibberish_to_hebrew_mcp.egg-info/entry_points.txt
|
|
9
|
+
jibberish_to_hebrew_mcp.egg-info/requires.txt
|
|
10
|
+
jibberish_to_hebrew_mcp.egg-info/top_level.txt
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
mcp>=1.0.0
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# QWERTY (US) <-> Hebrew (SI 1452) keyboard layout mapping
|
|
2
|
+
# Same physical key produces different character depending on layout.
|
|
3
|
+
|
|
4
|
+
# When user intended to type Hebrew but keyboard was set to English, they get QWERTY
|
|
5
|
+
# characters that look like gibberish. We map those QWERTY keys -> Hebrew (SI 1452).
|
|
6
|
+
QWERTY_TO_HEBREW = {
|
|
7
|
+
"q": "/",
|
|
8
|
+
"w": "'",
|
|
9
|
+
"e": "ק",
|
|
10
|
+
"r": "ר",
|
|
11
|
+
"t": "א",
|
|
12
|
+
"y": "ט",
|
|
13
|
+
"u": "ו",
|
|
14
|
+
"i": "ן", # final nun (same key as I)
|
|
15
|
+
"o": "ם", # final mem (same key as O)
|
|
16
|
+
"p": "פ",
|
|
17
|
+
"a": "ש",
|
|
18
|
+
"s": "ד",
|
|
19
|
+
"d": "ג",
|
|
20
|
+
"f": "כ",
|
|
21
|
+
"g": "ע",
|
|
22
|
+
"h": "י",
|
|
23
|
+
"j": "ח",
|
|
24
|
+
"k": "ל",
|
|
25
|
+
"l": "ך", # final kaf
|
|
26
|
+
"z": "ז",
|
|
27
|
+
"x": "ס",
|
|
28
|
+
"c": "ב",
|
|
29
|
+
"v": "ה",
|
|
30
|
+
"b": "נ",
|
|
31
|
+
"n": "מ",
|
|
32
|
+
"m": "צ",
|
|
33
|
+
";": "ף", # final pe
|
|
34
|
+
"'": ",",
|
|
35
|
+
",": "ת",
|
|
36
|
+
".": "ץ", # final tsadi
|
|
37
|
+
"/": ".",
|
|
38
|
+
"[": "[",
|
|
39
|
+
"]": "]",
|
|
40
|
+
"\\": "\\",
|
|
41
|
+
"`": "`",
|
|
42
|
+
"-": "-",
|
|
43
|
+
"=": "=",
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
# Reverse: Hebrew -> QWERTY (for decoding Hebrew typed with Hebrew layout
|
|
47
|
+
# but displayed/captured as if it were English, or for "Hebrew gibberish" -> English)
|
|
48
|
+
HEBREW_TO_QWERTY = {v: k for k, v in QWERTY_TO_HEBREW.items()}
|
|
49
|
+
|
|
50
|
+
# Add common alternate forms so both directions work well
|
|
51
|
+
# (e.g. regular נ/מ vs final ן/ם - same key on keyboard)
|
|
52
|
+
HEBREW_TO_QWERTY["נ"] = "b"
|
|
53
|
+
HEBREW_TO_QWERTY["מ"] = "n"
|
|
54
|
+
HEBREW_TO_QWERTY["כ"] = "f"
|
|
55
|
+
HEBREW_TO_QWERTY["ך"] = "l" # already from ך->l
|
|
56
|
+
HEBREW_TO_QWERTY["פ"] = "p"
|
|
57
|
+
HEBREW_TO_QWERTY["ף"] = ";" # already from ף->;
|
|
58
|
+
HEBREW_TO_QWERTY["צ"] = "m"
|
|
59
|
+
HEBREW_TO_QWERTY["ץ"] = "." # already from ץ->.
|
|
60
|
+
# Comma and period: we have ',' -> ת and '.' -> ץ. So ת -> ',' and . (period) -> '/'
|
|
61
|
+
HEBREW_TO_QWERTY["."] = "/" # period key
|
|
62
|
+
# Don't overwrite ת (already maps to ','). Good.
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
def qwerty_to_hebrew(text: str) -> str:
|
|
66
|
+
"""Convert text that looks like English gibberish (typed on Hebrew layout) to Hebrew."""
|
|
67
|
+
return "".join(QWERTY_TO_HEBREW.get(c.lower(), c) for c in text)
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def hebrew_to_qwerty(text: str) -> str:
|
|
71
|
+
"""Convert Hebrew (or Hebrew-looking) text to QWERTY as if typed on Hebrew keyboard."""
|
|
72
|
+
return "".join(HEBREW_TO_QWERTY.get(c, c) for c in text)
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61.0", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "jibberish-to-hebrew-mcp"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
description = "MCP server: convert QWERTY gibberish to Hebrew and vice versa by keyboard layout mapping"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.10"
|
|
11
|
+
dependencies = [
|
|
12
|
+
"mcp>=1.0.0",
|
|
13
|
+
]
|
|
14
|
+
|
|
15
|
+
[project.scripts]
|
|
16
|
+
jibberish-to-hebrew-mcp = "server:main"
|
|
17
|
+
|
|
18
|
+
[tool.setuptools]
|
|
19
|
+
py-modules = ["server", "keyboard_map"]
|
|
20
|
+
|
|
21
|
+
[tool.uv]
|
|
22
|
+
dev-dependencies = []
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"""
|
|
2
|
+
MCP server: Jibberish <-> Hebrew keyboard layout converter.
|
|
3
|
+
Converts text that looks like English gibberish (typed with Hebrew layout) to Hebrew,
|
|
4
|
+
and Hebrew text to the equivalent QWERTY key sequence.
|
|
5
|
+
"""
|
|
6
|
+
from mcp.server.fastmcp import FastMCP
|
|
7
|
+
from keyboard_map import qwerty_to_hebrew, hebrew_to_qwerty
|
|
8
|
+
|
|
9
|
+
mcp = FastMCP(
|
|
10
|
+
"jibberish-to-hebrew",
|
|
11
|
+
json_response=True,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@mcp.tool()
|
|
16
|
+
def qwerty_to_hebrew_text(text: str) -> dict:
|
|
17
|
+
"""
|
|
18
|
+
Convert English-looking gibberish to Hebrew by swapping each character
|
|
19
|
+
from QWERTY keyboard layout to its counterpart on the Hebrew (SI 1452) layout.
|
|
20
|
+
Use when someone typed Hebrew but their keyboard was set to English.
|
|
21
|
+
"""
|
|
22
|
+
result = qwerty_to_hebrew(text)
|
|
23
|
+
return {"original": text, "hebrew": result}
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
@mcp.tool()
|
|
27
|
+
def hebrew_to_qwerty_text(text: str) -> dict:
|
|
28
|
+
"""
|
|
29
|
+
Convert Hebrew text to the equivalent QWERTY key sequence by swapping each
|
|
30
|
+
Hebrew character to its counterpart on the US QWERTY keyboard layout.
|
|
31
|
+
Use when someone typed English but their keyboard was set to Hebrew.
|
|
32
|
+
"""
|
|
33
|
+
result = hebrew_to_qwerty(text)
|
|
34
|
+
return {"original": text, "qwerty": result}
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def main() -> None:
|
|
38
|
+
mcp.run(transport="stdio")
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
if __name__ == "__main__":
|
|
42
|
+
main()
|