HebrewCore by baba Hebrew
What this MCP does
Translates and verifies Hebrew, English, Russian, and other supported languages, with RTL handling, nikud, transliteration, and specialized clinical translation tools.
Tools
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'examples': ['שלום עולם'], 'maxLength': 10000, 'minLength': 1, 'description': 'Hebrew text to vocalize, up to 10,000 characters. English terms and numbers pass through.'}}}
Output schema
{'type': 'object', 'properties': {'text': {'type': 'string', 'examples': ['שלום עולם'], 'description': 'The input.'}, 'nikud': {'type': 'string', 'examples': ['שָׁלוֹם עוֹלָם'], 'description': 'The vocalized text, or the input unchanged when `verified` is false.'}, 'verified': {'type': 'boolean', 'examples': [True], 'description': 'True when removing the points gives back exactly the input. When false, `nikud` is the input unchanged: send it to speech unvocalized or retry.'}}}
Input schema
{'type': 'object', 'required': ['terms'], 'properties': {'terms': {'type': 'array', 'items': {'type': 'object', 'required': ['term'], 'properties': {'note': {'type': ['string', 'null'], 'maxLength': 500}, 'term': {'type': 'string', 'examples': ['Optalgin'], 'maxLength': 200, 'minLength': 1}, 'translations': {'type': 'object', 'examples': [{'he': 'אופטלגין', 'ru': 'Оптальгин'}], 'properties': {'en': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'he': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'ru': {'type': 'string', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}}}, 'maxItems': 2000, 'minItems': 1}}}
Output schema
{'type': 'object', 'properties': {'count': {'type': 'integer'}, 'terms': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string', 'examples': ['3f2c1a9e-8b7d-4c6e-9f10-2a3b4c5d6e7f']}, 'note': {'type': ['string', 'null'], 'examples': ['paracetamol 500 mg brand'], 'description': 'Your own note, up to 500 characters.'}, 'term': {'type': 'string', 'examples': ['Acamol'], 'description': 'Kept exactly as written in every protected translation.'}, 'created_at': {'type': 'string', 'examples': ['2026-01-15T09:30:00.000Z'], 'description': 'ISO 8601 timestamp.'}, 'translations': {'type': 'object', 'examples': [{'he': 'אקמול'}], 'properties': {'en': {'type': 'string'}, 'he': {'type': 'string'}, 'ru': {'type': 'string'}}, 'description': 'Optional required rendering per target language. When set for the target, it replaces the term; otherwise the term is kept verbatim.'}}}}}}
Input schema
{'type': 'object', 'title': 'AnalyzeRequest', 'properties': {'base': {'enum': ['auto', 'ltr', 'rtl'], 'type': 'string', 'default': 'auto', 'examples': ['auto'], 'description': 'Paragraph direction to resolve against. `auto` (default) uses the first strong letter.'}, 'text': {'type': 'string', 'examples': ['שלום world'], 'maxLength': 20000, 'minLength': 1, 'description': 'A single string, up to 20,000 characters. Send this or `fields`.'}, 'fields': {'type': 'object', 'examples': [{'title': 'מסמך Q3 ready', 'subtitle': 'Read the summary'}], 'description': 'A map of field name → string, up to 100 fields and 20,000 characters in total. Send this or `text`.', 'additionalProperties': {'type': 'string', 'maxLength': 20000}}}, 'description': 'Provide exactly one of `text` (a single string) or `fields` (a map of name → string). Max 20,000 chars per string; up to 100 fields.'}
Output schema
{'type': 'object', 'properties': {'fields': {'type': 'object', 'description': 'Present when the request sent `fields`: one analysis per field name.', 'additionalProperties': {'type': 'object', 'properties': {'dir': {'enum': ['ltr', 'rtl'], 'type': 'string', 'examples': ['rtl'], 'description': 'Paragraph base direction. With `base: "auto"` this follows the Unicode first-strong rule, matching CSS `dir="auto"`.'}, 'lang': {'type': 'string', 'examples': ['he'], 'description': 'Dominant BCP 47 language, from the dominant script.'}, 'runs': {'type': 'array', 'items': {'type': 'object', 'properties': {'dir': {'enum': ['ltr', 'rtl'], 'type': 'string', 'examples': ['rtl'], 'description': 'Resolved direction of the run.'}, 'end': {'type': 'integer', 'examples': [5], 'description': 'UTF-16 offset after the last character, exclusive.'}, 'lang': {'type': 'string', 'examples': ['he'], 'description': 'Best-effort BCP 47 language of the run, from its script. `und` when undetermined (numbers, symbols).'}, 'text': {'type': 'string', 'examples': ['שלום '], 'description': 'The run text. Equals `input.slice(start, end)`.'}, 'start': {'type': 'integer', 'examples': [0], 'description': 'UTF-16 offset of the first character, inclusive.'}, 'script': {'type': 'string', 'examples': ['Hebr'], 'description': 'ISO 15924 script of the run: `Hebr`, `Latn`, `Cyrl`, `Arab`, or `Zyyy` for digits and punctuation only.'}}, 'description': 'A maximal stretch of text with one direction, in logical order.'}, 'description': 'Runs exactly as the Unicode Bidirectional Algorithm resolves them.'}, 'mixed': {'type': 'boolean', 'examples': [True], 'description': 'True when the text contains both strong right-to-left and strong left-to-right letters. Digits and invisible marks do not count.'}, 'script': {'type': 'string', 'examples': ['Hebr'], 'description': 'Dominant ISO 15924 script.'}, 'display_runs': {'type': 'array', 'items': {'type': 'object', 'properties': {'dir': {'enum': ['ltr', 'rtl'], 'type': 'string', 'examples': ['rtl'], 'description': 'Resolved direction of the run.'}, 'end': {'type': 'integer', 'examples': [5], 'description': 'UTF-16 offset after the last character, exclusive.'}, 'lang': {'type': 'string', 'examples': ['he'], 'description': 'Best-effort BCP 47 language of the run, from its script. `und` when undetermined (numbers, symbols).'}, 'text': {'type': 'string', 'examples': ['שלום '], 'description': 'The run text. Equals `input.slice(start, end)`.'}, 'start': {'type': 'integer', 'examples': [0], 'description': 'UTF-16 offset of the first character, inclusive.'}, 'script': {'type': 'string', 'examples': ['Hebr'], 'description': 'ISO 15924 script of the run: `Hebr`, `Latn`, `Cyrl`, `Arab`, or `Zyyy` for digits and punctuation only.'}}, 'description': 'A maximal stretch of text with one direction, in logical order.'}, 'description': 'Runs for display: every left-to-right unit (a Latin term, a number with its unit, a range, a date, a percentage, a comparison such as <5) is one run, so it never splits or mirrors. Render these, or use /v1/wrap.'}}, 'description': 'Directionality metadata for one string.'}}, 'analysis': {'allOf': [{'type': 'object', 'properties': {'dir': {'enum': ['ltr', 'rtl'], 'type': 'string', 'examples': ['rtl'], 'description': 'Paragraph base direction. With `base: "auto"` this follows the Unicode first-strong rule, matching CSS `dir="auto"`.'}, 'lang': {'type': 'string', 'examples': ['he'], 'description': 'Dominant BCP 47 language, from the dominant script.'}, 'runs': {'type': 'array', 'items': {'type': 'object', 'properties': {'dir': {'enum': ['ltr', 'rtl'], 'type': 'string', 'examples': ['rtl'], 'description': 'Resolved direction of the run.'}, 'end': {'type': 'integer', 'examples': [5], 'description': 'UTF-16 offset after the last character, exclusive.'}, 'lang': {'type': 'string', 'examples': ['he'], 'description': 'Best-effort BCP 47 language of the run, from its script. `und` when undetermined (numbers, symbols).'}, 'text': {'type': 'string', 'examples': ['שלום '], 'description': 'The run text. Equals `input.slice(start, end)`.'}, 'start': {'type': 'integer', 'examples': [0], 'description': 'UTF-16 offset of the first character, inclusive.'}, 'script': {'type': 'string', 'examples': ['Hebr'], 'description': 'ISO 15924 script of the run: `Hebr`, `Latn`, `Cyrl`, `Arab`, or `Zyyy` for digits and punctuation only.'}}, 'description': 'A maximal stretch of text with one direction, in logical order.'}, 'description': 'Runs exactly as the Unicode Bidirectional Algorithm resolves them.'}, 'mixed': {'type': 'boolean', 'examples': [True], 'description': 'True when the text contains both strong right-to-left and strong left-to-right letters. Digits and invisible marks do not count.'}, 'script': {'type': 'string', 'examples': ['Hebr'], 'description': 'Dominant ISO 15924 script.'}, 'display_runs': {'type': 'array', 'items': {'type': 'object', 'properties': {'dir': {'enum': ['ltr', 'rtl'], 'type': 'string', 'examples': ['rtl'], 'description': 'Resolved direction of the run.'}, 'end': {'type': 'integer', 'examples': [5], 'description': 'UTF-16 offset after the last character, exclusive.'}, 'lang': {'type': 'string', 'examples': ['he'], 'description': 'Best-effort BCP 47 language of the run, from its script. `und` when undetermined (numbers, symbols).'}, 'text': {'type': 'string', 'examples': ['שלום '], 'description': 'The run text. Equals `input.slice(start, end)`.'}, 'start': {'type': 'integer', 'examples': [0], 'description': 'UTF-16 offset of the first character, inclusive.'}, 'script': {'type': 'string', 'examples': ['Hebr'], 'description': 'ISO 15924 script of the run: `Hebr`, `Latn`, `Cyrl`, `Arab`, or `Zyyy` for digits and punctuation only.'}}, 'description': 'A maximal stretch of text with one direction, in logical order.'}, 'description': 'Runs for display: every left-to-right unit (a Latin term, a number with its unit, a range, a date, a percentage, a comparison such as <5) is one run, so it never splits or mirrors. Render these, or use /v1/wrap.'}}, 'description': 'Directionality metadata for one string.'}, {'description': 'Present when the request sent `text`.'}]}}}
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'examples': ['האם המטופלת עדיין לוקחת מטפורמין?'], 'maxLength': 2000, 'minLength': 1, 'description': 'The Hebrew question, up to 2,000 characters.'}, 'glossary': {'type': 'object', 'examples': [{'metformin': 'מטפורמין'}], 'description': 'English term → Hebrew rendering, used to map the Hebrew back to English.', 'additionalProperties': {'type': 'string', 'maxLength': 200, 'minLength': 1}}, 'known_terms': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'examples': [['metformin', 'lisinopril']], 'maxItems': 500, 'description': "English terms from the patient's record, used to map Hebrew spellings back. Up to 500. Account terms are added automatically."}}}
Output schema
{'type': 'object', 'properties': {'query': {'type': 'string', 'examples': ['Is the patient still taking metformin?'], 'description': 'English query for your record search.'}, 'terms': {'type': 'array', 'items': {'type': 'object', 'properties': {'hebrew': {'type': 'string', 'examples': ['מטפורמין']}, 'source': {'enum': ['known_terms', 'lexicon', 'glossary'], 'type': 'string', 'examples': ['known_terms'], 'description': 'Where the mapping came from.'}, 'english': {'type': 'string', 'examples': ['metformin']}}}, 'description': 'Hebrew spellings that were mapped back to English terms.'}, 'usage': {'type': 'object', 'properties': {'characters': {'type': 'integer', 'examples': [33]}}}}}
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'bidi': {'enum': ['isolate', 'none'], 'type': 'string', 'default': 'isolate', 'examples': ['isolate'], 'description': '`isolate` wraps English values in Unicode isolates so "5 mg" never renders as "mg 5". `none` returns plain text.'}, 'text': {'type': 'string', 'examples': ['Based on your records, you are taking Eliquis 5 mg twice a day. Your dose was changed on 03/04/2026.'], 'maxLength': 20000, 'minLength': 1, 'description': 'English text, 1 to 20,000 characters. Markdown lists, headings and tables keep their structure. Counts toward the monthly character quota.'}, 'audience': {'enum': ['clinician', 'patient'], 'type': 'string', 'default': 'clinician', 'examples': ['patient'], 'description': 'Who reads the Hebrew. `clinician` (default) keeps shorthand such as BID and PO; `patient` writes dosing shorthand (BID, PRN) as plain words.'}, 'glossary': {'type': 'object', 'examples': [{'hypertension': 'יתר לחץ דם'}], 'description': 'English term → required Hebrew rendering. Up to 500 entries.', 'additionalProperties': {'type': 'string', 'maxLength': 200, 'minLength': 1}}, 'date_order': {'enum': ['MDY', 'DMY'], 'type': 'string', 'default': 'MDY', 'examples': ['MDY'], 'description': 'How to read ambiguous numeric dates in the source. US records are MDY.'}, 'date_style': {'enum': ['hebrew', 'iso', 'keep'], 'type': 'string', 'default': 'hebrew', 'examples': ['hebrew'], 'description': '`hebrew` writes "4 במרץ 2026"; `iso` writes 2026-03-04; `keep` leaves unambiguous dates as written (an ambiguous one is still rewritten). A two-digit year is kept as written.'}, 'redact_terms': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'examples': [['Dana Levi']], 'maxItems': 200, 'description': 'Kept verbatim and never shown to the model (patient and staff names). Up to 200.'}, 'reader_gender': {'enum': ['male', 'female'], 'type': 'string', 'examples': ['female'], 'description': 'Gender of the reader, the person the text calls "you". Omit when unknown.'}, 'patient_gender': {'enum': ['male', 'female'], 'type': 'string', 'examples': ['male'], 'description': 'Gender of the patient in third-person references. Inferred from he/she when omitted.'}, 'protected_terms': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'examples': [['Eliquis 5 mg BID', 'atrial fibrillation']], 'maxItems': 500, 'description': "Kept verbatim. Pass the patient's medication and problem lists from the record. Up to 500, each up to 200 characters. Added to the account terms list for this request."}}}
Output schema
{'type': 'object', 'properties': {'id': {'type': 'string', 'examples': ['med_a1b2c3d4e5f6'], 'description': 'Request identifier.'}, 'text': {'type': 'string', 'examples': ['את נוטלת Eliquis 5 mg פעמיים ביום. המינון שלך שונה ב־4 במרץ 2026.'], 'description': 'The whole Hebrew document: every segment joined with its prefix and suffix.'}, 'stats': {'type': 'object', 'properties': {'ok': {'type': 'integer', 'examples': [2]}, 'retried': {'type': 'integer', 'examples': [0]}, 'fallback': {'type': 'integer', 'examples': [0], 'description': 'Sentences returned in English. Treat them as untranslated.'}, 'segments': {'type': 'integer', 'examples': [2], 'description': 'Total sentences.'}, 'passthrough': {'type': 'integer', 'examples': [0]}}}, 'usage': {'type': 'object', 'properties': {'characters': {'type': 'integer', 'examples': [77], 'description': 'Characters charged.'}}}, 'segments': {'type': 'array', 'items': {'type': 'object', 'properties': {'text': {'type': 'string', 'examples': ['את נוטלת Eliquis 5 mg פעמיים ביום.'], 'description': 'Verified Hebrew, or the English source when status is `fallback`.'}, 'index': {'type': 'integer', 'examples': [0], 'description': 'Position of the sentence, from 0.'}, 'spans': {'type': 'array', 'items': {'type': 'object', 'properties': {'type': {'type': 'string', 'examples': ['dose'], 'description': 'What was protected: `drug`, `dose`, `abbreviation`, `code`, `number`, `date`, `term`, `glossary`, `identifier`, `name` and others.'}, 'value': {'type': 'string', 'examples': ['5 mg'], 'description': 'The protected source value. Omitted for names and identifiers.'}, 'render': {'type': 'string', 'examples': ['4 במרץ 2026'], 'description': 'How the value was written in the Hebrew, when it was rewritten (dates).'}, 'ambiguous_date': {'type': 'boolean', 'examples': [True], 'description': 'True when a numeric date could be read two ways and `date_order` decided it.'}}}, 'description': 'Protected values in this sentence. Redacted names and identifiers are left out.'}, 'issues': {'type': 'array', 'items': {'type': 'object', 'properties': {'code': {'type': 'string', 'examples': ['negation_lost'], 'description': 'Check that failed: `term_missing`, `date_missing`, `number_added`, `digits_added`, `negation_lost`, `laterality_lost`, `laterality_swapped`, `gender_mismatch`, `meaning`, `placeholder_missing`, `length_ratio`, `provider_error` and others.'}, 'detail': {'type': 'string', 'examples': ['The source says "no known allergies"; the translation drops the negation.'], 'description': 'Human-readable explanation.'}, 'severity': {'enum': ['error', 'warning'], 'type': 'string', 'examples': ['error'], 'description': '`error` blocks the sentence; `warning` is informational.'}}}, 'description': 'Why a sentence was retried or fell back. Empty for `ok`.'}, 'prefix': {'type': 'string', 'examples': ['- '], 'description': 'Markdown structure emitted before the text (list marker, heading).'}, 'source': {'type': 'string', 'examples': ['You are taking Eliquis 5 mg twice a day.'], 'description': 'The English sentence.'}, 'status': {'enum': ['ok', 'retried', 'fallback', 'passthrough'], 'type': 'string', 'examples': ['ok'], 'description': '`ok`: verified first time. `retried`: passed after one retry with a stronger model. `fallback`: no translation passed, `text` is the English. `passthrough`: structure or values only, no model needed.'}, 'suffix': {'type': 'string', 'examples': ['\n'], 'description': 'Whitespace or structure after the text. Join `prefix + text + suffix` for every segment to rebuild the document.'}}}, 'description': 'One entry per sentence, in order.'}}}
Input schema
{'type': 'object', 'required': ['source', 'translation'], 'properties': {'source': {'type': 'string', 'examples': ['Metformin 500 mg BID since 03/04/2026.'], 'maxLength': 20000, 'minLength': 1, 'description': 'The English source, up to 20,000 characters.'}, 'glossary': {'type': 'object', 'examples': [{'hypertension': 'יתר לחץ דם'}], 'description': 'English term → required Hebrew rendering.', 'additionalProperties': {'type': 'string', 'maxLength': 200, 'minLength': 1}}, 'date_order': {'enum': ['MDY', 'DMY'], 'type': 'string', 'default': 'MDY', 'examples': ['MDY'], 'description': 'How to read ambiguous numeric dates in the source.'}, 'translation': {'type': 'string', 'examples': ['Metformin 50 mg BID מאז 03/04/2026.'], 'maxLength': 40000, 'minLength': 1, 'description': 'The Hebrew to check, up to 40,000 characters.'}, 'redact_terms': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'examples': [['Dana Levi']], 'maxItems': 200, 'description': 'Names replaced before the reviewer sees the text. Up to 200.'}, 'verification': {'enum': ['strict', 'standard'], 'type': 'string', 'default': 'standard', 'examples': ['standard'], 'description': '`standard` (default) runs the deterministic checks. `strict` adds an independent model review for meaning changes.'}, 'protected_terms': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'examples': [['Metformin']], 'maxItems': 500, 'description': 'Terms that must appear verbatim. Up to 500.'}}}
Output schema
{'type': 'object', 'properties': {'pass': {'type': 'boolean', 'examples': [False], 'description': 'True when no issue has severity `error`.'}, 'usage': {'type': 'object', 'properties': {'characters': {'type': 'integer', 'examples': [72], 'description': 'Characters charged: source plus translation.'}}}, 'issues': {'type': 'array', 'items': {'type': 'object', 'properties': {'code': {'type': 'string', 'examples': ['negation_lost'], 'description': 'Check that failed: `term_missing`, `date_missing`, `number_added`, `digits_added`, `negation_lost`, `laterality_lost`, `laterality_swapped`, `gender_mismatch`, `meaning`, `placeholder_missing`, `length_ratio`, `provider_error` and others.'}, 'detail': {'type': 'string', 'examples': ['The source says "no known allergies"; the translation drops the negation.'], 'description': 'Human-readable explanation.'}, 'severity': {'enum': ['error', 'warning'], 'type': 'string', 'examples': ['error'], 'description': '`error` blocks the sentence; `warning` is informational.'}}}, 'description': 'Every problem found.'}}}
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'examples': ['3f2c1a9e-8b7d-4c6e-9f10-2a3b4c5d6e7f'], 'description': 'The term id, from list_terms or add_terms.'}}}
Output schema
{'type': 'object', 'properties': {'deleted': {'type': 'boolean'}}}
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'examples': ['Можно оплатить через PayPal сегодня?'], 'maxLength': 20000, 'minLength': 1, 'description': 'Text to classify, up to 20,000 characters. Built for short, code-switched input.'}}}
Output schema
{'type': 'object', 'properties': {'dir': {'enum': ['ltr', 'rtl'], 'type': 'string', 'examples': ['ltr'], 'description': 'Base direction of the dominant language.'}, 'lang': {'type': 'string', 'examples': ['ru'], 'description': 'Dominant language (BCP 47). Latin script is tagged `en`.'}, 'script': {'type': 'string', 'examples': ['Cyrl'], 'description': 'Dominant ISO 15924 script.'}, 'segments': {'type': 'array', 'items': {'type': 'object', 'properties': {'end': {'type': 'integer', 'examples': [28]}, 'lang': {'type': 'string', 'examples': ['en']}, 'text': {'type': 'string', 'examples': ['PayPal ']}, 'start': {'type': 'integer', 'examples': [21]}, 'script': {'type': 'string', 'examples': ['Latn']}}}, 'description': 'Same-script stretches in order, e.g. ru · en ("CBC") · ru. Latin script is tagged en.'}, 'languages': {'type': 'array', 'items': {'type': 'object', 'properties': {'lang': {'type': 'string', 'examples': ['ru']}, 'share': {'type': 'number', 'examples': [0.941], 'description': 'Share of letters, 0 to 1.'}}}, 'description': 'Every language found, largest share first.'}, 'confidence': {'type': 'number', 'examples': [0.941], 'description': 'Share of letters in the dominant language, 0 to 1.'}}}
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'db': {'type': 'string', 'examples': ['ok'], 'description': '`ok`, or `error` when the database check failed.'}, 'status': {'type': 'string', 'examples': ['ok'], 'description': '`ok` when the API is serving.'}, 'version': {'type': 'string', 'examples': ['1.0.0'], 'description': 'API version.'}}}
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'languages': {'type': 'array', 'items': {'type': 'object', 'properties': {'dir': {'enum': ['ltr', 'rtl'], 'type': 'string', 'examples': ['rtl'], 'description': 'Writing direction.'}, 'code': {'type': 'string', 'examples': ['he'], 'description': 'BCP 47 code to pass as `source_lang` or `target_lang`.'}, 'name': {'type': 'string', 'examples': ['Hebrew'], 'description': 'English name.'}, 'native': {'type': 'string', 'examples': ['עברית'], 'description': 'Name in the language itself.'}}}, 'description': 'Every supported language.'}}}
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'properties': {'limit': {'type': 'integer'}, 'terms': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string', 'examples': ['3f2c1a9e-8b7d-4c6e-9f10-2a3b4c5d6e7f']}, 'note': {'type': ['string', 'null'], 'examples': ['paracetamol 500 mg brand'], 'description': 'Your own note, up to 500 characters.'}, 'term': {'type': 'string', 'examples': ['Acamol'], 'description': 'Kept exactly as written in every protected translation.'}, 'created_at': {'type': 'string', 'examples': ['2026-01-15T09:30:00.000Z'], 'description': 'ISO 8601 timestamp.'}, 'translations': {'type': 'object', 'examples': [{'he': 'אקמול'}], 'properties': {'en': {'type': 'string'}, 'he': {'type': 'string'}, 'ru': {'type': 'string'}}, 'description': 'Optional required rendering per target language. When set for the target, it replaces the term; otherwise the term is kept verbatim.'}}}}}}
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'examples': ['שָׁלוֹם'], 'maxLength': 20000, 'minLength': 1, 'description': 'Hebrew text with nikud or cantillation, up to 20,000 characters.'}}}
Output schema
{'type': 'object', 'properties': {'text': {'type': 'string', 'examples': ['שָׁלוֹם'], 'description': 'The input.'}, 'stripped': {'type': 'string', 'examples': ['שלום'], 'description': 'The text without nikud, dagesh or cantillation. Punctuation such as the maqaf is kept.'}}}
Input schema
{'type': 'object', 'required': ['text', 'target_lang'], 'properties': {'bidi': {'enum': ['isolate', 'none'], 'type': 'string', 'examples': ['none'], 'description': '`isolate` wraps protected values in Unicode isolates in Hebrew output. Default none; see /v1/wrap.'}, 'text': {'type': 'string', 'examples': ['Welcome to your account'], 'maxLength': 20000, 'minLength': 1, 'description': 'Text to translate, 1 to 20,000 characters. Counts toward the monthly character quota.'}, 'domain': {'enum': ['general', 'clinical', 'finance', 'legal'], 'type': 'string', 'examples': ['finance'], 'description': '`general` (default) for product, commerce, support and interface text. `clinical` adds clinical register and drug, dose, lab and abbreviation detection. `finance` adds a formal banking register, protects IBANs, SWIFT/BIC codes, bank account numbers (including Israeli bank-branch-account), Israeli ID numbers and card numbers (check digits verified; these values are never shown to the model), invoice, policy and transaction references, signed amounts, rates and basis points, and checks that every money direction (credit/debit, deposit/withdrawal, buy/sell, increase/decrease, gain/loss, who owes whom) is kept. `legal` adds a formal legal register, protects clause and section references (Section 4.2, Clause 7(b), סעיף 12(א), § 3) and case and statute citations, renders each defined term ("the Company") the same way throughout, and checks that modality (shall, may, shall not, is not required to) is kept. Any value implies `protect`.'}, 'gender': {'enum': ['male', 'female', 'general'], 'type': 'string', 'examples': ['general'], 'description': 'Grammatical gender for the reader where the target language marks it. For assistants, prefer `listener_gender` and `speaker_gender`.'}, 'protect': {'type': 'boolean', 'examples': [True], 'description': 'Keep prices, quantities, numbers, dates, codes, identifiers, product names, interface variables ({name}, %s) and <keep>…</keep> text exactly as written, and verify every sentence. Implied by any protection field. Hebrew, English and Russian. Account terms switch it on automatically for these pairs.'}, 'quality': {'enum': ['fast', 'balanced', 'smartest'], 'type': 'string', 'default': 'balanced', 'examples': ['balanced'], 'description': '`fast`: lowest latency, for high volume and short strings. `balanced`: the default. `smartest`: maximum nuance for long or sensitive text.'}, 'audience': {'enum': ['clinician', 'patient'], 'type': 'string', 'examples': ['patient'], 'description': 'Clinical domain register. `clinician` (default) keeps shorthand such as BID and PO; `patient` writes it as plain words.'}, 'glossary': {'type': 'object', 'examples': [{'Checkout': 'לתשלום'}], 'description': 'Source term → required rendering in the target language. Up to 500 entries. Wins over an account term with the same text.', 'additionalProperties': {'type': 'string', 'maxLength': 200, 'minLength': 1}}, 'date_order': {'enum': ['MDY', 'DMY'], 'type': 'string', 'examples': ['MDY'], 'description': 'How to read ambiguous numeric dates such as 04/03/2026. Default MDY for English sources, DMY for Hebrew and Russian.'}, 'date_style': {'enum': ['hebrew', 'iso', 'keep'], 'type': 'string', 'examples': ['hebrew'], 'description': '`hebrew` (default) spells the month out in the target language ("4 במרץ 2026", "4 марта 2026 г."); `iso`; `keep` (unambiguous dates only).'}, 'source_lang': {'type': 'string', 'examples': ['auto'], 'description': 'BCP 47 source language, or `auto` (default) to detect it.'}, 'target_lang': {'type': 'string', 'examples': ['he'], 'description': 'BCP 47 target language, e.g. `he`, `en`, `ru`. See GET /v1/languages.'}, 'redact_terms': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'examples': [['Dana Levi']], 'maxItems': 200, 'description': 'Kept exactly and never shown to the model: customer names and other personal data. Up to 200.'}, 'transliterate': {'type': 'boolean', 'default': False, 'examples': [False], 'description': 'Include a Latin transliteration when the target is Hebrew.'}, 'message_format': {'enum': ['icu'], 'type': 'string', 'examples': ['icu'], 'description': '`icu`: the text is an ICU MessageFormat message. The result is a valid ICU message in the target language: arguments ({name}, {count, number}, {d, date, short}) and `#` are kept, plural and selectordinal branches are rewritten for the target language\'s CLDR categories (Hebrew one, two, other; Russian one, few, many, other; English one, other; exact matches such as =0 kept), and select keys are kept. A plural or select inside a sentence is moved to the top so every branch is a whole sentence; `protection.segments` lists each branch sentence. Always protected; Hebrew, English and Russian. Invalid ICU returns 400 `invalid_message_format`; a message that cannot be verified comes back unchanged with `protection.status: "fallback"`.'}, 'patient_gender': {'enum': ['male', 'female'], 'type': 'string', 'examples': ['male'], 'description': 'Clinical domain: gender of a patient referred to in the third person.'}, 'speaker_gender': {'enum': ['male', 'female'], 'type': 'string', 'examples': ['female'], 'description': 'Gender of the speaker ("I"), for an assistant or brand voice: מצאתי, я нашла / я нашёл.'}, 'listener_gender': {'enum': ['male', 'female'], 'type': 'string', 'examples': ['female'], 'description': 'Gender of the reader ("you"): תרצי / תרצה. Hebrew and Russian mark it; English does not. Without it, Hebrew interface text uses neutral forms.'}, 'protected_terms': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'examples': [['Wireless Earbuds Pro', 'A-10234']], 'maxItems': 500, 'description': 'Terms kept exactly as written: product names, brand names, SKUs. Up to 500, each up to 200 characters. Added to the account terms list for this request.'}}}
Output schema
{'type': 'object', 'properties': {'id': {'type': 'string', 'examples': ['txn_a1b2c3d4e5f6'], 'description': 'Request identifier. Include it when you contact support.'}, 'usage': {'type': 'object', 'properties': {'characters': {'type': 'integer', 'examples': [23], 'description': 'Characters charged to the monthly quota for this request.'}}, 'description': 'What this request consumed.'}, 'source': {'allOf': [{'type': 'object', 'properties': {'dir': {'enum': ['ltr', 'rtl'], 'type': 'string', 'examples': ['rtl'], 'description': 'Paragraph base direction. With `base: "auto"` this follows the Unicode first-strong rule, matching CSS `dir="auto"`.'}, 'lang': {'type': 'string', 'examples': ['he'], 'description': 'Dominant BCP 47 language, from the dominant script.'}, 'runs': {'type': 'array', 'items': {'type': 'object', 'properties': {'dir': {'enum': ['ltr', 'rtl'], 'type': 'string', 'examples': ['rtl'], 'description': 'Resolved direction of the run.'}, 'end': {'type': 'integer', 'examples': [5], 'description': 'UTF-16 offset after the last character, exclusive.'}, 'lang': {'type': 'string', 'examples': ['he'], 'description': 'Best-effort BCP 47 language of the run, from its script. `und` when undetermined (numbers, symbols).'}, 'text': {'type': 'string', 'examples': ['שלום '], 'description': 'The run text. Equals `input.slice(start, end)`.'}, 'start': {'type': 'integer', 'examples': [0], 'description': 'UTF-16 offset of the first character, inclusive.'}, 'script': {'type': 'string', 'examples': ['Hebr'], 'description': 'ISO 15924 script of the run: `Hebr`, `Latn`, `Cyrl`, `Arab`, or `Zyyy` for digits and punctuation only.'}}, 'description': 'A maximal stretch of text with one direction, in logical order.'}, 'description': 'Runs exactly as the Unicode Bidirectional Algorithm resolves them.'}, 'mixed': {'type': 'boolean', 'examples': [True], 'description': 'True when the text contains both strong right-to-left and strong left-to-right letters. Digits and invisible marks do not count.'}, 'script': {'type': 'string', 'examples': ['Hebr'], 'description': 'Dominant ISO 15924 script.'}, 'display_runs': {'type': 'array', 'items': {'type': 'object', 'properties': {'dir': {'enum': ['ltr', 'rtl'], 'type': 'string', 'examples': ['rtl'], 'description': 'Resolved direction of the run.'}, 'end': {'type': 'integer', 'examples': [5], 'description': 'UTF-16 offset after the last character, exclusive.'}, 'lang': {'type': 'string', 'examples': ['he'], 'description': 'Best-effort BCP 47 language of the run, from its script. `und` when undetermined (numbers, symbols).'}, 'text': {'type': 'string', 'examples': ['שלום '], 'description': 'The run text. Equals `input.slice(start, end)`.'}, 'start': {'type': 'integer', 'examples': [0], 'description': 'UTF-16 offset of the first character, inclusive.'}, 'script': {'type': 'string', 'examples': ['Hebr'], 'description': 'ISO 15924 script of the run: `Hebr`, `Latn`, `Cyrl`, `Arab`, or `Zyyy` for digits and punctuation only.'}}, 'description': 'A maximal stretch of text with one direction, in logical order.'}, 'description': 'Runs for display: every left-to-right unit (a Latin term, a number with its unit, a range, a date, a percentage, a comparison such as <5) is one run, so it never splits or mirrors. Render these, or use /v1/wrap.'}}, 'description': 'Directionality metadata for one string.'}, {'type': 'object', 'properties': {'text': {'type': 'string', 'examples': ['Welcome to your account'], 'description': 'The source text as sent.'}}}], 'description': 'The source text with its directionality metadata.'}, 'quality': {'type': 'string', 'examples': ['balanced'], 'description': 'Quality tier used.'}, 'translation': {'allOf': [{'type': 'object', 'properties': {'dir': {'enum': ['ltr', 'rtl'], 'type': 'string', 'examples': ['rtl'], 'description': 'Paragraph base direction. With `base: "auto"` this follows the Unicode first-strong rule, matching CSS `dir="auto"`.'}, 'lang': {'type': 'string', 'examples': ['he'], 'description': 'Dominant BCP 47 language, from the dominant script.'}, 'runs': {'type': 'array', 'items': {'type': 'object', 'properties': {'dir': {'enum': ['ltr', 'rtl'], 'type': 'string', 'examples': ['rtl'], 'description': 'Resolved direction of the run.'}, 'end': {'type': 'integer', 'examples': [5], 'description': 'UTF-16 offset after the last character, exclusive.'}, 'lang': {'type': 'string', 'examples': ['he'], 'description': 'Best-effort BCP 47 language of the run, from its script. `und` when undetermined (numbers, symbols).'}, 'text': {'type': 'string', 'examples': ['שלום '], 'description': 'The run text. Equals `input.slice(start, end)`.'}, 'start': {'type': 'integer', 'examples': [0], 'description': 'UTF-16 offset of the first character, inclusive.'}, 'script': {'type': 'string', 'examples': ['Hebr'], 'description': 'ISO 15924 script of the run: `Hebr`, `Latn`, `Cyrl`, `Arab`, or `Zyyy` for digits and punctuation only.'}}, 'description': 'A maximal stretch of text with one direction, in logical order.'}, 'description': 'Runs exactly as the Unicode Bidirectional Algorithm resolves them.'}, 'mixed': {'type': 'boolean', 'examples': [True], 'description': 'True when the text contains both strong right-to-left and strong left-to-right letters. Digits and invisible marks do not count.'}, 'script': {'type': 'string', 'examples': ['Hebr'], 'description': 'Dominant ISO 15924 script.'}, 'display_runs': {'type': 'array', 'items': {'type': 'object', 'properties': {'dir': {'enum': ['ltr', 'rtl'], 'type': 'string', 'examples': ['rtl'], 'description': 'Resolved direction of the run.'}, 'end': {'type': 'integer', 'examples': [5], 'description': 'UTF-16 offset after the last character, exclusive.'}, 'lang': {'type': 'string', 'examples': ['he'], 'description': 'Best-effort BCP 47 language of the run, from its script. `und` when undetermined (numbers, symbols).'}, 'text': {'type': 'string', 'examples': ['שלום '], 'description': 'The run text. Equals `input.slice(start, end)`.'}, 'start': {'type': 'integer', 'examples': [0], 'description': 'UTF-16 offset of the first character, inclusive.'}, 'script': {'type': 'string', 'examples': ['Hebr'], 'description': 'ISO 15924 script of the run: `Hebr`, `Latn`, `Cyrl`, `Arab`, or `Zyyy` for digits and punctuation only.'}}, 'description': 'A maximal stretch of text with one direction, in logical order.'}, 'description': 'Runs for display: every left-to-right unit (a Latin term, a number with its unit, a range, a date, a percentage, a comparison such as <5) is one run, so it never splits or mirrors. Render these, or use /v1/wrap.'}}, 'description': 'Directionality metadata for one string.'}, {'type': 'object', 'properties': {'text': {'type': 'string', 'examples': ['ברוכים הבאים לחשבון שלך'], 'description': 'The translation, or the source text for sentences that fell back.'}, 'protection': {'type': 'object', 'properties': {'spans': {'type': 'array', 'items': {'type': 'object', 'properties': {'type': {'type': 'string', 'examples': ['date'], 'description': 'What was protected: `term`, `glossary`, `number`, `ordinal`, `date`, `identifier`, `email`, `url`, `template` (interface variables), `keep`, `markup`, `code_inline`, `name` (redacted); in the clinical domain `drug`, `dose`, `abbreviation`, `code`; in the finance domain `account` (IBAN, BIC, bank account), `id_number`, `card` (all three redacted), `reference`; in the legal domain `clause`, `citation`, `defined_term` (its `render` is the rendering used throughout).'}, 'value': {'type': 'string', 'examples': ['04/03/2026'], 'description': 'The protected source value. Omitted for redacted values.'}, 'render': {'type': 'string', 'examples': ['3 באפריל 2026'], 'description': 'How the value was written in the translation, when it was rewritten (dates).'}, 'ambiguous_date': {'type': 'boolean', 'examples': [True], 'description': 'True when a numeric date could be read two ways and `date_order` decided it.'}}}, 'description': 'Every protected value, in source order.'}, 'issues': {'type': 'array', 'items': {'type': 'object', 'properties': {'code': {'type': 'string', 'examples': ['term_missing'], 'description': 'Check that failed, e.g. `term_missing`, `date_missing`, `number_added`, `digits_added`, `negation_lost`, `laterality_lost`, `gender_mismatch`, `meaning`, `placeholder_missing`; finance: `direction_swapped` (error), `direction_lost` (warning); legal: `modality_changed`, `defined_term_changed`.'}, 'detail': {'type': 'string', 'examples': ['"A-10234" (term) is missing or altered.']}, 'severity': {'enum': ['error', 'warning'], 'type': 'string', 'examples': ['error']}}}, 'description': 'Problems found by the checks. Empty when every sentence passed.'}, 'status': {'enum': ['ok', 'retried', 'fallback', 'passthrough'], 'type': 'string', 'examples': ['ok'], 'description': 'Worst sentence status. `ok`: verified first time. `retried`: a sentence was retried with a stronger model and then passed. `fallback`: at least one sentence could not be verified and is returned in the source language. `passthrough`: no model was needed.'}, 'segments': {'type': 'array', 'items': {'type': 'object', 'properties': {'text': {'type': 'string', 'examples': ['האם תרצי שאקבע את המשלוח ל־3 באפריל 2026?']}, 'source': {'type': 'string', 'examples': ['Would you like me to schedule delivery for 04/03/2026?']}, 'status': {'enum': ['ok', 'retried', 'fallback', 'passthrough'], 'type': 'string', 'examples': ['ok']}}}, 'description': 'Per-sentence result, in order.'}, 'source_lang': {'type': 'string', 'examples': ['en'], 'description': 'Source language used for protection (detected when `source_lang` is `auto`).'}}, 'description': 'Present when the request used protected translation.'}, 'transliteration': {'type': ['string', 'null'], 'examples': ["Bruchim haba'im lakheshbon shelkha"], 'description': 'Latin transliteration of a Hebrew result when `transliterate` was true, otherwise null.'}}}], 'description': 'The translation with its directionality metadata.'}}}
Input schema
{'type': 'object', 'required': ['items', 'target_lang'], 'properties': {'bidi': {'enum': ['isolate', 'none'], 'type': 'string', 'examples': ['none'], 'description': '`isolate` wraps protected values in Unicode isolates in Hebrew output. Default none; see /v1/wrap.'}, 'items': {'type': 'array', 'items': {'type': 'string', 'maxLength': 5000, 'minLength': 1}, 'examples': [['{count} items in your cart', 'Checkout', 'Last updated %s ago']], 'maxItems': 50, 'minItems': 1, 'description': '1 to 50 strings, each up to 5,000 characters. A protected batch carries at most 20,000 characters in total.'}, 'domain': {'enum': ['general', 'clinical', 'finance', 'legal'], 'type': 'string', 'examples': ['finance'], 'description': '`general` (default) for product, commerce, support and interface text. `clinical` adds clinical register and drug, dose, lab and abbreviation detection. `finance` adds a formal banking register, protects IBANs, SWIFT/BIC codes, bank account numbers (including Israeli bank-branch-account), Israeli ID numbers and card numbers (check digits verified; these values are never shown to the model), invoice, policy and transaction references, signed amounts, rates and basis points, and checks that every money direction (credit/debit, deposit/withdrawal, buy/sell, increase/decrease, gain/loss, who owes whom) is kept. `legal` adds a formal legal register, protects clause and section references (Section 4.2, Clause 7(b), סעיף 12(א), § 3) and case and statute citations, renders each defined term ("the Company") the same way throughout, and checks that modality (shall, may, shall not, is not required to) is kept. Any value implies `protect`.'}, 'gender': {'enum': ['male', 'female', 'general'], 'type': 'string', 'examples': ['general'], 'description': 'Grammatical gender for the reader where the target language marks it.'}, 'protect': {'type': 'boolean', 'examples': [True], 'description': 'Keep prices, quantities, numbers, dates, codes, identifiers, product names, interface variables ({name}, %s) and <keep>…</keep> text exactly as written, and verify every sentence. Implied by any protection field. Hebrew, English and Russian. Account terms switch it on automatically for these pairs.'}, 'quality': {'enum': ['fast', 'balanced', 'smartest'], 'type': 'string', 'default': 'balanced', 'examples': ['balanced'], 'description': 'Quality tier, applied to every item.'}, 'audience': {'enum': ['clinician', 'patient'], 'type': 'string', 'examples': ['patient'], 'description': 'Clinical domain register. `clinician` (default) keeps shorthand such as BID and PO; `patient` writes it as plain words.'}, 'glossary': {'type': 'object', 'examples': [{'Checkout': 'לתשלום'}], 'description': 'Source term → required rendering in the target language. Up to 500 entries. Wins over an account term with the same text.', 'additionalProperties': {'type': 'string', 'maxLength': 200, 'minLength': 1}}, 'date_order': {'enum': ['MDY', 'DMY'], 'type': 'string', 'examples': ['MDY'], 'description': 'How to read ambiguous numeric dates such as 04/03/2026. Default MDY for English sources, DMY for Hebrew and Russian.'}, 'date_style': {'enum': ['hebrew', 'iso', 'keep'], 'type': 'string', 'examples': ['hebrew'], 'description': '`hebrew` (default) spells the month out in the target language ("4 במרץ 2026", "4 марта 2026 г."); `iso`; `keep` (unambiguous dates only).'}, 'source_lang': {'type': 'string', 'examples': ['auto'], 'description': 'BCP 47 source language, or `auto` (default).'}, 'target_lang': {'type': 'string', 'examples': ['he'], 'description': 'BCP 47 target language, applied to every item.'}, 'redact_terms': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'examples': [['Dana Levi']], 'maxItems': 200, 'description': 'Kept exactly and never shown to the model: customer names and other personal data. Up to 200.'}, 'transliterate': {'type': 'boolean', 'default': False, 'examples': [False], 'description': 'Include a Latin transliteration when the target is Hebrew.'}, 'message_format': {'enum': ['icu'], 'type': 'string', 'examples': ['icu'], 'description': '`icu`: every item is an ICU MessageFormat message. Each result is a valid ICU message in the target language: arguments ({name}, {count, number}, {d, date, short}) and `#` are kept, plural and selectordinal branches are rewritten for the target language\'s CLDR categories (Hebrew one, two, other; Russian one, few, many, other; English one, other; exact matches such as =0 kept), and select keys are kept. A plural or select inside a sentence is moved to the top so every branch is a whole sentence; `protection.segments` lists each branch sentence. Always protected; Hebrew, English and Russian. Invalid ICU returns 400 `invalid_message_format`; a message that cannot be verified comes back unchanged with `protection.status: "fallback"`.'}, 'patient_gender': {'enum': ['male', 'female'], 'type': 'string', 'examples': ['male'], 'description': 'Clinical domain: gender of a patient referred to in the third person.'}, 'speaker_gender': {'enum': ['male', 'female'], 'type': 'string', 'examples': ['female'], 'description': 'Gender of the speaker ("I"), for an assistant or brand voice: מצאתי, я нашла / я нашёл.'}, 'listener_gender': {'enum': ['male', 'female'], 'type': 'string', 'examples': ['female'], 'description': 'Gender of the reader ("you"): תרצי / תרצה. Hebrew and Russian mark it; English does not. Without it, Hebrew interface text uses neutral forms.'}, 'protected_terms': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'examples': [['Wireless Earbuds Pro', 'A-10234']], 'maxItems': 500, 'description': 'Terms kept exactly as written: product names, brand names, SKUs. Up to 500, each up to 200 characters. Added to the account terms list for this request.'}}}
Output schema
{'type': 'object', 'properties': {'usage': {'type': 'object', 'properties': {'characters': {'type': 'integer', 'examples': [23], 'description': 'Characters charged to the monthly quota for this request.'}}, 'description': 'What this request consumed.'}, 'results': {'type': 'array', 'items': {'allOf': [{'type': 'object', 'properties': {'dir': {'enum': ['ltr', 'rtl'], 'type': 'string', 'examples': ['rtl'], 'description': 'Paragraph base direction. With `base: "auto"` this follows the Unicode first-strong rule, matching CSS `dir="auto"`.'}, 'lang': {'type': 'string', 'examples': ['he'], 'description': 'Dominant BCP 47 language, from the dominant script.'}, 'runs': {'type': 'array', 'items': {'type': 'object', 'properties': {'dir': {'enum': ['ltr', 'rtl'], 'type': 'string', 'examples': ['rtl'], 'description': 'Resolved direction of the run.'}, 'end': {'type': 'integer', 'examples': [5], 'description': 'UTF-16 offset after the last character, exclusive.'}, 'lang': {'type': 'string', 'examples': ['he'], 'description': 'Best-effort BCP 47 language of the run, from its script. `und` when undetermined (numbers, symbols).'}, 'text': {'type': 'string', 'examples': ['שלום '], 'description': 'The run text. Equals `input.slice(start, end)`.'}, 'start': {'type': 'integer', 'examples': [0], 'description': 'UTF-16 offset of the first character, inclusive.'}, 'script': {'type': 'string', 'examples': ['Hebr'], 'description': 'ISO 15924 script of the run: `Hebr`, `Latn`, `Cyrl`, `Arab`, or `Zyyy` for digits and punctuation only.'}}, 'description': 'A maximal stretch of text with one direction, in logical order.'}, 'description': 'Runs exactly as the Unicode Bidirectional Algorithm resolves them.'}, 'mixed': {'type': 'boolean', 'examples': [True], 'description': 'True when the text contains both strong right-to-left and strong left-to-right letters. Digits and invisible marks do not count.'}, 'script': {'type': 'string', 'examples': ['Hebr'], 'description': 'Dominant ISO 15924 script.'}, 'display_runs': {'type': 'array', 'items': {'type': 'object', 'properties': {'dir': {'enum': ['ltr', 'rtl'], 'type': 'string', 'examples': ['rtl'], 'description': 'Resolved direction of the run.'}, 'end': {'type': 'integer', 'examples': [5], 'description': 'UTF-16 offset after the last character, exclusive.'}, 'lang': {'type': 'string', 'examples': ['he'], 'description': 'Best-effort BCP 47 language of the run, from its script. `und` when undetermined (numbers, symbols).'}, 'text': {'type': 'string', 'examples': ['שלום '], 'description': 'The run text. Equals `input.slice(start, end)`.'}, 'start': {'type': 'integer', 'examples': [0], 'description': 'UTF-16 offset of the first character, inclusive.'}, 'script': {'type': 'string', 'examples': ['Hebr'], 'description': 'ISO 15924 script of the run: `Hebr`, `Latn`, `Cyrl`, `Arab`, or `Zyyy` for digits and punctuation only.'}}, 'description': 'A maximal stretch of text with one direction, in logical order.'}, 'description': 'Runs for display: every left-to-right unit (a Latin term, a number with its unit, a range, a date, a percentage, a comparison such as <5) is one run, so it never splits or mirrors. Render these, or use /v1/wrap.'}}, 'description': 'Directionality metadata for one string.'}, {'type': 'object', 'properties': {'text': {'type': 'string', 'examples': ['ברוכים הבאים לחשבון שלך'], 'description': 'The translation, or the source text for sentences that fell back.'}, 'protection': {'type': 'object', 'properties': {'spans': {'type': 'array', 'items': {'type': 'object', 'properties': {'type': {'type': 'string', 'examples': ['date'], 'description': 'What was protected: `term`, `glossary`, `number`, `ordinal`, `date`, `identifier`, `email`, `url`, `template` (interface variables), `keep`, `markup`, `code_inline`, `name` (redacted); in the clinical domain `drug`, `dose`, `abbreviation`, `code`; in the finance domain `account` (IBAN, BIC, bank account), `id_number`, `card` (all three redacted), `reference`; in the legal domain `clause`, `citation`, `defined_term` (its `render` is the rendering used throughout).'}, 'value': {'type': 'string', 'examples': ['04/03/2026'], 'description': 'The protected source value. Omitted for redacted values.'}, 'render': {'type': 'string', 'examples': ['3 באפריל 2026'], 'description': 'How the value was written in the translation, when it was rewritten (dates).'}, 'ambiguous_date': {'type': 'boolean', 'examples': [True], 'description': 'True when a numeric date could be read two ways and `date_order` decided it.'}}}, 'description': 'Every protected value, in source order.'}, 'issues': {'type': 'array', 'items': {'type': 'object', 'properties': {'code': {'type': 'string', 'examples': ['term_missing'], 'description': 'Check that failed, e.g. `term_missing`, `date_missing`, `number_added`, `digits_added`, `negation_lost`, `laterality_lost`, `gender_mismatch`, `meaning`, `placeholder_missing`; finance: `direction_swapped` (error), `direction_lost` (warning); legal: `modality_changed`, `defined_term_changed`.'}, 'detail': {'type': 'string', 'examples': ['"A-10234" (term) is missing or altered.']}, 'severity': {'enum': ['error', 'warning'], 'type': 'string', 'examples': ['error']}}}, 'description': 'Problems found by the checks. Empty when every sentence passed.'}, 'status': {'enum': ['ok', 'retried', 'fallback', 'passthrough'], 'type': 'string', 'examples': ['ok'], 'description': 'Worst sentence status. `ok`: verified first time. `retried`: a sentence was retried with a stronger model and then passed. `fallback`: at least one sentence could not be verified and is returned in the source language. `passthrough`: no model was needed.'}, 'segments': {'type': 'array', 'items': {'type': 'object', 'properties': {'text': {'type': 'string', 'examples': ['האם תרצי שאקבע את המשלוח ל־3 באפריל 2026?']}, 'source': {'type': 'string', 'examples': ['Would you like me to schedule delivery for 04/03/2026?']}, 'status': {'enum': ['ok', 'retried', 'fallback', 'passthrough'], 'type': 'string', 'examples': ['ok']}}}, 'description': 'Per-sentence result, in order.'}, 'source_lang': {'type': 'string', 'examples': ['en'], 'description': 'Source language used for protection (detected when `source_lang` is `auto`).'}}, 'description': 'Present when the request used protected translation.'}, 'transliteration': {'type': ['string', 'null'], 'examples': ["Bruchim haba'im lakheshbon shelkha"], 'description': 'Latin transliteration of a Hebrew result when `transliterate` was true, otherwise null.'}}}], 'description': 'The translation with its directionality metadata.'}, 'description': 'One translation per item, in input order.'}}}
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'examples': ['שלום'], 'maxLength': 5000, 'minLength': 1, 'description': 'Text to transliterate, up to 5,000 characters.'}, 'direction': {'enum': ['he-to-latin', 'latin-to-he'], 'type': 'string', 'default': 'he-to-latin', 'examples': ['he-to-latin'], 'description': '`he-to-latin` (default) romanizes Hebrew. `latin-to-he` writes Latin spelling in Hebrew letters, for name entry and search.'}}}
Output schema
{'type': 'object', 'properties': {'text': {'type': 'string', 'examples': ['שלום'], 'description': 'The input.'}, 'scheme': {'type': 'string', 'examples': ['general'], 'description': 'Romanization scheme used.'}, 'direction': {'type': 'string', 'examples': ['he-to-latin'], 'description': 'Direction used.'}, 'transliteration': {'type': 'string', 'examples': ['shalom'], 'description': 'The transliterated text.'}}}
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'base': {'enum': ['auto', 'ltr', 'rtl'], 'type': 'string', 'default': 'auto', 'examples': ['rtl'], 'description': 'Paragraph direction of the display surface. Pass `rtl` for a Hebrew line even when it starts with a Latin term.'}, 'text': {'type': 'string', 'examples': ['הנחה: 10–20% על Galaxy S25 עד 31/12'], 'maxLength': 20000, 'minLength': 1, 'description': 'The display line, up to 20,000 characters.'}, 'format': {'enum': ['html', 'isolate', 'marks'], 'type': 'string', 'default': 'html', 'examples': ['html'], 'description': '`html` for the web; `isolate` (Unicode isolates) for modern text engines; `marks` (LRM/RLM) for every renderer, including older Android.'}}}
Output schema
{'type': 'object', 'properties': {'dir': {'enum': ['ltr', 'rtl'], 'type': 'string', 'examples': ['rtl'], 'description': 'Paragraph direction used.'}, 'runs': {'type': 'array', 'items': {'type': 'object', 'properties': {'dir': {'enum': ['ltr', 'rtl'], 'type': 'string', 'examples': ['rtl'], 'description': 'Resolved direction of the run.'}, 'end': {'type': 'integer', 'examples': [5], 'description': 'UTF-16 offset after the last character, exclusive.'}, 'lang': {'type': 'string', 'examples': ['he'], 'description': 'Best-effort BCP 47 language of the run, from its script. `und` when undetermined (numbers, symbols).'}, 'text': {'type': 'string', 'examples': ['שלום '], 'description': 'The run text. Equals `input.slice(start, end)`.'}, 'start': {'type': 'integer', 'examples': [0], 'description': 'UTF-16 offset of the first character, inclusive.'}, 'script': {'type': 'string', 'examples': ['Hebr'], 'description': 'ISO 15924 script of the run: `Hebr`, `Latn`, `Cyrl`, `Arab`, or `Zyyy` for digits and punctuation only.'}}, 'description': 'A maximal stretch of text with one direction, in logical order.'}, 'description': 'The display runs the output was built from.'}, 'format': {'type': 'string', 'examples': ['html'], 'description': 'Format used.'}, 'output': {'type': 'string', 'examples': ['<span dir="rtl">הנחה: <span dir="ltr" lang="und">10–20%</span> על <span dir="ltr" lang="en">Galaxy S25</span> עד <span dir="ltr" lang="und">31/12</span></span>'], 'description': 'Render-ready text: HTML with `dir` spans, or the text with Unicode isolates or direction marks inserted.'}}}
Recent tool changes
Similar MCP servers
MaCalculatriceEnLigne
Provides calculators for French and Belgian taxes, salaries, pensions, VAT, loans, health metrics, education scores, fitness, and…
Myhealthfinder
Provides U.S. preventive-care recommendations, health-topic guidance, screening information, and health-topic discovery.
Medlineplus
Connects clinical codes to NIH MedlinePlus consumer-health topics and resources.
Calculate.co.nz NZ Calculators
Searches and runs New Zealand calculators for tax, payroll, benefits, mortgages, KiwiSaver, property, health, education, utilitie…
ask
Searches a non-diagnostic child-development knowledge corpus covering milestones, developmental topics, warning signs, and clinic…
THC Open Mindfulness MCP
Searches public mindfulness practices, games, glossary terms, research summaries and child-development resources.
CarePlanKit — Nursing Care Plans
Provides nursing care plans and NANDA-style diagnosis materials with goals, interventions, rationales, evaluation criteria, and c…
Clink Forge
Provides pay-per-call access to attested government datasets, primarily CDC and HHS health data plus EPA air-quality observations.