Skip to main content
Glama

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": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
gregorian_to_jalaliC

Convert a Gregorian date to the Jalali (Persian) calendar.

jalali_to_gregorianC

Convert a Jalali (Persian) date to the Gregorian calendar.

jalali_year_infoB

Leap-year status and month length for a Jalali year.

validate_national_idB

Validate an Iranian national ID (code melli) using its checksum.

validate_card_numberA

Validate a 16-digit Iranian bank card number (Luhn).

validate_shebaC

Validate an Iranian Sheba (IBAN) number.

normalize_mobileB

Validate and normalize an Iranian mobile number to 09xxxxxxxxx.

normalize_persian_textB

Normalize Arabic letter variants to Persian, clean spacing, and convert digits to Persian.

to_persian_digitsC

Convert any digits in a string to Persian digits.

number_to_persian_wordsB

Write a non-negative integer in Persian words, e.g. for invoices.

convert_rial_tomanB

Convert between rial and toman (1 toman = 10 rial).

bank_from_cardB

Identify the Iranian bank from a card number (first 6 digits / BIN).

bank_from_shebaB

Identify the Iranian bank from a Sheba (IBAN) number (3-digit bank code).

mobile_operatorB

Detect the mobile operator (MCI/Irancell/Rightel) of an Iranian mobile number.

landline_provinceC

Find the province of an Iranian landline number from its area code.

validate_postal_codeC

Validate an Iranian 10-digit postal code.

persian_words_to_numberB

Convert Persian number words to a number, e.g. 'دویست و پنجاه هزار' -> 250000.

format_jalali_dateC

Format a Jalali date. Tokens: YYYY YY MMMM MM M DD D dddd.

parse_jalali_dateB

Parse text like '1403/05/09', '۱۴۰۳-۵-۹' or '9 مرداد 1403' into a Jalali date.

jalali_addB

Add days, months and/or years to a Jalali date (month overflow clamps to month length).

jalali_diffA

Days between two Jalali dates plus a Persian relative description.

slugify_persianC

Create a URL slug from Persian/Latin text.

sanitize_persian_textB

Fix ZWNJ (half-space) for می/نمی and plural suffixes, Persian punctuation and spacing, Arabic letter variants.

calculate_vatB

VAT helper. Rate (percent) must be supplied. mode 'exclusive' = amount excludes tax, 'inclusive' = amount includes tax.

format_number_groupedB

Group digits in threes (200000 -> 200,000 or ۲۰۰٬۰۰۰). Accepts Persian/Arabic digits.

parse_grouped_numberA

Strip separators and Persian/Arabic digits to a clean number, e.g. '۲۰۰٬۰۰۰' -> '200000'.

price_to_persian_wordsB

Amount in Persian words with unit, e.g. 200000 toman -> 'دویست هزار تومان'. Toman may have one decimal digit (tenths = rials).

price_input_snippetB

Ready-to-use RTL-friendly price input code: digit grouping while typing with caret preserved, live Persian words (aria-live), raw value submission. variant 'core' returns the shared helpers.

rtl_guidelinesA

Full RTL frontend guidelines for Persian/Arabic UIs (also available as prompt and resource 'rtl-frontend-guidelines').

rtl_audit_cssB

Scan CSS/HTML/JSX/Tailwind text for LTR-only patterns (margin-left, ml-4, text-align:left, float:left, left/right, forced ltr, directional icons...) and suggest logical replacements.

rtl_convert_cssB

Convert physical CSS (and React style objects) to logical properties.

rtl_convert_tailwindB

Convert Tailwind physical utilities to logical ones (ml-4 -> ms-4, pr-2 -> pe-2, text-left -> text-start).

rtl_starter_snippetC

Minimal RTL-ready setup for html, css, tailwind, nextjs, react or vue.

persian_relative_timeA

Persian relative time like '۳ روز پیش' or '۲ ساعت دیگر'. Pass an ISO timestamp; 'now' defaults to the current time. Months = 30 days, years = 365 days.

jalali_month_gridA

Calendar grid for a Jalali month (for date-pickers): weeks of 7 cells with day number, Gregorian date and Friday flag; null cells pad the edges. Default week starts Saturday.

jalali_period_rangeA

Start/end (Jalali and Gregorian) of the Jalali day, week (Saturday-Friday), month, quarter (season) or year containing a date. Use for reports and finance periods instead of Gregorian date libraries.

persian_ordinalB

Persian ordinal words: 3 -> سوم, 21 -> بیست و یکم, 30 -> سی‌ام. 1 gives اول (set firstAsYekom for یکم).

persian_fuzzy_searchA

Fuzzy-match a query against candidate strings, treating Arabic/Persian letter variants (ي/ی, ك/ک, آ/ا), diacritics, ZWNJ and digit styles as equal. Returns ranked matches with scores.

persian_sortA

Sort strings in Persian alphabetical order (ا ب پ ت ... ی). Digits first (numeric), then Persian, then Latin. Ignores ZWNJ and Arabic/Persian letter variants.

