Text & Number Toolkit

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

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
86%
命名品質
90%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~3,144Token(工具定義)
~1.9 KB典型回應大小
顯著的注意力影響(128k 上下文的 2.46%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

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

遠端端點

https://textkit.noahsarch.tech/mcpstreamable-http

它能做什麼

工具清單

工具(10)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢amount_to_words(amount, currency, language, style)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "amount": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "integer"
        }
      ],
      "description": "Amount as number or numeric string, e.g. 1234567.89 or '١٢٣٤٫٥٠'.",
      "title": "Amount"
    },
    "currency": {
      "description": "ISO 4217 code: AED, SAR, USD, EUR…",
      "title": "Currency",
      "type": "string"
    },
    "language": {
      "default": "en",
      "description": "Language of the words: 'en', 'ar', 'fr', 'de', 'es', 'hi', 'ur'… (56 languages; list_languages).",
      "title": "Language",
      "type": "string"
    },
    "style": {
      "default": "plain",
      "description": "cheque wraps the phrase the way cheques/contracts do ('… only' / 'فقط … لا غير').",
      "enum": [
        "plain",
        "cheque"
      ],
      "title": "Style",
      "type": "string"
    }
  },
  "required": [
    "amount",
    "currency"
  ],
  "title": "amount_to_wordsArguments"
}

輸出結構描述

{
  "type": "object",
  "additionalProperties": true,
  "title": "amount_to_wordsDictOutput"
}
🟢number_to_words(number, language, to)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "number": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "integer"
        }
      ],
      "description": "Number (integers or decimals; Arabic-Indic digits accepted).",
      "title": "Number"
    },
    "language": {
      "default": "en",
      "description": "Target language code (56 supported).",
      "title": "Language",
      "type": "string"
    },
    "to": {
      "default": "cardinal",
      "description": "cardinal (default) | ordinal (1st, الأول) | year (nineteen ninety-nine).",
      "enum": [
        "cardinal",
        "ordinal",
        "year"
      ],
      "title": "To",
      "type": "string"
    }
  },
  "required": [
    "number"
  ],
  "title": "number_to_wordsArguments"
}

輸出結構描述

{
  "type": "object",
  "additionalProperties": true,
  "title": "number_to_wordsDictOutput"
}
🟢format_number(number, locale, style, currency, decimals, ...)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "number": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "integer"
        }
      ],
      "description": "Number to format.",
      "title": "Number"
    },
    "locale": {
      "description": "CLDR locale: 'en', 'en_IN' (lakh grouping), 'ar_AE' (Arabic-Indic digits), 'de_DE', 'fr_CH'…",
      "title": "Locale",
      "type": "string"
    },
    "style": {
      "default": "decimal",
      "description": "",
      "enum": [
        "decimal",
        "currency",
        "percent"
      ],
      "title": "Style",
      "type": "string"
    },
    "currency": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "ISO 4217 code when style=currency.",
      "title": "Currency"
    },
    "decimals": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Force a number of decimal places; default = locale/currency rule.",
      "title": "Decimals"
    },
    "numbering": {
      "default": "locale",
      "description": "Digit system: locale default (ar_EG → Arabic-Indic, ar_AE → Western), or force latn / arab.",
      "enum": [
        "locale",
        "latn",
        "arab"
      ],
      "title": "Numbering",
      "type": "string"
    }
  },
  "required": [
    "number",
    "locale"
  ],
  "title": "format_numberArguments"
}

輸出結構描述

{
  "type": "object",
  "additionalProperties": true,
  "title": "format_numberDictOutput"
}
🟢parse_number(text, locale)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "text": {
      "description": "Number as written by a human: '1.234,56', '١٬٢٣٤٫٥٦', '12 345,6', '1,234.56'.",
      "title": "Text",
      "type": "string"
    },
    "locale": {
      "default": "en",
      "description": "Locale whose separators to assume first; a heuristic fallback handles mismatches and says so.",
      "title": "Locale",
      "type": "string"
    }
  },
  "required": [
    "text"
  ],
  "title": "parse_numberArguments"
}

輸出結構描述

{
  "type": "object",
  "additionalProperties": true,
  "title": "parse_numberDictOutput"
}
🟢convert_digits(text, to)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "text": {
      "description": "",
      "title": "Text",
      "type": "string"
    },
    "to": {
      "description": "western 0-9 | arabic_indic ٠-٩ | persian ۰-۹.",
      "enum": [
        "western",
        "arabic_indic",
        "persian"
      ],
      "title": "To",
      "type": "string"
    }
  },
  "required": [
    "text",
    "to"
  ],
  "title": "convert_digitsArguments"
}

