mazdek AI — Kurdish Language Tools
Server Details
Kurdish-first AI tools: translation (250+ languages), spell check, grammar, speech-to-text and TTS.
- Status
- Healthy
- Uptime
- 59.9% over 22 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 9 tools
Most tools are clearly distinct: check_grammar vs. spellcheck share some overlap but are differentiated by grammar vs. spelling/punctuation; transcribe vs. transcription_result are start vs. poll; the rest target unique functions. The two list tools are separate but follow the same pattern without being confusing.
All tools share the mazdek_ prefix and mostly use a verb_noun pattern (check_grammar, complete_diacritics, translate, transcribe). Minor deviations are mazdek_transcription_result (noun-based) and mazdek_spellcheck (single compound word) which break the otherwise consistent style.
Nine tools is well within the ideal range for a focused language toolkit. Each tool serves a distinct purpose—grammar, spelling, diacritics, translation, transliteration, transcription, and language listing—with no obvious bloat or unnecessary duplication.
The surface covers the core Kurdish language needs: grammar/spell correction, diacritics restoration, translation, transliteration, and asynchronous transcription. Minor gaps include lack of transcription job cancellation and no explicit quota/usage endpoint, but these are not critical to core workflows.
Available Tools
9 toolsmazdek_check_grammarAI grammar check (Rêziman)ARead-onlyInspect
AI-powered grammar checking. Strongest for Kurdish (Kurmancî has a dedicated, linguistically-verified prompt). Returns word-level issues with suggestions. Counts per character against the connected account's monthly plan quota (translation rate). Max 5,000 characters per call.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The text to check. | |
| language | Yes | Language code: "kmr" (Kurmancî Kurdish), "ckb" (Soranî Kurdish), "zza" (Kirmanckî/Zazakî), or one of ~90 other supported codes (e.g. "tr", "de", "en-US"); the full list is what mazdek_list_spellcheck_languages returns. |
Output Schema
| Name | Required | Description |
|---|---|---|
| issues | Yes | |
| applied | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds valuable behavioral details: it consumes monthly plan quota per character, enforces a 5,000-character limit, and returns word-level suggestions. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences front-load the core purpose and then add quota and limit information. It is tightly written, though the character limit is slightly redundant with the schema's maxLength.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only grammar-checking tool, the description covers purpose, output nature, quota impact, and length limits. Since an output schema exists, the absence of detailed return-field explanation is acceptable. It does not mention error cases or unsupported language behavior, but these are not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both parameters. The description's mention of 'Max 5,000 characters per call' repeats the schema's maxLength constraint, and the Kurdish-language emphasis adds context but not new parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'AI-powered grammar checking' and clarifies the return type as 'word-level issues with suggestions.' It is clearly distinct from the sibling spellcheck tool by targeting grammar rather than spelling, though it does not explicitly name the sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful context by noting it is 'strongest for Kurdish' and that Kurmancî has a dedicated prompt, which implies preferred use cases. However, it does not explicitly state when to prefer this tool over mazdek_spellcheck, mazdek_translate, or other alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mazdek_complete_diacriticsComplete Kurdish diacriticsARead-onlyIdempotentInspect
Restore missing diacritics in Kurmancî or Kirmanckî text written without them (e.g. "kurdistan" → "Kurdistanê", "ser" → "şer" where context requires). Free (not billed).
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The text to complete. | |
| language | Yes | "kmr" = Kurmancî, "zza" = Kirmanckî/Zazakî. |
Output Schema
| Name | Required | Description |
|---|---|---|
| text | Yes | |
| changes | Yes | |
| ambiguous | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds useful behavioral context beyond the annotations: it is free/not billed, it handles ambiguity contextually ('where context requires'), and it covers two distinct language variants. This goes beyond what the structured fields alone convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. The core action and linguistic scope are front-loaded, examples make behavior concrete, and the free/billing note is a compact, valuable addition. Every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the two simple parameters, complete schema coverage, an existing output schema, and annotations covering safety/idempotency semantics, nothing an agent needs to invoke this tool correctly is missing. The description covers the core operation, language scope, ambiguity caveat, and cost implications.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents the text and language parameters. The description adds some semantic flavor by matching Kurmancî and Kirmanckî to the language enum and showing example input/output, but it does not need to compensate for any schema gap. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Restore') and specific resource ('missing diacritics in Kurmancî or Kirmanckî text'), which clearly distinguishes it from sibling tools like translation, transcription, spellcheck, and grammar checking. Concrete examples ('kurdistan' → 'Kurdistanê') further disambiguate the tool's function so an agent can confidently select it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly establishes when to use the tool: for Kurmancî or Kirmanckî text written without diacritics. It does not explicitly name alternatives or exclusions, but the focused phrasing plus sibling tool names makes the intended context clear. It lacks explicit 'do not use for X' guidance, so it stops just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mazdek_list_spellcheck_languagesList spell-check languagesARead-onlyIdempotentInspect
List the languages available to mazdek_spellcheck and mazdek_check_grammar: the Kurdish engines (kmr, ckb, zza) plus the other supported languages. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| other | Yes | |
| kurdish | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the useful behavioral context that the operation is free and that the list is scoped to spellcheck/grammar languages only. This is meaningful added value beyond the structured annotations, though it doesn't discuss pagination or return format (which the output schema likely handles).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the core purpose and then adds useful specifics. There is zero wasted wording; every clause contributes to understanding what the tool does and who it serves.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless listing tool with an output schema, this description is complete. It tells the agent what the list contains, names the associated tools, and notes the free-of-charge behavior. Nothing an agent needs to decide whether to call it is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the baseline is 4. The description still enriches the meaning by specifying exactly what will be returned (the Kurdish engines plus other supported languages), giving agents a preview of the response content. Since there are no parameters to document, this is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List') and resource ('languages available to mazdek_spellcheck and mazdek_check_grammar'), names concrete examples (kmr, ckb, zza), and differentiates from sibling tools by explicitly naming the two tools it serves. An agent can tell it apart from mazdek_list_translate_languages without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use this tool: to discover the language options for mazdek_spellcheck and mazdek_check_grammar. It even names the specific tools whose language sets it lists. However, it does not explicitly mention alternative list tools (like mazdek_list_translate_languages) or provide exclusions, so it falls just short of the best possible guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mazdek_list_translate_languagesList translation languagesARead-onlyIdempotentInspect
List the 250+ language codes supported by mazdek_translate. Optionally filter by a search string (matches code or English name). Free.
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Case-insensitive filter, e.g. "kurd" or "de". |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| languages | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile with readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds useful behavioral context beyond the schema: the large scale ('250+'), the cost ('Free'), and that search matches either code or English name. There is no contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two compact sentences with zero filler. The core action and scope are front-loaded, followed by the optional filter and cost, so an agent can parse the essential behavior quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with one optional parameter and an output schema, the description is complete. It covers scope, filtering behavior, and cost, while annotations cover safety and idempotency. No critical information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents 'search' as a case-insensitive filter with examples. The description adds meaning by specifying that the search string matches code or English name, which clarifies the exact semantics of the parameter. Since schema coverage is 100%, the baseline is 3, and the description's added matching detail earns a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: 'List the 250+ language codes supported by mazdek_translate.' It also states the optional search filter and the matching behavior, so an agent immediately knows what the tool returns. The wording differentiates it from mazdek_list_spellcheck_languages by explicitly tying it to mazdek_translate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: when an agent needs the language codes that mazdek_translate supports. It does not explicitly name alternatives or state when not to use it, but the translation-specific framing makes the intended use obvious, especially alongside mazdek_list_spellcheck_languages.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mazdek_spellcheckSpell-check text (Rastnivîs)ARead-onlyIdempotentInspect
Check spelling, standardization, punctuation, capitalization and context errors. Kurdish (kmr/ckb/zza) uses mazdek's own Rastnivîs engine; ~90 other languages are also supported. Free (not billed). Returns issues with character offsets and ranked suggestions.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The text to check. | |
| script | No | Script of the input for ckb (default: auto-detect). | |
| profile | No | Soranî orthography profile (ckb only). Default: common. | |
| language | Yes | Language code: "kmr" (Kurmancî Kurdish), "ckb" (Soranî Kurdish), "zza" (Kirmanckî/Zazakî), or one of ~90 other supported codes (e.g. "tr", "de", "en-US"); the full list is what mazdek_list_spellcheck_languages returns. |
Output Schema
| Name | Required | Description |
|---|---|---|
| stats | Yes | |
| issues | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds useful behavioral context beyond that: it is free/not billed, returns issues with character offsets and ranked suggestions, and uses a specific engine for Kurdish. No contradiction or hidden side effects are evident.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler. Each sentence earns its place: the operation, the engine/language coverage, and the cost-plus-return shape. It is compact and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters with 100% schema coverage, rich annotations, and an output schema, the description sufficiently covers purpose, language support, cost, and return format. It does not explicitly route between sibling tools, but that is not strictly required for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters, their enums, defaults, and constraints. The description adds language coverage context (e.g., Kurdish languages and ~90 others) but does not meaningfully deepen the semantics of text, script, profile, or language beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: 'Check spelling, standardization, punctuation, capitalization and context errors.' This is clear, but it does not explicitly differentiate from the sibling mazdek_check_grammar, and 'context errors' may blur with grammar checking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies use for spell-check and related text issues, but it does not state when to prefer this over siblings like mazdek_check_grammar, mazdek_complete_diacritics, or mazdek_transliterate_sorani. No explicit exclusions or alternative routing is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mazdek_transcribeTranscribe audio/video (submit)AInspect
Start a speech-to-text transcription job from a URL: a direct audio/video file link or a platform link (YouTube etc.). Kurdish (ku/ckb/zza) uses fine-tuned Kurdish ASR with polishing; other languages use a multilingual model. Asynchronous: returns a job_id right away; the transcript becomes available through mazdek_transcription_result once the job status is "completed" (a few minutes for typical files). Counts per audio second against the connected account's monthly plan quota. Optionally set translate_to to also translate the transcript.
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | Spoken language: "ku" (Kurmancî, default), "ckb" (Soranî), "zza" (Kirmanckî), or another ISO code (e.g. "tr", "en", "de"). | ku |
| audio_url | Yes | Public https URL of the audio/video (direct file link or YouTube/platform link). | |
| translate_to | No | Also translate the transcript into this language code (billed additionally at the translation rate). |
Output Schema
| Name | Required | Description |
|---|---|---|
| job_id | Yes | |
| status | Yes | |
| filename | No | |
| next_step | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by disclosing asynchronous behavior, the polling trigger ('status is completed'), language-specific model behavior for Kurdish, and billing implications per audio second and per translation. No statement contradicts the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two well-organized sentences carry a lot of information without padding. The action and input type are front-loaded, followed by async behavior, language models, quota, and optional translation in a logical flow. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists, an already rich parameter schema, and a clear async workflow, the description covers what an agent needs to know to submit the job correctly and where to fetch the result. Nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so the baseline is 3. The description adds meaningful value beyond the schema by clarifying that audio_url accepts direct file or platform links, explaining that Kurdish languages use a fine-tuned model, and adding billing context for translate_to. This pushes it above the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Start a speech-to-text transcription job from a URL'. It clearly distinguishes the tool from the sibling tools by defining its input (a URL) and its async submit-only role, and it explicitly names mazdek_transcription_result as the retrieval counterpart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear operational context: accepts direct file or platform links, is asynchronous, returns a job_id immediately, and results are fetched via mazdek_transcription_result after status is 'completed'. It also warns about quota consumption. It does not explicitly contrast with alternative transcription-related siblings, but the routing to mazdek_transcription_result is direct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mazdek_transcription_resultGet transcription status/resultARead-onlyIdempotentInspect
Check a transcription job started with mazdek_transcribe. While running, returns status and progress; when status is "completed", returns the transcript text (and the translation when one was requested). Free to call.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | The job_id from mazdek_transcribe. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| job_id | Yes | |
| status | Yes | |
| progress | No | |
| transcript | No | |
| translation | No | |
| speaker_count | No | |
| duration_seconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, and destructiveHint. The description goes beyond them by explaining the lifecycle behavior: running jobs return status/progress, completed jobs return transcript text, and optional translation is included when requested. It also adds cost/usability guidance with 'Free to call.'
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences carry all essential information: what the tool checks, the state-dependent behavior, and the free-to-call cost note. The most important purpose is front-loaded and no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, low-complexity polling tool with an output schema and strong annotations, the description covers the operational workflow, state handling, and result content. Nothing needed to invoke the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already documents job_id as 'The job_id from mazdek_transcribe.' The description does not add new parameter meaning beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Check') and resource ('a transcription job'), and clarifies this is for jobs 'started with mazdek_transcribe'. It distinguishes itself from mazdek_transcribe by describing the polling/result behavior rather than the transcription creation behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly indicates when to use the tool: after starting a transcription job with mazdek_transcribetas, to check status and retrieve results. It does not explicitly list exclusion criteria or alternatives, but the relationship to mazdek_transcribe makes the usage context unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mazdek_translateTranslate textARead-onlyInspect
Translate text between 250+ languages with mazdek AI. Kurdish (Kurmancî ku, Soranî ckb, Kirmanckî zza) uses a dedicated high-quality Kurdish engine. Omit source_language (or pass "auto") to auto-detect. Counts per source character against the connected account's monthly plan quota. Default per-call limit is 10,000 characters (account-configurable) — split longer texts.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The text to translate. | |
| polish | No | Also polish/clean the source text (fixes ASR-style errors) before translating. Returns the polished source alongside the translation. | |
| source_language | No | Source language code. Omit or pass "auto" to detect. | |
| target_language | Yes | Target language code, e.g. "ku" (Kurmancî), "ckb" (Soranî), "zza" (Kirmanckî), "en", "de", "tr", "ar". Full list: mazdek_list_translate_languages. |
Output Schema
| Name | Required | Description |
|---|---|---|
| detected | Yes | |
| translation | Yes | |
| polished_source | No | |
| source_language | Yes | |
| target_language | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already mark the operation as read-only and non-destructive. The description adds valuable behavior beyond that: per-character quota consumption, the account-configurable 10,000-character per-call limit, and the dedicated Kurdish engine. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: scope, Kurdish special-case, auto-detection, quota, and size limit. The most important action ('Translate text') is front-loaded, and there is no filler or repetition of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and the input schema documents all parameters, the description covers the operational context an agent needs: quota impact, call-size limits, auto-detection behavior, and where to find the full language list. Nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful parameter guidance by explaining source-language auto-detection and giving concrete target-language examples (ku, ckb, zza, en, de, tr, ar), which helps an agent pick valid values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Translate text between 250+ languages with mazdek AI.' It also highlights the dedicated Kurdish engine and language codes, which makes the tool's scope clear and separates it from siblings like transliterate_sorani.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives actionable usage context: omit source_language or pass 'auto' for auto-detection, and split texts exceeding the 10,000-character limit. It does not explicitly say when to prefer an alternative sibling, but the target-language list reference points to the relevant companion tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mazdek_transliterate_soraniTransliterate Soranî scriptARead-onlyIdempotentInspect
Convert Soranî Kurdish text between the Arabic script and the Latin (Hawar-based) script, in either direction. Deterministic rule-based conversion — free (not billed), no network call.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The Soranî text. | |
| direction | Yes | Which way to convert. |
Output Schema
| Name | Required | Description |
|---|---|---|
| text | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral details beyond the annotations: 'Deterministic rule-based conversion — free (not billed), no network call.' This discloses that the operation is deterministic (consistent with idempotentHint), incurs no cost, and requires no network access. These traits are not present in the annotations, providing valuable context for an agent deciding whether to invoke the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with zero fluff. The primary function is stated first, followed by two key behavioral traits (deterministic, free/no network). Every sentence earns its place, and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with an output schema and annotations covering safety (readOnly, idempotent, non-destructive), the description provides all essential context: what it does, the direction semantics, and behavioral traits like determinism and cost. Nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, but the schema descriptions are minimal ('The Soranî text.' and 'Which way to convert.'). The description enriches the meaning of both parameters: it specifies the scripts involved (Arabic and Latin/Hawar-based) and clarifies the direction options. This adds semantic value beyond the schema, though not exhaustive—e.g., it does not detail the exact Latin orthography or any edge cases.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Convert'), resource ('Soranî Kurdish text'), and the exact transformation ('between the Arabic script and the Latin (Hawar-based) script, in either direction'). It clearly distinguishes this from translation, transcription, and spellcheck tools, as it is explicitly a script conversion. The name and title are reinforced, not tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use this tool: whenever Soranî text needs script conversion between Arabic and Latin. It does not explicitly mention alternatives or when not to use it, but the sibling names (translate, transcribe, spellcheck) are distinct enough that an agent can infer the appropriate context. There is clear context but no explicit exclusions or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
9 tool updates
- First observed
mazdek_check_grammar - First observed
mazdek_complete_diacritics - First observed
mazdek_list_spellcheck_languages - First observed
mazdek_list_translate_languages - First observed
mazdek_spellcheck - First observed
mazdek_transcribe - First observed
mazdek_transcription_result - First observed
mazdek_translate - First observed
mazdek_transliterate_sorani
Related MCP Connectors
Sorani & Kurmanji TTS+STT: Kurdish speech most APIs lack. 885 voices, free tier, no key to browse.
- AudexumOAuthcom.audexum
Text to speech and transcription for any AI model: MP3 voiceovers, audio and YouTube to text.
AI-powered translation for 48 languages with context-aware quality
Bambara AI over MCP: text-to-speech, transcription and translation (Bamanankan + more).
Related MCP Servers
- FlicenseAqualityBmaintenanceL1-aware grammar, style, translation & tone tools with 70 local rules. Zero API keys needed.4-
- AlicenseAqualityDmaintenanceProvides Ukrainian language grammar checking, surzhyk detection, authentic phrasing, and English-to-Ukrainian rendering through curated linguistic data.562 PyPIMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI hosts to check text for grammar, spelling, and style errors, measure readability, and generate tone-adjusted rewrites through structured tool calls. Every tool returns predictable, typed output for reliable routing and results.MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to professionally edit Persian text by reading a draft, diagnosing its problems, and assembling a tailored checklist from a 1,577-note editorial knowledge base spanning orthography, punctuation, grammar, word choice, tone, and structure. It then runs staged cleanup, AI editing, independent review (up to four rounds), and final verification, returning a clean text plus a change report, and also exposes rule search, rule packs, and diff auditing for use in Claude Desktop, Cursor, n8n, or custom code.11MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.