Text & Number Toolkit

tech.noahsarchPublished by noahsarch.techOfficial publisherv0.1.1Updated Nov 1, 2026

Amounts in words (Arabic cheque grammar), number formatting, Arabic text tools, date parsing.

The publisher's own server: Business-Day Oracle

VerifiedStreamable HTTPWeb executableDeveloper ToolsData & Analytics

Overview

AI-generated overview

Remote MCP server with deterministic, rule-based tools for writing numbers and amounts in words, locale-correct number formatting and parsing, Arabic text…

What you can do
  • Write amounts and numbers in words: cheque/invoice wording in 56 languages, cardinals, ordinals and years, with Arabic number-noun agreement.
  • Format and parse numbers: CLDR grouping, decimal marks, currency symbols and Arabic-Indic digits, plus reading written numbers back into exact decimals.
  • Clean and convert text: swap digit systems, normalize Arabic, romanize any script to ASCII, and detect scripts, direction and digit systems.
  • Parse dates: natural-language and local numeric dates, relative phrases and Hijri dates into ISO values.
  • Look up supported languages and currencies.
When to use it
Useful when an assistant must produce cheque or contract amounts in words, display or read numbers correctly across locales, prepare Arabic text for search or storage, or turn human-written and Hijri dates into ISO dates.
Requirements
A remote streamable HTTP endpoint; no local install. Catalogue and free tools work without credentials; other tools need an API key sent in the X-API-Key header, obtained by contacting the provider.
Before you install
The X-API-Key header is a secret and should be kept out of logs and shared transcripts. Transliteration is not official spelling and Arabic names come out as a consonant skeleton flagged low confidence; some results rely on heuristics or assumed conventions, so check the warnings and confidence fields before using output in contracts or payments.

Installation

In SourceWeft

  1. Open Text & Number Toolkit in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/tech.noahsarch%2Ftext-number-toolkit/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "text-number-toolkit": {
      "type": "http",
      "url": "https://textkit.noahsarch.tech/mcp"
    }
  }
}

Tools

10

amount_to_words

Write a money amount in words

Convert an amount in a currency to words for cheques, invoices and contracts, in 56 languages. Arabic output applies number–noun agreement (درهم واحد / درهمان / ثلاثة دراهم / أحد عشر درهماً) and the correct minor unit (فلس، هللة، قرش…); English uses CLDR currency names. style='cheque' adds the customary wrapper. Example: amount 1250.50, currency 'AED', language 'ar', style 'cheque'. Response: result plus data_confidence, estimated_items[], sources[], data_version, warnings[]; deterministic (no AI inside), nothing logged.

Parametersstyleamountrequiredcurrencyrequiredlanguage

number_to_words

Write a number in words

Cardinal, ordinal or year wording of a number in 56 languages (en, ar, fr, de, es, pt, it, nl, tr, ru, hi, ur, id, ja, ko…). Example: number 2026, language 'en', to 'year' → 'twenty twenty-six'. Response: result plus data_confidence, estimated_items[], sources[], data_version, warnings[]; deterministic (no AI inside), nothing logged.

Parameterstonumberrequiredlanguage

format_number

Format a number for a locale

Locale-correct display of a decimal, currency amount or percentage using CLDR rules: grouping (1,234,567 / 12,34,567 / 1.234.567 / 1 234 567), decimal mark, currency symbol placement, Arabic-Indic digits for ar_* locales. Example: number 1234567.891, locale 'en_IN', style 'currency', currency 'INR'. Response: result plus data_confidence, estimated_items[], sources[], data_version, warnings[]; deterministic (no AI inside), nothing logged.

Parametersstylelocalerequirednumberrequiredcurrencydecimalsnumbering

parse_number

Read a human-written number

Turn '1.234,56', '١٬٢٣٤٫٥٦', '12 345,6' or '1,234.56' into an exact decimal, using the locale's separators first and a clearly flagged heuristic when they do not match. Example: text '1.234,56', locale 'de'. Response: result plus data_confidence, estimated_items[], sources[], data_version, warnings[]; deterministic (no AI inside), nothing logged.

Parameterstextrequiredlocale

convert_digits

Convert digit systems

Rewrite digits between Western (0-9), Arabic-Indic (٠-٩) and Persian/Urdu (۰-۹) anywhere in a text, leaving everything else untouched. Response: result plus data_confidence, estimated_items[], sources[], data_version, warnings[]; deterministic (no AI inside), nothing logged.

Parameterstorequiredtextrequired

normalize_arabic

Normalise Arabic text

Clean Arabic text for matching, search and storage: strip diacritics and tatweel, unify alef forms, optional ة→ه and ى→ي, Western digits, Latin punctuation, whitespace. Reports exactly which rules changed the text. Response: result plus data_confidence, estimated_items[], sources[], data_version, warnings[]; deterministic (no AI inside), nothing logged.

Parameterstextrequiredunify_alefstrip_tatweelstrip_tashkeeldigits_to_westerntaa_marbuta_to_haaalef_maqsura_to_yaacollapse_whitespacepunctuation_to_latin

transliterate

Romanise any script to ASCII

Deterministic romanisation of any script to plain ASCII (Cyrillic, Greek, CJK, Devanagari, Thai, Arabic…) for slugs, sorting, matching and systems that reject non-ASCII. Not an official spelling: for Arabic names the result is a consonant skeleton and is flagged low confidence. Response: result plus data_confidence, estimated_items[], sources[], data_version, warnings[]; deterministic (no AI inside), nothing logged.

Parameterstextrequired

detect_script

Detect scripts, direction and digit systems

Proportions of writing systems in a text (latin, arabic, cyrillic, han…), dominant script, RTL/LTR direction, mixed-script flag, which digit systems appear, and hints such as Persian/Urdu-specific letters. Free. Response: result plus data_confidence, estimated_items[], sources[], data_version, warnings[]; deterministic (no AI inside), nothing logged.

Parameterstextrequired

parse_date

Parse a human-written date (200 locales + Hijri)

Turn a date written in natural language or local numeric formats into an ISO date/datetime: '3 mars 2026', '12.11.2026', 'next month', 'غداً', 'in 3 weeks', and Hijri dates such as '15 رمضان 1447' or '1 Muharram 1448' (converted by Umm al-Qura). Returns precision (day/month/year/time), the detected language and the relative base used. Pass languages and date_order when known. Example: text '١٥ رمضان ١٤٤٧'. Response: result plus data_confidence, estimated_items[], sources[], data_version, warnings[]; deterministic (no AI inside), nothing logged.

Parameterstextrequiredtimezonelanguagesdate_orderprefer_futurerelative_base

list_languages

Supported languages and locales

Languages available for words, the curated Arabic-grammar currencies, and notes on locales. Free. Response: result plus data_confidence, estimated_items[], sources[], data_version, warnings[]; deterministic (no AI inside), nothing logged.

Takes no parameters.

Version history

1
  1. v0.1.1LatestNov 1, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.

Other Noahsarch integrations