fix_keyboard_layoutA

Fix text typed with the wrong keyboard layout using the standard Iranian layout (ISIRI 9147): 'sghl' -> 'سلام', and Persian typed on English back to Latin. direction 'auto' picks by script.

validate_legal_national_idB

Validate an 11-digit Iranian legal-entity national ID (شناسه ملی شخص حقوقی / company ID) with its checksum.

csv_export_safeA

Build Excel/Sheets-safe CSV from rows: UTF-8 BOM, correct quoting, Persian digits in numeric cells converted to ASCII so Excel treats them as numbers, formula-injection guard, warnings for digit strings Excel may corrupt.

persian_font_presetB

CSS for Persian fonts (vazirmatn, shabnam, sahel, iransans): import link, font stack with fallbacks, RTL base styles. IRANSans is commercial so no CDN is given.

iran_provincesA

List Iran's 31 provinces with ISO 3166-2 code, Persian/English names and capital. Optional query matches Persian or English names (letter-variant tolerant).

persian_text_statsA

Character, letter, digit, ZWNJ, word, sentence and paragraph counts for Persian/mixed text, plus reading time. wordsPerMinute is an adjustable assumption (default 180).

detect_text_directionA

Detect text direction (first-strong and dominant script, mixed flag) and optionally wrap the text bidi-safely: Unicode isolates (FSI/RLI/LRI) or HTML / dir=auto. Use for usernames, product names and mixed Persian/English strings.

truncate_persian_textB

Truncate text to maxLength (ellipsis included) without breaking words, ZWNJ-joined words, surrogate pairs or diacritics. mode 'word' (default) or 'char'.

persian_lorem_ipsumA

Deterministic Persian placeholder text (seeded, original word list; not real prose) for mockups.

format_iran_phoneC

Display formats for an Iranian mobile (0912 345 6789, +98 912 345 6789, E.164) or landline (021-12345678). Accepts Persian digits, +98, 0098.

format_short_numberB

Short Persian number form: 2500000 -> '۲٫۵ میلیون', 1200 -> '۱٫۲ هزار' (style 'latin' gives 2.5M). Optional unit like تومان.

decimal_to_persian_wordsC

Decimals, percents and fractions in Persian words: '12.5' -> 'دوازده ممیز پنج دهم', percent adds درصد, fraction '3/4' -> 'سه چهارم'.

jalali_ageA

Age (years, months, days, total days) from a Jalali birth date. asOf defaults to today.

validate_jalali_dateA

Form validation for a Jalali date with readable reasons: month/day ranges (leap-aware), min, max and notFuture checks. Never throws.

iran_business_daysA

Business-day helper: op 'is_business_day', 'add' (days may be negative) or 'count' (days after 'date' up to and including 'to'). Weekend is Friday (optionally Thursday too); supply holidays yourself or enable the fixed solar ones.

iran_holidaysA

Fixed solar-calendar public holidays of a Jalali year (Nowruz 1-4 Farvardin, 12-13 Farvardin, 14-15 Khordad, 22 Bahman, 29 Esfand) with Gregorian dates, plus the Hijri-based holiday list WITHOUT dates. Lunar holidays shift yearly and need the official annual calendar.

parse_iran_addressB

Heuristically extract province, city (province capitals only), valid postal code, and plaque/unit/floor numbers from a Persian address string.

Prompts

Interactive templates invoked by user choice

NameDescription
rtl-frontend-guidelinesGuidelines for building RTL-first Persian frontends (load before designing UI).

Resources

Contextual data attached and managed by the client

NameDescription
rtl-frontend-guidelinesRTL frontend guidelines for Persian UIs

TDQS

B3.2/5.0

Scored across 56 tools

Disambiguation4/5

Most tools have clearly distinct purposes, but several clusters overlap: normalize_persian_text vs sanitize_persian_text, and the multiple number-to-words/formatting tools (number_to_persian_words, price_to_persian_words, decimal_to_persian_words, format_short_number). Descriptions help, but with 56 tools an agent may still hesitate between adjacent normalization/formatting utilities.

Naming Consistency4/5

Names are uniformly snake_case and descriptive, with no camelCase mixing. The only minor inconsistency is that some are verb_noun (validate_*, format_*, parse_*) while others are noun-based (iran_provinces, persian_text_stats, rtl_starter_snippet), but the pattern remains predictable.

Tool Count1/5

56 tools is far above the recommended 3–15 range and exceeds the 25+/50+ thresholds for overload. Even though the server covers a broad utility domain, this many separate tools creates selection overhead and agent confusion.

Completeness4/5

The surface is very comprehensive for Persian/Iranian development: text normalization, Jalali dates, numbers, banking/ID validators, phone data, and RTL frontend utilities. Gaps remain around official/lunar holiday dates and some edge cases (e.g., negative number words), but core workflows are well covered.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues