← The evidence ledger
Evidence row 1744748
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 65e6200d-6530-4e9f-8006-c0b117028faf
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- e6bd7c007d45e4b71bb1e46cef362c4697df42f29f76fe18f1c4b6683ea077a7
- Leaf
- 0xd95da3fc47f18831a100d7127d21fefaaf588140ac92c9ae9cf9b796028aa1be
What was observed
{
"count": 10,
"tools": [
{
"description": "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.",
"inputSchema": {
"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"
},
"name": "amount_to_words"
},
{
"description": "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.",
"inputSchema": {
"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"
},
"name": "convert_digits"
},
{
"description": "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.",
"inputSchema": {
"properties": {
"text": {
"description": "",
"title": "Text",
"type": "string"
}
},
"required": [
"text"
],
"title": "detect_scriptArguments",
"type": "object"
},
"name": "detect_script"
},
{
"description": "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.",
"inputSchema": {
"properties": {
"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"
},
"locale": {
"description": "CLDR locale: 'en', 'en_IN' (lakh grouping), 'ar_AE' (Arabic-Indic digits), 'de_DE', 'fr_CH'…",
"title": "Locale",
"type": "string"
},
"number": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "integer"
}
],
"description": "Number to format.",
"title": "Number"
},
"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"
},
"style": {
"default": "decimal",
"description": "",
"enum": [
"decimal",
"currency",
"percent"
],
"title": "Style",
"type": "string"
}
},
"required": [
"number",
"locale"
],
"title": "format_numberArguments",
"type": "object"
},
"name": "format_number"
},
{
"description": "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.",
"inputSchema": {
"properties": {},
"title": "list_languagesArguments",
"type": "object"
},
"name": "list_languages"
},
{
"description": "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.",
"inputSchema": {
"properties": {
"alef_maqsura_to_yaa": {
"default": false,
"description": "ى → ي (search normalisation; changes spelling).",
"title": "Alef Maqsura To Yaa",
"type": "boolean"
},
"collapse_whitespace": {
"default": true,
"description": "",
"title": "Collapse Whitespace",
"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"
},
"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"
},
"taa_marbuta_to_haa": {
"default": false,
"description": "ة → ه (search normalisation; changes spelling).",
"title": "Taa Marbuta To Haa",
"type": "boolean"
},
"text": {
"description": "",
"title": "Text",
"type": "string"
},
"unify_alef": {
"default": true,
"description": "آ أ إ ٱ → ا.",
"title": "Unify Alef",
"type": "boolean"
}
},
"required": [
"text"
],
"title": "normalize_arabicArguments",
"type": "object"
},
"name": "normalize_arabic"
},
{
"description": "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.",
"inputSchema": {
"properties": {
"language": {
"default": "en",
"description": "Target language code (56 supported).",
"title": "Language",
"type": "string"
},
"number": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "integer"
}
],
"description": "Number (integers or decimals; Arabic-Indic digits accepted).",
"title": "Number"
},
"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"
},
"name": "number_to_words"
},
{
"description": "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.",
"inputSchema": {
"properties": {
"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"
},
"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"
},
"prefer_future": {
"default": false,
"description": "Resolve ambiguous relative dates forward (deadlines) rather than backward.",
"title": "Prefer Future",
"type": "boolean"
},
"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"
},
"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"
},
"timezone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "IANA zone for the result, e.g. 'Asia/Dubai'.",
"title": "Timezone"
}
},
"required": [
"text"
],
"title": "parse_dateArguments",
"type": "object"
},
"name": "parse_date"
},
{
"description": "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.",
"inputSchema": {
"properties": {
"locale": {
"default": "en",
"description": "Locale whose separators to assume first; a heuristic fallback handles mismatches and says so.",
"title": "Locale",
"type": "string"
},
"text": {
"description": "Number as written by a human: '1.234,56', '١٬٢٣٤٫٥٦', '12 345,6', '1,234.56'.",
"title": "Text",
"type": "string"
}
},
"required": [
"text"
],
"title": "parse_numberArguments",
"type": "object"
},
"name": "parse_number"
},
{
"description": "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.",
"inputSchema": {
"properties": {
"text": {
"description": "Text in any script (Cyrillic, Greek, CJK, Arabic, Devanagari…).",
"title": "Text",
"type": "string"
}
},
"required": [
"text"
],
"title": "transliterateArguments",
"type": "object"
},
"name": "transliterate"
}
]
}What the leaf hashes
{"body":"e6bd7c007d45e4b71bb1e46cef362c4697df42f29f76fe18f1c4b6683ea077a7","id":1744748,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793513904039417,"prev":null,"subject":"65e6200d-6530-4e9f-8006-c0b117028faf","subject_kind":"endpoint"}Proof
Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.