nativ-mcp
OfficialThis MCP server integrates Nativ's AI localization platform into AI coding tools, enabling translation, translation memory management, brand-voice-aware localization, and media localization workflows.
Translate text with the full localization engine, including translation memory (TM), style guides, brand voice, glossary, formality, context, max character limits, and back-translation.
Batch-translate multiple strings to a target language in one call.
Search translation memory for existing or reference translations.
Add approved translations to TM for future reuse and consistency.
Get translation memory statistics, configured languages, style guides, and the brand voice prompt.
Extract on-image text (OCR), localize images in place while preserving layout/graphics, and check images for cultural-fit issues.
Transcribe audio/video, parse scripts and subtitles, list TTS voices, preview voices, synthesize localized audio/dubbing, and remux video with generated audio.
Use built-in prompts for guided content localization, translation review, and batch string localization.
Access key data as MCP resources: languages, style guides, brand prompt, and TM stats in JSON.
Supports the localization of Markdown documents and content, ensuring consistency with established style guides and translation memory.
Nativ MCP Server
mcp-name: io.github.Nativ-Technologies/nativ
AI-powered localization for any MCP-compatible tool — Claude Code, Cursor, Windsurf, and more.
Nativ is a localization platform that uses AI to translate content while respecting your brand voice, translation memory, glossaries, and style guides. This MCP server brings Nativ's full localization engine into your AI coding workflow.
Why use Nativ via MCP?
Translate in-context — localize strings, copy, and content directly from your editor without switching to a browser
Translation Memory aware — every translation checks your TM first, ensuring consistency across your project
Brand voice built-in — your team's tone, formality, and style guides are applied automatically
Review and approve — add approved translations to TM from your editor, building quality over time
Multi-format — JSON, CSV, Markdown, or freeform text — Nativ handles it all
Related MCP server: i1n
Quick Start
1. Get a Nativ API Key
Sign up at dashboard.usenativ.com, go to Settings → API Keys, and create a key. It looks like nativ_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
2. Install
Add to your MCP configuration:
Claude Code / Claude Desktop (~/.claude/claude_desktop_config.json)
{
"mcpServers": {
"nativ": {
"command": "npx",
"args": ["-y", "nativ-mcp"],
"env": {
"NATIV_API_KEY": "nativ_your_api_key_here"
}
}
}
}Cursor (.cursor/mcp.json in your project or ~/.cursor/mcp.json globally)
{
"mcpServers": {
"nativ": {
"command": "npx",
"args": ["-y", "nativ-mcp"],
"env": {
"NATIV_API_KEY": "nativ_your_api_key_here"
}
}
}
}Windsurf
{
"mcpServers": {
"nativ": {
"command": "npx",
"args": ["-y", "nativ-mcp"],
"env": {
"NATIV_API_KEY": "nativ_your_api_key_here"
}
}
}
}Note:
npxauto-downloads the package on first run — no manual install needed. Ifuvisn't already on your machine, it will be installed automatically on first launch.If you already have
uvinstalled and prefer to skip the npm wrapper:{ "mcpServers": { "nativ": { "command": "uvx", "args": ["nativ-mcp"], "env": { "NATIV_API_KEY": "nativ_your_api_key_here" } } } }macOS tip: If you get
spawn uvx ENOENTin Cursor or Claude Desktop, GUI apps don't inherit your shell PATH. Use the full path (e.g."command": "/Users/you/.local/bin/uvx") or wrap in a login shell:"command": "/bin/sh", "args": ["-lc", "uvx nativ-mcp"].
3. Use it
Ask your AI assistant things like:
"Translate 'Welcome back!' to French and German"
"Check our translation memory for existing translations of 'Sign up'"
"What are our style guides for localization?"
"Localize these i18n strings to all configured languages"
"Review this German translation against our TM and brand voice"
Tools
Tool | Description |
| Translate text using the full localization engine (TM, style guides, brand voice, glossary) |
| Translate multiple texts to a target language in one call |
| Fuzzy-search the translation memory for existing translations |
| Add an approved translation to TM for future reuse |
| List all configured languages with formality and style settings |
| Get TM statistics — total entries, sources, and breakdown |
| List all style guides with their content and status |
| Get the brand voice prompt that shapes all translations |
| Extract on-image text segments (OCR) in reading order |
| Replace on-image text with translations in place, keeping layout and graphics intact |
| Flag cultural-sensitivity issues in an image across target markets |
| Speech-to-text for a local audio or video file (draft; billed on synthesize) |
| Parse a script (.txt/.docx/.pdf/.srt) instead of running STT |
| List TTS voices for dubbing |
| Save a short TTS preview WAV to disk |
| Consent copy required for voice cloning |
| Generate billed localized TTS (and optional dubbed MP4) and save to disk |
| Store a source video for later remux |
| Mux a WAV onto a registered video |
| Parse a local SRT/ITT into timed cues |
| Localize subtitles in-memory from SRT/ITT and/or video STT |
Resources
URI | Description |
| Configured languages (JSON) |
| All style guides (JSON) |
| Brand voice prompt (JSON) |
| Translation memory statistics (JSON) |
Prompts
Prompt | Description |
| Guided workflow to localize content into target languages |
| Review a translation against TM, style guides, and brand voice |
| Batch-localize i18n strings with structured output |
Examples
Translate a marketing headline
You: Translate "The future of luxury, delivered" to French and Japanese
AI: [calls translate tool for each language]
Translation (French): "L'avenir du luxe, livré chez vous"
TM Match: 0% — new translation, no prior TM entries
Rationale: "Livré chez vous" adds a personal touch absent from the literal
"livré", aligning with the brand's premium yet approachable voice.
Translation (Japanese): "ラグジュアリーの未来を、あなたの元へ"
TM Match: 45% partial — similar pattern found in TM from brand_voice sourceCheck existing translations
You: Do we have translations for "Add to cart" in our TM?
AI: [calls search_translation_memory]
TM Search Results for "Add to cart" (3 matches):
- 95% [strong] "Add to cart" → "Ajouter au panier" (source: approved)
- 95% [strong] "Add to cart" → "In den Warenkorb" (source: brand_voice)
- 72% [partial] "Add items to cart" → "Ajouter des articles" (source: phrase_tm)Batch localize i18n strings
You: Localize these to French:
- "Sign up"
- "Log in"
- "Forgot password?"
- "Continue with Google"
AI: [calls translate_batch]
Batch translation to French (4 items):
1. "Sign up" → "S'inscrire" (TM 100%)
2. "Log in" → "Se connecter" (TM 100%)
3. "Forgot password?" → "Mot de passe oublié ?" (TM 92%)
4. "Continue with Google" → "Continuer avec Google" (TM 85%)Configuration
Environment Variable | Required | Description |
| Yes | Your Nativ API key ( |
| No | API base URL (defaults to |
How It Works
This MCP server acts as a bridge between your AI coding assistant and the Nativ API:
┌─────────────────────┐ ┌──────────────┐ ┌─────────────────┐
│ Claude / Cursor / │────▶│ Nativ MCP │────▶│ Nativ API │
│ Windsurf / etc. │◀────│ Server │◀────│ (Translation, │
│ │ │ (stdio) │ │ TM, Styles) │
└─────────────────────┘ └──────────────┘ └─────────────────┘The MCP server runs locally via stdio. It authenticates with your API key and calls the Nativ REST API on your behalf. Your AI assistant sees Nativ's tools, resources, and prompts as native capabilities.
Development
# Clone the repo
git clone https://github.com/nativ-ai/nativ-mcp.git
cd nativ-mcp
# Set up environment
uv venv
source .venv/bin/activate
uv pip install -e .
# Run the server (for testing)
NATIV_API_KEY=nativ_xxx nativ-mcp
# Run with MCP Inspector
NATIV_API_KEY=nativ_xxx npx @modelcontextprotocol/inspector uv run nativ-mcpLicense
MIT — see LICENSE.
Links
Available Tools
21 toolsadd_translation_memory_entryA
Add a new entry to the translation memory.
Use this to store approved translations so they are reused in future localizations.
Args: source_text: The original text. target_text: The approved translation. source_language_code: Source language code (e.g. "en"). target_language_code: Target language code (e.g. "fr-FR"). name: Optional label for this entry (e.g. "homepage hero copy").
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| source_text | Yes | ||
| target_text | Yes | ||
| source_language_code | Yes | ||
| target_language_code | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It indicates this is a write operation ('Add'), but doesn't disclose behavioral traits like permissions needed, whether entries are immutable, rate limits, or error conditions. The description adds value by explaining the purpose of storing for reuse, but lacks operational details.
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 appropriately sized and well-structured: a brief purpose statement, usage guideline, then parameter explanations in a clear 'Args:' section. Every sentence earns its place, with no redundant or vague phrasing.
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 tool has an output schema (which handles return values), no annotations, and 5 parameters with 0% schema coverage, the description does well by covering purpose, usage, and parameter semantics. However, it lacks behavioral context (e.g., mutation effects, error handling) that would be important for a write operation without annotations.
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 0%, so the description must compensate. It provides clear semantics for all 5 parameters, explaining what each represents (e.g., 'source_text: The original text', 'target_text: The approved translation') with examples for language codes and the optional name. This adds significant meaning beyond the bare 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 clearly states the tool's purpose with specific verb ('Add') and resource ('new entry to the translation memory'), and distinguishes it from siblings by focusing on storage rather than retrieval or translation. The second sentence explains the functional goal ('store approved translations so they are reused'), making the purpose unambiguous.
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 explicitly states when to use this tool ('Use this to store approved translations so they are reused in future localizations'), providing clear context. It implicitly distinguishes from siblings like 'search_translation_memory' (for retrieval) and 'translate' (for translation), though it doesn't name alternatives directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_image_cultural_fitA
Analyze an image for cultural-sensitivity issues across markets before launch.
Returns a SAFE / NOT SAFE verdict and, where relevant, the specific countries affected with the issue and a concrete fix.
Args: image_path: Path to a local PNG, JPEG, or WebP image. countries: Optional comma-separated list of countries to check against (e.g. "Saudi Arabia, Japan, France"). Defaults to the top markets by GDP.
| Name | Required | Description | Default |
|---|---|---|---|
| countries | No | ||
| image_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It clearly discloses the SAFE / NOT SAFE verdict, country-level results, concrete fixes, and supported local image formats. It avoids claiming mutation, and 'Analyze' implies a read-only operation, though it does not explicitly address side effects, failures, or required permissions.
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 efficiently structured: a one-sentence purpose, a concise return summary, and a clear Args section. Every sentence adds necessary information, and there is no filler or repetition of schema fields.
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 two-parameter tool with an output schema, the description covers the core requirements: purpose, return value, input path restrictions, optional countries, and default behavior. It is nearly complete, but it does not mention alternatives or edge cases such as unsupported file types or failure behavior.
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 0%, but the description compensates fully. It explains that image_path must be a local PNG, JPEG, or WebP image, and describes the countries parameter as an optional comma-separated list with an example and a documented default of top GDP markets.
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 and resource: 'Analyze an image for cultural-sensitivity issues across markets before launch.' This is clear and distinguishes the tool from OCR or translation siblings by its focus on cultural-sensitivity checking, though it does not explicitly name or contrast sibling tools.
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 phrase 'before launch' implies a pre-flight review use case, and the optional countries parameter suggests market-specific checks. However, the description does not state when to use this tool instead of related tools like localize_image or extract_image_text, nor does it provide any exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_image_textA
Extract text segments from an image, in reading order (OCR).
Use this as the first step when localizing an image: pull out the
on-image source strings, translate each with translate (so TM, style
guides, and brand voice apply), then re-render with localize_image.
Args: image_path: Path to a local PNG, JPEG, or WebP image file.
| Name | Required | Description | Default |
|---|---|---|---|
| image_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden; it clearly states reading-order OCR behavior and that the input must be a local image file. It doesn't dwell on side effects, but 'Extract' signals a non-mutating read operation, and output details are handle by the output schema.
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 front-loaded with a clear purpose, followed by a concise workflow and an Args block. Every sentence adds useful information and there is no filler.
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?
This is a single-parameter OCR tool with an existing output schema; the description covers what it does, when to use it, and the only parameter's constraints. Nothing essential is missing 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 0%, but the Args block fully documents image_path, adding local-path semantics and supported formats (PNG, JPEG, WebP) that the schema alone lacks.
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 uses a specific verb and resource: 'Extract text segments from an image, in reading order (OCR).' It also distinguishes itself from sibling localize_image by positioning extraction as the first step before re-rendering.
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 explicitly says when to use the tool: 'Use this as the first step when localizing an image,' and gives the full workflow with translate and localize_image. It doesn't state a when-not or compare to parse_subtitle, so it falls 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.
get_brand_voiceA
Get the brand voice prompt — the core localization personality.
This is the master prompt that shapes all translations. It captures the brand's tone, personality, terminology, and localization guidelines.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It indicates this is a read operation ('Get') and describes what the tool returns (the brand voice prompt with its components). However, it doesn't disclose important behavioral traits like whether authentication is required, rate limits, error conditions, or whether the data is cached/live. The description adds some context about what the prompt contains but misses operational details.
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 appropriately sized with three sentences that each add value: stating the action, explaining the tool's importance as the 'master prompt', and detailing what the prompt captures. It's front-loaded with the core purpose. Minor improvement could come from slightly tighter phrasing, but overall it's efficient.
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 tool's simplicity (0 parameters, output schema exists), the description provides adequate context. It explains what the tool retrieves and its significance in the localization system. With an output schema handling return value documentation, the description focuses appropriately on purpose and context rather than output details. For a zero-parameter read tool, this is reasonably complete.
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 tool has 0 parameters with 100% schema description coverage, so the baseline is 4. The description appropriately doesn't discuss parameters since none exist, focusing instead on what the tool returns. This is efficient and avoids unnecessary information.
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 clearly states the tool's purpose with specific verbs ('Get the brand voice prompt') and identifies the resource ('core localization personality', 'master prompt'). It distinguishes this tool from siblings by specifying it retrieves the foundational localization personality rather than performing translations, managing languages, or accessing style guides.
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 implies usage context by stating this is 'the master prompt that shapes all translations', suggesting it should be used to understand localization guidelines before performing translation tasks. However, it doesn't explicitly state when to use this tool versus alternatives like get_style_guides or translate, nor does it provide exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_languagesA
Get all languages configured for the Nativ workspace.
Returns language names, codes, formality settings, and custom style directives for each language.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool returns language data (names, codes, etc.), which is useful behavioral context. However, it lacks details on permissions, rate limits, error handling, or whether it's a read-only operation (implied but not stated). The description adds some value but leaves gaps in behavioral traits.
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 concise and well-structured: two sentences that front-load the purpose and detail the return values. Every sentence earns its place by providing essential information without redundancy. It efficiently communicates the tool's function and output.
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 tool's low complexity (0 parameters) and the presence of an output schema, the description is reasonably complete. It explains what the tool does and what it returns, which is sufficient for the agent. However, it could improve by addressing usage context or behavioral aspects like permissions, but the output schema likely covers return values, reducing the burden.
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 tool has 0 parameters, and the input schema has 100% description coverage (though empty). The description doesn't need to add parameter semantics, so it appropriately focuses on output. A baseline of 4 is justified as it compensates for the lack of parameters by detailing the return data, which is helpful for the agent.
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 clearly states the tool's purpose: 'Get all languages configured for the Nativ workspace.' It specifies the verb ('Get') and resource ('languages'), and distinguishes it from siblings like 'translate' or 'get_style_guides' by focusing on workspace language configurations. However, it doesn't explicitly differentiate from all siblings (e.g., 'get_brand_voice' might also retrieve configurations).
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 provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context for usage, or comparisons to sibling tools like 'get_style_guides' or 'get_brand_voice'. The agent must infer usage based on the purpose alone, which is insufficient for optimal tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_style_guidesA
Get all style guides configured for the workspace.
Returns the titles, content, and enabled status of each style guide.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adds value by specifying the return content ('titles, content, and enabled status'), which helps the agent understand what to expect. However, it lacks details on potential limitations like pagination, rate limits, or authentication needs, which are important for a read operation.
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 front-loaded with the core purpose in the first sentence and adds useful output details in the second. Both sentences earn their place by providing essential information without redundancy, making it efficient and well-structured.
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 tool's simplicity (0 parameters, no annotations, but has an output schema), the description is reasonably complete. It explains what the tool does and what it returns, which is sufficient for a basic read operation. However, it could be more comprehensive by addressing behavioral aspects like error handling or data freshness, slightly reducing the score.
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 input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, focusing instead on the tool's purpose and output. This meets the baseline for tools with no parameters, as it avoids unnecessary details.
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 clearly states the tool's purpose with a specific verb ('Get') and resource ('all style guides configured for the workspace'), making it easy to understand what it does. However, it doesn't explicitly differentiate from sibling tools like 'get_brand_voice' or 'get_languages', which might also retrieve workspace configurations, so it misses the highest score.
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 provides no guidance on when to use this tool versus alternatives. It doesn't mention any context, prerequisites, or exclusions, such as whether it's for administrative purposes or general use, leaving the agent to infer usage from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_translation_memory_statsB
Get statistics about the translation memory.
Shows total entries, enabled/disabled counts, and breakdown by source type.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states this is a 'Get' operation, implying read-only behavior, but doesn't explicitly confirm safety aspects like non-destructive nature or permission requirements. It mentions the types of statistics returned but doesn't describe format, potential rate limits, or error conditions. For a tool with zero annotation coverage, this leaves significant behavioral gaps.
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 perfectly concise and well-structured: a clear purpose statement followed by specific details about what statistics are included. Both sentences earn their place by adding valuable information without redundancy. The front-loaded purpose statement immediately communicates the tool's function.
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 tool's simplicity (0 parameters, read-only operation) and the presence of an output schema, the description is minimally adequate. It explains what statistics are retrieved, which complements the output schema. However, for a tool with no annotations, it could better address behavioral aspects like safety guarantees or typical use cases to be more complete.
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 tool has 0 parameters with 100% schema description coverage (empty schema). The description doesn't need to compensate for any parameter documentation gaps. It appropriately doesn't mention parameters since none exist, earning a high baseline score for not introducing confusion about non-existent inputs.
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 clearly states the tool's purpose: 'Get statistics about the translation memory' with specific details about what statistics are included (total entries, enabled/disabled counts, breakdown by source type). It distinguishes itself from siblings like 'search_translation_memory' or 'add_translation_memory_entry' by focusing on statistical retrieval rather than search or modification operations. However, it doesn't explicitly contrast with all siblings, so it doesn't reach the highest score.
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 provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, context for usage, or comparisons with sibling tools like 'search_translation_memory' or 'get_languages'. The agent must infer usage from the purpose alone, which is insufficient for optimal tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_voice_consent_scriptB
Get the spoken consent script required for voice cloning.
| Name | Required | Description | Default |
|---|---|---|---|
| language_code | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The description only says 'Get' (implying a read-only operation) but does not explicitly state side effects, authorization needs, rate limits, or what the script looks like. For a tool with zero annotation coverage, this is a significant gap in transparency.
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 a single, front-loaded sentence with no filler words. It is concise and easily parsed, but it is also so brief that it skips important details. The conciseness is good, but the structure could have included more useful information without losing clarity.
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?
This is a simple tool with one optional parameter and an output schema (not shown), so the description need not explain return values. However, it leaves gaps: it does not explain how the language_code parameter affects the script, nor does it provide any context on the content of the consent script. It is minimally adequate but incomplete for full agent understanding.
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 has one parameter (language_code) with a default value but no description, and schema description coverage is 0%. The description does not mention the parameter at all, so it adds no meaning beyond the bare name. With no coverage and no description, the agent receives no guidance on how to use the parameter, making this a serious deficiency.
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 ('Get'), a specific resource ('spoken consent script'), and its purpose ('required for voice cloning'). This clearly distinguishes it from sibling tools like list_voices or synthesize_audio, which perform different actions. The purpose is unambiguous and actionable.
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 phrase 'required for voice cloning' implies when this tool should be used, but it does not explicitly state any alternative tools or situations where it should not be used. There is no mention of prerequisites, ordering, or context relative to other voice-related tools. The usage is implied but not fully articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_voicesA
List TTS voices available for dubbing.
Args: language_code: Optional filter (e.g. "fr", "ja-JP").
| Name | Required | Description | Default |
|---|---|---|---|
| language_code | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It implies a read-only operation via 'List' but does not explicitly state read-only status, nor does it mention pagination, sorting, or side effects. This leaves important behavioral traits unaddressed.
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 concise and front-loaded, stating the core purpose in the first sentence and then elaborating on the parameter. There is no unnecessary wording.
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 list tool with one optional parameter and an existing output schema, the description is largely complete. It explains the purpose and the parameter adequately; the output schema covers return values, so no further detail is necessary. However, it lacks mention of any authentication or rate-limit constraints, which might be expected, though these may be handled globally.
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 description adds meaning to the single parameter language_code by providing examples ('fr', 'ja-JP') and clarifying it is optional, which goes beyond the schema's bare type and title. Since schema coverage is 0%, this compensation is valuable.
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 clearly states the tool lists TTS voices for dubbing, using a specific verb and resource. It distinguishes itself from siblings like get_brand_voice (specific voice retrieval) and preview_voice (voice preview) by focusing on listing available voices.
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?
No guidance is provided on when to use this tool versus alternatives such as get_languages or preview_voice. The description only mentions the optional language filter without any context on selection criteria or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
localize_imageA
Localize an image in place by replacing its on-image text with translations.
Keeps every non-text element (layout, colours, graphics) intact and
re-renders the original text with the provided translations. Pair with
extract_image_text (to get the source strings) and translate (to
translate them with TM and brand voice) for a full image localization flow.
The localized image is saved to disk and the file path is returned — the raw image bytes are not sent back to the model.
Args: image_path: Path to a local PNG, JPEG, or WebP image to localize. replacements: JSON array of {"original": "...", "translated": "..."} pairs, e.g. '[{"original": "Buy now", "translated": "Achetez maintenant"}]'. target_language_code: Target language code (e.g. "fr-FR"), used for labelling output. output_path: Optional path to write the localized image to. Defaults to ".." next to the source image. num_images: Number of variants to generate (1-5, default 1). output_format: Output format — png, jpeg, or webp (default png).
| Name | Required | Description | Default |
|---|---|---|---|
| image_path | Yes | ||
| num_images | No | ||
| output_path | No | ||
| replacements | Yes | ||
| output_format | No | png | |
| target_language_code | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the disclosure burden. It explicitly states the localized image is saved to disk, a file path is returned, and raw bytes are not sent back to the model – valuable for an agent deciding whether to use this tool. It also explains that non-text elements remain intact and describes the default output naming, but it leaves some ambiguity about whether the original file is modified ('in place' vs. separate output path) and does not mention permissions or failure modes.
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 leads with a one-sentence summary, then adds behavioral and workflow context in short paragraphs, and closes with a bulleted Args list. Every sentence adds meaning: the pairing note is actionable, the output note avoids false expectations, and the Args block is essential given the schema's silence. No filler.
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 six-parameter tool with no annotations, the description is close to complete: all parameters are explained, output behavior is described, and the integration with extract_image_text and translate sets expectations. Minor gaps are the ambiguous 'in place' wording and lack of explicit error/prerequisite discussion, but the presence of an output schema likely covers return details.
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 0%, so the Args section must supply all parameter meaning – and it does comprehensively. It explains accepted formats for image_path, gives a precise JSON structure and example for replacements, states target_language_code is used for labelling, defines output_path default naming, constrains num_images to 1–5, and lists output_format values. This fully compensates for the bare 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 opens with a specific verb-resource pair: 'Localize an image in place by replacing its on-image text with translations.' It further distinguishes the tool by stating non-text elements are preserved and by naming companion tools (`extract_image_text`, `translate`), making its role in the localization flow clear. Though it doesn't explicitly contrast with `localize_subtitles`, the 'image' resource and text-replacement operation are enough to 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 gives a clear workflow: pair with `extract_image_text` to obtain source strings and `translate` for TM/brand-voice translation, which tells an agent when to use this tool in the pipeline. It does not, however, state when not to use it or name alternatives (e.g., `localize_subtitles` for subtitle files), leaving some selection burden on the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
localize_subtitlesA
Localize subtitles in-memory. Provide an SRT/ITT and/or a video (STT).
Args: target_language_codes: Comma-separated codes (e.g. "fr,de,ja"). subtitle_path: Optional local subtitle file. video_path: Optional video used when no subtitle file is given. glossary_path: Optional glossary text file. source_language_code: Source language code. context: Optional localization context. formality: Optional formality override. output_dir: If set, write one .srt per language there.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | ||
| formality | No | ||
| output_dir | No | ||
| video_path | No | ||
| glossary_path | No | ||
| subtitle_path | No | ||
| source_language_code | No | en | |
| target_language_codes | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the in-memory nature, the optional output_dir behavior (write one .srt per language), and the STT fallback when no subtitle file is given. However, it does not disclose side effects, whether output_dir writes are destructive, or what the return value contains despite an output schema existing.
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 compact and front-loaded with the core purpose, followed by a concise parameter list. The parameter list is useful and not redundant with the schema because it adds semantic context. It could be slightly tighter, but every sentence 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 8 parameters, no annotations, and an output schema, the description covers the main input modes and output_dir behavior. It lacks guidance on required vs optional combinations (e.g., is video_path required if no subtitle_path?), what happens when both are provided, and what the return value contains. The output schema exists but the description doesn't clarify the in-memory result structure.
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 0%, so the description must compensate. It explains the role of subtitle_path, video_path, glossary_path, context, formality, output_dir, and target_language_codes, adding meaning beyond the bare schema titles. It does not explain source_language_code's default behavior or the exact format of target_language_codes beyond the example, but the coverage is strong.
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 ('Localize') and resource ('subtitles'), and clarifies the in-memory nature of the operation. It distinguishes itself from siblings like translate/translate_batch by focusing on subtitle localization with optional STT from video, though it doesn't explicitly name a sibling alternative.
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 implies usage: provide an SRT/ITT and/or a video, with video used when no subtitle file is given. It does not explicitly state when to prefer this over translate/translate_batch or other siblings, nor does it mention exclusions or prerequisites like needing a registered video or supported language codes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_audio_scriptA
Parse a script file (.txt, .docx, .pdf, .srt, .itt) instead of STT.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It discloses one useful behavior: it parses files rather than doing STT. However, it does not mention whether the operation is read-only, what errors can occur, or how the output is structured, though the presence of an output schema reduces the need to describe return values.
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 a single sentence with no filler. It front-loads the core action, then lists the supported formats and the key alternative, making it immediately scannable for an AI agent.
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 one-parameter tool with an output schema, the description covers the essential purpose and accepted input formats. It leaves some gaps, such as what happens with unsupported files and any side effects, but the simplicity of the tool and the existing output schema keep it reasonably complete.
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 has only a bare 'file_path' property with 0% description coverage, so the description must compensate. It partially does by indicating the accepted file extensions and the general purpose of the file. However, it does not explicitly state that 'file_path' must point to a file with one of these formats or describe any constraints such as file size or encoding.
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 ('parse') and resource ('a script file'), and lists the supported formats. It also distances itself from STT, which helps distinguish it from transcription tools. However, it does not clearly differentiate itself from the sibling 'parse_subtitle', especially since .srt and .itt are subtitle formats.
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 phrase 'instead of STT' explicitly signals when to use this tool: when a script file is available rather than performing speech-to-text. It implies the alternative of transcription, but it does not spell out when not to use the tool or how it relates to sibling 'parse_subtitle'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_subtitleA
Parse a local SRT/ITT file into timed cues (no storage).
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral traits: it operates on a local file and explicitly states it does not perform storage ('no storage'). Since annotations are absent, this is valuable context beyond the tool name. It does not mention error cases or environment requirements, but for a simple read-only parser the core trait is covered.
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 a single, front-loaded sentence that captures the core operation, the input format, and the storage behavior. No word is wasted, and it is immediately parseable by an agent.
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 tool with one parameter and an output schema, the description is sufficient to understand the operation and the key constraint (no storage). It lacks usage guidance, but that dimension is covered elsewhere. The presence of an output schema means return values are documented outside the description, so the minimal text is acceptable.
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 input schema provides only a file_path string with no description (0% coverage). The description compensates by specifying that the file must be a local SRT/ITT file, clarifying the accepted format and locality. This gives the agent the necessary semantic for the single parameter.
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 clearly states the tool parses a local SRT/ITT file into timed cues. It uses a specific verb ('parse') and resource ('local SRT/ITT file'), and differentiates from siblings by emphasizing 'no storage', which distinguishes it from other subtitle-related tools like localize_subtitles. No ambiguity about what the tool does.
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?
There is no explicit guidance on when to use this tool versus alternatives. The description implies usage when a user needs to extract timed cues from subtitle files, and the 'no storage' note suggests it is for ephemeral parsing, but siblings like localize_subtitles or translate are not addressed. A short phrase like 'use for read-only subtitle analysis' would have helped.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_voiceB
Generate a short TTS preview and save it to disk.
Args:
voice_id: Voice id from list_voices.
output_path: Where to write the WAV file.
language_code: Optional locale.
text: Optional preview line (max 200 chars).
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | ||
| voice_id | Yes | ||
| output_path | Yes | ||
| language_code | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden. It does disclose the key side effect of saving to disk and implies a short preview, but it omits details such as file overwrite behavior, network requirements, or any potential errors. It adds some context but not enough for a mutation-like operation without annotation support.
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 concise and front-loaded with the main purpose, followed by a clean list of arguments. Every sentence adds value, and the formatting is easily scannable. It loses a point for not being slightly more structured (e.g., using bold or separate lines for behavior vs args), but it is highly efficient.
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 tool has 4 parameters, no annotations, and an output schema, the description covers parameter semantics well but lacks usage context. It does not mention when to prefer preview_voice over synthesize_audio, nor does it detail any prerequisites beyond referencing list_voices. The output schema covers return values, so that gap is acceptable, but the missing differentiation and behavioral depth make it only partially complete.
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 0%, so the description must compensate, and it does. Each parameter is briefly explained: voice_id references list_voices, output_path specifies WAV writing, language_code is a locale, and text has a max length of 200 chars. This adds meaningful context beyond the bare schema, though it could be richer (e.g., exact formats for language_code).
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 clearly states the tool's function: 'Generate a short TTS preview and save it to disk.' It specifies a verb (Generate), resource (TTS preview), and an outcome (save to disk). However, it does not explicitly differentiate from the sibling 'synthesize_audio,' which likely performs full synthesis, leaving the distinction to inference.
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?
No guidance is provided on when to use this tool versus alternatives like synthesize_audio. The description does not mention any exclusions, prerequisites, or conditions for selection. An agent would have to infer that 'preview' implies a lighter operation, but this is not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
register_videoB
Upload a source video for later remuxing. Returns video_id.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only mentions the return value (video_id) and does not cover side effects, error conditions, authentication requirements, or file constraints. This is minimal for a tool that likely stores a file.
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 a single, efficient sentence that front-loads the action and purpose. It contains no unnecessary words or redundant details.
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 tool with one simple parameter and an output schema (presumably documenting the return), the description covers the basic action. However, it lacks usage guidelines and behavioral details, which are important for an agent to call it correctly, especially without annotations.
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 0%, so the description should compensate for the undocumented file_path parameter. It only implies that file_path is the path to the source video, adding no information about format, size limits, or other requirements.
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 clearly states the verb 'upload' and the resource 'source video', and specifies its purpose 'for later remuxing', which distinguishes it from the sibling remux_video. It does not explicitly name alternatives but the intent is unambiguous.
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 implies usage in a remuxing workflow but provides no explicit when-to-use or when-not-to-use guidance. There are no alternatives mentioned or conditions under which this tool should be preferred over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remux_videoA
Mux a WAV file onto a previously registered video.
Args:
video_id: Id from register_video or transcribe_audio.
audio_path: Local WAV (or other) file to encode as base64.
output_path: Where to write the MP4.
| Name | Required | Description | Default |
|---|---|---|---|
| video_id | Yes | ||
| audio_path | Yes | ||
| output_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It mentions base64 encoding and output to MP4, but does not disclose side effects (e.g., whether the original video is modified), permissions required, error handling, or reversibility. This is a significant gap for a mutation-like operation.
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 brief and well-structured: a one-sentence purpose followed by a clear 'Args' section listing each parameter. Every line is informative and there is no redundancy.
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 3-parameter tool with an output schema, the description covers the essentials but omits error conditions, format constraints, and any caveats about the input video. It is adequate but not exhaustive, especially without annotations to fill gaps.
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 0%, so the description fully compensates by explaining each parameter: video_id's source, audio_path's format and encoding, and output_path's purpose. This adds substantial meaning beyond the bare parameter names in 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 clearly states the action ('Mux a WAV file onto a previously registered video') with a specific verb and resource. It implies the combination of audio and video, distinguishing it from sibling tools like register_video or transcribe_audio, though it does not explicitly name alternatives.
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 provides context on prerequisites by noting that video_id comes from register_video or transcribe_audio, which hints at when to use it. However, it lacks explicit guidance on when not to use it or how it compares to other audio/video tools like synthesize_audio.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_translation_memoryA
Search the translation memory for existing translations.
Use this to check if translations already exist before creating new ones, or to find reference translations for consistency.
Args: query: Text to search for in the translation memory. source_language_code: Source language code (default: "en"). target_language_code: Optional target language code to filter results. min_score: Minimum fuzzy match score (0-100). Default 0 returns all. limit: Maximum number of results (default 10).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| min_score | No | ||
| source_language_code | No | en | |
| target_language_code | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes the tool as a search function, implying it's read-only and non-destructive, which is adequate for basic transparency. However, it lacks details on behavioral traits like rate limits, authentication needs, error handling, or how results are returned (e.g., format, pagination), leaving gaps in understanding the tool's operation.
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 well-structured and appropriately sized. It starts with a clear purpose sentence, followed by usage guidelines, and then a parameter section with concise explanations. Every sentence adds value without redundancy, and the information is front-loaded for quick understanding.
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 5 parameters with 0% schema coverage and an output schema present, the description does a good job of compensating. It explains all parameters thoroughly and provides usage context. The output schema likely covers return values, so the description doesn't need to detail them. However, it could improve by mentioning sibling tools for better integration, but overall, it's quite complete for a search tool.
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 0%, so the description must fully compensate. It provides detailed semantics for all 5 parameters: explains 'query' as text to search, 'source_language_code' with default, 'target_language_code' as optional filter, 'min_score' as fuzzy match range, and 'limit' as result maximum. This adds significant meaning beyond the bare schema, making parameters clear and actionable.
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 clearly states the tool's purpose: 'Search the translation memory for existing translations.' It specifies the verb ('search') and resource ('translation memory'), making the function unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'get_translation_memory_stats' or 'translate', which could help avoid confusion.
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 provides clear usage context: 'Use this to check if translations already exist before creating new ones, or to find reference translations for consistency.' This gives practical scenarios for when to use the tool. It doesn't explicitly state when not to use it or name alternatives among siblings, but the guidance is helpful for typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
synthesize_audioA
Generate billed localized TTS (and optional dubbed video).
Args:
language: Target language name (e.g. "French").
language_code: Target language code (e.g. "fr").
voice_id: Voice id from list_voices.
segments: JSON array of {text, start_ms, end_ms, original?} objects.
output_path: Path to write the WAV audio.
keep_same_length: Stretch/compress speech to source timings.
keep_background_music: Mix transcribed music bed when stem_id is set.
stem_id: Optional bed stem from transcribe_audio.
source_duration_ms: Original duration.
source_transcript: Optional original transcript.
video_id: Optional id from transcribe/register to mux MP4.
video_output_path: Optional path for dubbed MP4 when video_id is set.
| Name | Required | Description | Default |
|---|---|---|---|
| stem_id | No | ||
| language | Yes | ||
| segments | Yes | ||
| video_id | No | ||
| voice_id | Yes | ||
| output_path | Yes | ||
| language_code | Yes | ||
| keep_same_length | No | ||
| source_transcript | No | ||
| video_output_path | No | ||
| source_duration_ms | No | ||
| keep_background_music | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the operation is billed, that it can optionally mux video, and references dependent tools. However, it does not mention side effects like file overwriting, failure modes, or permission requirements, which would be valuable for a mutation-like 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 front-loaded with the summary line, then lists all 12 parameters in a clean Args format. It is a bit lengthy but every line serves a purpose, avoiding fluff. The structure is easy to parse for an agent scanning for parameter semantics.
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?
All parameters are covered with meaningful explanations, and the description references prerequisite tools (list_voices, transcribe_audio) which gives the agent enough context to assemble valid inputs. Since an output schema exists, return values do not need description. It is complete for a tool of this complexity.
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 provides only titles with no descriptions (0% coverage), so the description's Args section adds substantial meaning. Each parameter is explained with context, including the exact JSON structure for segments and references to source tools. This fully compensates for the schema gap, though it could include example 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 'Generate billed localized TTS (and optional dubbed video)', which is a specific verb+resource statement. This clearly distinguishes it from sibling tools like translate, transcribe_audio, or remux_video, as it uniquely targets audio synthesis and dubbing.
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 implies its use case through the parameter list (e.g., voice_id from list_voices, stem_id from transcribe_audio) but does not explicitly state when to choose this over alternatives or when not to use it. There is no exclusion guidance, leaving the agent to infer context from the domain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transcribe_audioA
Transcribe speech from a local audio or video file (unbilled draft).
Use the returned segments with translate (origin via text) then
synthesize_audio to produce a dubbed track. Video uploads also
return a video_id for muxing.
Args: file_path: Path to audio (mp3, wav, m4a, …) or video (mp4, mov, …). source_language_code: Optional source language hint (e.g. "en"). keep_background_music: If true, split a music bed for later remix.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | ||
| source_language_code | No | ||
| keep_background_music | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It does reveal useful non-obvious behavior: segments feed a dubbing pipeline, video uploads return a video_id, and keep_background_music splits a music bed. However, it omits auth requirements, sync/async behavior, limits, and side effects, and the phrase 'unbilled draft' is unexplained.
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 definition is front-loaded with the main purpose, and each parameter gets a compact, useful line. The cross-tool pipeline note earns its place. The only blemish is the unclear parenthetical 'unbilled draft', which is jargon and not explained.
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?
An output schema exists, so return values do not need to be fully restated. The description already covers the dubbing workflow, video_id for muxing, and all parameter semantics. It is complete for typical use, though it does not mention file-size limits or supported language codes; these are minor given the available schema and sibling context.
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 0%, and the description compensates completely: file_path gives accepted audio/video formats, source_language_code is framed as an optional hint with an example, and keep_background_music has a behavioral consequence ('split a music bed for later remix'). This adds real meaning beyond the bare property names and types.
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 opening sentence names the exact operation ('Transcribe speech') and resource ('local audio or video file'), and the pipeline note clarifies the output usage with translate/synthesize_audio and video_id for muxing. This differentiates it from siblings like parse_audio_script or remux_video without needing to inspect their schemas.
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 a concrete workflow: use the returned segments with translate, then synthesize_audio to build a dubbed track, and video uploads return a video_id for muxing. It does not explicitly name alternative tools or say when not to use it, but the cross-tool pipeline context is enough to guide an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
translateA
Translate text using Nativ's AI localization engine.
Uses the team's translation memory, style guides, and brand voice automatically. Returns the translation along with TM match info and rationale.
Args: text: The text to translate. target_language: Full target language name (e.g. "French", "German", "Japanese"). target_language_code: Optional ISO language code (e.g. "fr", "de", "ja"). source_language: Source language name. Defaults to English. source_language_code: Source language code. Defaults to "en". context: Optional context to guide the translation (e.g. "marketing headline for Gen Z audience"). glossary: Optional inline glossary as CSV (e.g. "term,translation\nbrand,marque"). formality: Tone override — one of: very_informal, informal, neutral, formal, very_formal. max_characters: Optional strict character limit for the translation output. backtranslate: If true, also returns a back-translation to verify intent.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| context | No | ||
| glossary | No | ||
| formality | No | ||
| backtranslate | No | ||
| max_characters | No | ||
| source_language | No | English | |
| target_language | Yes | ||
| source_language_code | No | en | |
| target_language_code | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well by disclosing behavioral traits: it explains the engine uses team resources (translation memory, style guides, brand voice), returns additional info (TM match, rationale), and supports back-translation for verification. It lacks details on rate limits or error handling.
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 appropriately sized and front-loaded with the core purpose, followed by a structured parameter list. Every sentence adds value, though the parameter section is lengthy but necessary given the complexity. Minor room for tightening introductory text.
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 tool's complexity (10 parameters, no annotations) and the presence of an output schema, the description is largely complete: it covers purpose, behavioral context, and parameter semantics. It could improve by mentioning output structure or error cases, but the output schema likely handles return values.
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 0%, so the description must compensate fully. It provides detailed semantics for all 10 parameters, including examples (e.g., 'French', 'fr'), defaults (e.g., source language defaults to English), and usage guidance (e.g., context for audience targeting). This adds significant value beyond the bare 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 clearly states the tool's purpose as translating text using Nativ's AI localization engine, specifying it leverages translation memory, style guides, and brand voice. It distinguishes from siblings like 'translate_batch' (batch processing) and 'search_translation_memory' (searching rather than translating).
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 implies usage for AI-powered translation with contextual enhancements but does not explicitly state when to use this tool versus alternatives like 'translate_batch' for batch operations or 'search_translation_memory' for lookup. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
translate_batchA
Translate multiple texts to a single target language.
Useful for localizing lists of strings, UI labels, or i18n files. Each text is translated individually using the team's TM and style guides.
Args: texts: List of texts to translate. target_language: Full target language name (e.g. "French"). target_language_code: Optional ISO language code. source_language: Source language name. Defaults to English. source_language_code: Source language code. Defaults to "en". context: Optional context to guide all translations. formality: Tone override for all translations.
| Name | Required | Description | Default |
|---|---|---|---|
| texts | Yes | ||
| context | No | ||
| formality | No | ||
| source_language | No | English | |
| target_language | Yes | ||
| source_language_code | No | en | |
| target_language_code | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adds valuable context: 'Each text is translated individually using the team's TM and style guides,' revealing reliance on translation memory and style guides. However, it lacks details on permissions, rate limits, error handling, or what the output contains. For a mutation tool (translation implies creation of translated content) with zero annotation coverage, this is a moderate gap.
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 appropriately sized and front-loaded: the first sentence states the core purpose, followed by usage context and behavioral details, then a structured parameter list. Every sentence earns its place with no redundancy or waste. The 'Args' section is well-organized for easy reference.
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 tool's complexity (7 parameters, no annotations, but with an output schema), the description is fairly complete. It covers purpose, usage, behavioral context, and parameter semantics. The output schema existence means return values needn't be explained, but for a mutation tool with no annotations, more behavioral details (e.g., side effects, error cases) would enhance completeness.
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 0%, so the description must compensate. It provides a detailed 'Args' section explaining all 7 parameters, adding meaning beyond the schema's titles. For example, it clarifies that 'target_language' expects a 'Full target language name (e.g. "French"),' and notes defaults for source language parameters. However, it doesn't explain parameter interactions or constraints (e.g., if both language name and code are provided).
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 clearly states the tool's purpose: 'Translate multiple texts to a single target language.' It specifies the verb ('translate'), resource ('multiple texts'), and scope ('to a single target language'), distinguishing it from the sibling 'translate' tool which presumably handles single translations. The description further clarifies use cases: 'localizing lists of strings, UI labels, or i18n files.'
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 provides clear context for when to use this tool: 'Useful for localizing lists of strings, UI labels, or i18n files.' It implies batch translation scenarios but does not explicitly state when NOT to use it or name alternatives like the sibling 'translate' tool for single translations. The guidance is helpful but lacks explicit exclusions or named alternatives.
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.
13 tool updates
v0.3.0- Added
check_image_cultural_fit - Added
extract_image_text - Added
get_voice_consent_script - Added
list_voices - Added
localize_image - Added
localize_subtitles - Added
parse_audio_script - Added
parse_subtitle - Added
preview_voice - Added
register_video - Added
remux_video - Added
synthesize_audio - Added
transcribe_audio
8 tool updates
v1.0.0- First observed
add_translation_memory_entry - First observed
get_brand_voice - First observed
get_languages - First observed
get_style_guides - First observed
get_translation_memory_stats - First observed
search_translation_memory - First observed
translate - First observed
translate_batch
TDQS
Scored across 21 tools
Most tools target clearly distinct resources and actions, such as translate vs translate_batch or extract_image_text vs localize_image. Slight overlap exists between parse_subtitle and parse_audio_script, since both can handle .srt/.itt inputs, but their descriptions clarify the intended source type.
Tool names follow a consistent snake_case verb_noun pattern throughout, e.g. list_voices, preview_voice, register_video, and translate_batch. There are no mixed conventions or vague action verbs.
At 21 tools, the server is above the ideal 3-15 range, but the count is justified by the breadth of the localization domain: text translation, translation memory, style/brand config, subtitles, images, and audio/video dubbing. The tools do not feel redundant, though the set is on the heavier side.
Core localization workflows are well covered: text translation, batch translation, subtitle localization, image localization, transcription, TTS dubbing, and cultural checks. Minor gaps exist, such as no update/delete/disable for translation memory entries and no style guide or brand voice management beyond read-only access.
Maintenance
Related MCP Connectors
Phrase MCP server: language intelligence platform for translation, terminology, and quality.
AI localization for agents: translation, TMS sync, translation memories, glossaries, post-editing.
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
MCP server for Crowdin — projects, files, strings, translation progress, tasks, and members.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAI-powered translation management built for AI agents. Automate localization with regional sensitivity and zero TMS overhead. Works with Claude Code, Cursor, VS Code via MCP protocol. Supports JSON, YAML, Markdown, PO and more.2 npmMIT
- AlicenseNot gradedqualityBmaintenanceLocalization as code — push, pull, translate, and extract strings from code with AI. 7 MCP tools for type-safe i18n across 182 languages.165 npm2MIT
- AlicenseAqualityBmaintenanceMCP server for AI-powered translation management in i18n projects, enabling automated locale detection, translation status checks, and sync via LangAPI.440 npm1MIT
- AlicenseNot gradedqualityBmaintenanceAI-powered translation MCP server with EU AI Act compliance, enabling automated translation workflows via the MCP protocol.6 npm27 PyPIMIT