Skip to main content
Glama

Moved. This GitHub copy is an archive. Use the Forgejo repository.

Canonical repository: https://git.simonharms.com/thesimonharms/aksara-mcp

aksara-mcp

MCP server that gives AI agents bidirectional transliteration between Latin-script Javanese and Aksara Jawa (Hanacaraka), powered by aksara-ts.

lamun sira nginguk ucing   →  ꦭꦩꦸꦤ꧀ꦱꦶꦫꦔꦶꦔꦸꦏꦸꦕꦶꦁ
ꦲꦤꦕꦫꦏ                  →  hanacaraka

Aksara Jawa is essentially absent from LLM training data. This server lets agents read manuscript OCR output, transliterate user input, and work with Javanese script in both directions without guessing at rare Unicode codepoints.

Tools

Tool

Direction

Description

to_aksara

Latin → Aksara

Convert Latin-script Javanese to Hanacaraka

from_aksara

Aksara → Latin

Decode Aksara Jawa back to Latin script

to_aksara

Parameter

Type

Default

Description

text

string

—

Latin-script Javanese text

spaces

boolean

false

Preserve spaces in the output

explicit_vowels

boolean

false

Use standalone vowel letters (ꦄ ꦆ ꦈ ꦌ ꦎ) for vowels without a preceding consonant

from_aksara

Parameter

Type

Description

text

string

Aksara Jawa text to decode

Decoding handles murda consonants, retroflex letters (ṭ, ḍ), cakra (medial r), pengkal (medial y), and standalone vowel letters.

Related MCP server: Tamga MCP Server

Install

npm install aksara-mcp

Or clone and build locally:

git clone https://github.com/thesimonharms/aksara-mcp.git
cd aksara-mcp
npm install
npm run build

Requires Node.js 18+.

MCP configuration

Cursor / Claude Desktop

{
  "mcpServers": {
    "aksara": {
      "command": "node",
      "args": ["/absolute/path/to/aksara-mcp/dist/index.js"]
    }
  }
}

If installed globally or via npx:

{
  "mcpServers": {
    "aksara": {
      "command": "npx",
      "args": ["aksara-mcp"]
    }
  }
}

Examples

Latin → Aksara

{ "text": "hanacaraka" }

→ ꦲꦤꦕꦫꦏ

{ "text": "aji saka", "spaces": true }

→ ꦲꦗꦶ ꦱꦏ

{ "text": "aksara", "explicit_vowels": true }

→ ꦄꦏ꧀ꦱꦫ

Aksara → Latin

{ "text": "ꦲꦤꦕꦫꦏ" }

→ hanacaraka

{ "text": "ꦧꦸꦟ꧀ꦝꦼꦭ꧀" }

→ bunḍel

Development

npm run build   # bundle server to dist/
npm start       # run on stdio
npm test        # build + run cobasaja tests

Tests live in tests/ and use cobasaja to spawn the server over stdio and assert tool behaviour end-to-end.

Known limitations

Inherited from aksara-ts:

  • ꦲ ambiguity — the glyph is both consonant h and the carrier for standalone vowels. from_aksara on ꦲꦗꦶ returns haji, not aji. Use explicit_vowels: true when encoding if disambiguation matters.

  • Spaces — Aksara Jawa traditionally omits word boundaries. Pass spaces: true to to_aksara if you need spaces preserved for round-tripping.

License

MIT © Simon Harms

Available Tools

2 tools
from_aksaraA

Convert Aksara Jawa (Hanacaraka script) to Latin-script Javanese. Handles murda consonants, retroflex letters, cakra, pengkal, and standalone vowel letters.

Inputs: text (required).

to_aksaraA

Convert Latin-script Javanese text to Aksara Jawa (Hanacaraka script). Supports optional space preservation and explicit standalone vowel letters.

Inputs: text (required), spaces, explicit_vowels.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.4/5.0

    Scored across 2 tools

    Disambiguation5/5

    The two tools have clearly opposite purposes: one converts from Aksara to Latin, the other from Latin to Aksara. There is no overlap or ambiguity.

    Naming Consistency5/5

    Both tool names follow a consistent 'direction_aksara' pattern using snake_case, making them predictable and easy to understand.

    Tool Count5/5

    With exactly 2 tools (one for each conversion direction), the server is perfectly scoped for its purpose—no more, no less.

    Completeness5/5

    The toolset covers the entire bidirectional conversion between Aksara Jawa and Latin script, with no missing operations for its defined domain.

    Maintenance

    ActivityStale
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables MCP-compatible AI agents to translate Turkish text into Göktürkçe (Orhun) script, decode and etymologically analyze Göktürkçe Unicode text, verify Göktürkçe in images via OCR, and render stylized Göktürkçe images and videos with effects like 3D parallax.
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to look up official EYD Edisi Kelima spelling rules and check or correct Indonesian text for common errors such as nonstandard prepositions, particles, affixed forms, and punctuation through tool calls.
      34 npm
      7
      MIT
    • F
      license
      Not graded
      quality
      C
      maintenance
      Enables AI agents to translate between Hebrew, English, and Russian with protected values, handle RTL/LTR display and direction analysis, detect code-switched language, transliterate, add or strip nikud, manage terms, and use clinical translation tools via a remote MCP server.
      -