MCP server for inspecting, translating, and reviewing ai-i18n messages
Strong schema definitions with comprehensive parameter documentation and clear descriptions. All 8 tools have explicit input schemas with type constraints, enums, and length limits. Descriptions are detailed (100-300+ chars) and explain WHEN to use each tool and prerequisites. However, output schemas are not documented in the provided source, and error handling guidance is minimal. Tool naming follows verb_noun pattern consistently. Composition is excellent, tools are single-responsibility and chain well via opaque IDs (orphan_id, override_id). No security issues detected (no secrets in params). Conservative score reflects missing output schema documentation and lack of explicit error recovery guidance.
Atomically reset selected Translation Memory values to null by message source and optional comment. Use one default_locale with item locales omitted for a single-locale batch, or omit it and provide every item locale. Duplicate targets are cleared once. It does not remove messages, locales, extracted files, or overrides.
Only use after listing every requested orphan and receiving explicit user approval to delete them. Atomically delete selected Translation Memory messages by opaque orphan_id. The whole batch fails if any selected message is referenced by the current extracted set. It does not modify extracted files, locales, or overrides.
Atomically delete selected override shards by opaque override_id. The whole batch fails if any selected override is not found. It does not modify Translation Memory, extracted files, or locales.
Only use after the user explicitly requests an orphan audit or cleanup and after one full Vite Build. Read messages that remain in Translation Memory but are absent from the complete extracted set. Copy orphan_id exactly into the delete tool. Follow next_cursor until has_more is false.
List locale-specific values from the project overrides directory, including orphaned entries. Copy override_id exactly into the delete tool. Omit the source_files filter to include orphaned entries; response items omit source_files unless include_source_files is true. Follow next_cursor until has_more is false.
Output schemas not documented. Tool descriptions explain what is returned (e.g., 'writable message object per shared source', 'per-file counts'), but formal output schema definitions are not visible in source. LLMs cannot reliably extract fields from unstructured responses.
Error handling guidance absent. Tools document constraints (e.g., 'Identical duplicate updates are applied once; different values for one target fail the batch') but do not provide recovery hints. LLMs cannot self-correct on failure.
Destructive operations lack confirmation step. delete_orphan_messages and delete_overrides are irreversible but have no dry-run or explicit confirmation mechanism. Agents could accidentally delete data.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | <=2025-11-25 | v2 |
Inspect extracted source files and raw Translation Memory values from project JSON shards. Omit source_files on the first call. view defaults to missing and returns one writable message object per shared source and comment; summary returns per-file counts; all returns every message. source_contains and translation_contains provide case-insensitive message filtering for missing or all. source_files and per-file locations are omitted unless explicitly requested. Follow next_cursor until has_more is false.
Atomically add or overwrite project override shards by message source, optional comment, and scope. Use one default_locale with item locales omitted for a single-locale batch, or omit it and provide every item locale. Omit files and occurrences for a global review; provide files for file-scoped review or occurrences for location-scoped review. Identical duplicate updates are applied once; different values for one target fail the batch.
Atomically update raw Translation Memory values in project JSON shards by message source and optional comment. Use one default_locale with item locales omitted for a single-locale batch, or omit it and provide every item locale. The same message is shared across every source file. Identical duplicate updates are applied once; different values for one target fail the batch. Existing non-null values are protected unless overwrite_existing is true.
Pagination cursor semantics unclear. list_* tools accept 'cursor' and return 'has_more' and 'next_cursor', but the description does not explain cursor format or how to handle the first call (is cursor optional on first call?). Ambiguity invites misuse.
Opaque ID coupling. Tools require exact copying of opaque IDs (orphan_id, override_id) from list responses into delete tools. If list response is truncated or filtered, agent may miss IDs. No guidance on handling partial deletions.