輸出結構描述

{
  "type": "object",
  "additionalProperties": true,
  "title": "convert_digitsDictOutput"
}
🟢normalize_arabic(text, strip_tashkeel, strip_tatweel, unify_alef, taa_marbuta_to_haa, ...)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "text": {
      "description": "",
      "title": "Text",
      "type": "string"
    },
    "strip_tashkeel": {
      "default": true,
      "description": "Remove diacritics (fatha, damma, shadda…).",
      "title": "Strip Tashkeel",
      "type": "boolean"
    },
    "strip_tatweel": {
      "default": true,
      "description": "Remove kashida/tatweel elongation.",
      "title": "Strip Tatweel",
      "type": "boolean"
    },
    "unify_alef": {
      "default": true,
      "description": "آ أ إ ٱ → ا.",
      "title": "Unify Alef",
      "type": "boolean"
    },
    "taa_marbuta_to_haa": {
      "default": false,
      "description": "ة → ه (search normalisation; changes spelling).",
      "title": "Taa Marbuta To Haa",
      "type": "boolean"
    },
    "alef_maqsura_to_yaa": {
      "default": false,
      "description": "ى → ي (search normalisation; changes spelling).",
      "title": "Alef Maqsura To Yaa",
      "type": "boolean"
    },
    "digits_to_western": {
      "default": true,
      "description": "٠-٩/۰-۹ → 0-9.",
      "title": "Digits To Western",
      "type": "boolean"
    },
    "punctuation_to_latin": {
      "default": false,
      "description": "، ؛ ؟ ٪ ٫ ٬ → , ; ? % . ,",
      "title": "Punctuation To Latin",
      "type": "boolean"
    },
    "collapse_whitespace": {
      "default": true,
      "description": "",
      "title": "Collapse Whitespace",
      "type": "boolean"
    }
  },
  "required": [
    "text"
  ],
  "title": "normalize_arabicArguments"
}

輸出結構描述

{
  "type": "object",
  "additionalProperties": true,
  "title": "normalize_arabicDictOutput"
}
🟢transliterate(text)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "text": {
      "description": "Text in any script (Cyrillic, Greek, CJK, Arabic, Devanagari…).",
      "title": "Text",
      "type": "string"
    }
  },
  "required": [
    "text"
  ],
  "title": "transliterateArguments"
}

輸出結構描述

{
  "type": "object",
  "additionalProperties": true,
  "title": "transliterateDictOutput"
}
🟢detect_script(text)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "text": {
      "description": "",
      "title": "Text",
      "type": "string"
    }
  },
  "required": [
    "text"
  ],
  "title": "detect_scriptArguments"
}

輸出結構描述

{
  "type": "object",
  "additionalProperties": true,
  "title": "detect_scriptDictOutput"
}
🟢parse_date(text, languages, relative_base, timezone, date_order, ...)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "text": {
      "description": "A date as humans write it: '3 mars 2026', '12/11/2026', 'غداً', 'in 3 weeks', '15 رمضان 1447', '2026-11-12T10:00'.",
      "title": "Text",
      "type": "string"
    },
    "languages": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Language codes to try, e.g. ['en','ar','fr']. Strongly recommended for speed and accuracy.",
      "title": "Languages"
    },
    "relative_base": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "ISO datetime that relative phrases ('tomorrow', 'in 3 days') count from. Default: now.",
      "title": "Relative Base"
    },
    "timezone": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "IANA zone for the result, e.g. 'Asia/Dubai'.",
      "title": "Timezone"
    },
    "date_order": {
      "anyOf": [
        {
          "enum": [
            "DMY",
            "MDY",
            "YMD"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Order for ambiguous numeric dates. Pass it whenever you know the source country.",
      "title": "Date Order"
    },
    "prefer_future": {
      "default": false,
      "description": "Resolve ambiguous relative dates forward (deadlines) rather than backward.",
      "title": "Prefer Future",
      "type": "boolean"
    }
  },
  "required": [
    "text"
  ],
  "title": "parse_dateArguments"
}

輸出結構描述

{
  "type": "object",
  "additionalProperties": true,
  "title": "parse_dateDictOutput"
}
🟢list_languages

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.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "title": "list_languagesArguments"
}

輸出結構描述

{
  "type": "object",
  "additionalProperties": true,
  "title": "list_languagesDictOutput"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本10 個工具