Skip to main content
Glama
BenjisCollector

mcp-arabic-toolkit

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
normalise_arabicA

Normalise Arabic text by removing diacritics, tatweel, and (optionally) unifying letter variants.

  • Unicode-normalises to NFC.

  • Optionally removes Arabic diacritics (harakat / tashkil).

  • Optionally removes the tatweel (kashida) elongation character.

  • Optionally collapses alef/yeh/teh-marbuta variants (off by default; lossy).

Args: text: The Arabic (or mixed) text to normalise. strip_diacritics: Remove harakat / tashkil marks. Defaults to True. strip_tatweel: Remove the tatweel (kashida) character. Defaults to True. normalise_letters: Collapse alef/yeh/teh-marbuta variants. Default False.

Returns: The normalised text.

strip_tashkeelA

Remove Arabic diacritics (tashkeel) and, optionally, the tatweel.

Args: text: The Arabic (or mixed) text to clean. strip_tatweel: Also remove the tatweel character. Defaults to True.

Returns: The text with diacritics (and optionally tatweel) removed.

transliterateA

Transliterate Arabic text into Latin characters.

Uses a documented, deterministic Arabic -> Latin scheme (loosely DIN 31635 / ALA-LC, simplified to ASCII digraphs). See :func:arabic_tools.transliterate for the full documented limitations.

Args: text: The Arabic text to transliterate.

Returns: A dict with the transliterated string and the scheme name.

detect_dialectA

Guess the Arabic dialect using a transparent keyword heuristic.

This is a rule-based heuristic, NOT a trained classifier. It counts hand-picked marker words per dialect (Egyptian, Levantine, Gulf, Maghrebi, MSA) and returns the best match with a crude confidence. See :func:arabic_tools.detect_dialect for the full documented limitations.

Args: text: The Arabic text to classify.

Returns: A dict with the predicted dialect, label, crude confidence, per-dialect scores, and a note documenting that this is a heuristic.

count_tokensA

Count basic statistics: whitespace tokens, characters, Arabic characters.

"Tokens" means whitespace-delimited words (not an LLM subword tokenizer).

Args: text: The text to measure.

Returns: A dict with token, character, no-space character, and Arabic-character counts.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a distinct purpose: counting tokens, dialect detection, normalization, diacritic stripping, and transliteration. The slight overlap between normalise_arabic and strip_tashkeel is clarified by descriptions, making them clearly distinguishable.

Naming Consistency4/5

Most tool names follow a verb_noun pattern (count_tokens, detect_dialect, normalise_arabic, strip_tashkeel). 'transliterate' is a single verb without an object, which is a minor inconsistency, but overall the pattern is clear and predictable.

Tool Count5/5

5 tools is well-scoped for an Arabic text processing toolkit. Each tool covers a common, meaningful operation without being too few or too many.

Completeness4/5

The toolkit covers essential Arabic text operations: counting, dialect detection, normalization, diacritic removal, and transliteration. Minor gaps exist (e.g., no stemming or morphological analysis), but for a small toolkit it is reasonably complete.

Maintenance

ActivityInactive
ResponsivenessNo issues