Skip to content

Multilocale Translations

by multilocale.com · remote · no sign-in to list tools · v0.1.2 · published by com.multilocale

Manage app translations: find missing or duplicate phrases, add languages and export dictionaries.

Deletes · 7Changes · 2

18 tools: 7 can delete or cancel things, 2 change things and 9 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http multilocale https://mcp.multilocale.com/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "open_multilocale" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "open_multilocale" says "open": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

18 tools

Deletes or cancels 7Claude Code: deny
  • add_localeUse this when someone asks to add a new language to a project and translate their strings into it.No findings

    Why it is in this group

    • The name "add_locale" says "add": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Use this when someone asks to add a new language to a project and translate their strings into it. Returns the updated language list and how many strings were machine-translated, one per key, all before anything is saved, so a very large project can time out. Not for a language the project already has.

    Annotations the server declares

    • title: Add a language and translate it
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • add_phraseUse this when someone asks to add a new string or key to their app's translations.No findings

    Why it is in this group

    • The name "add_phrase" says "add": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Use this when someone asks to add a new string or key to their app's translations. Returns the created key with one machine translation per configured locale, made from the source text in the default locale. A key that already exists returns already-exists and is left unchanged. Not for changing an existing translation.

    Annotations the server declares

    • title: Add a string and translate it
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • add_projectUse this when someone asks to create a new localization project with a given name and languages.No findings

    Why it is in this group

    • The name "add_project" says "add": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Use this when someone asks to create a new localization project with a given name and languages. Returns the new project with its default locale and locales; if the name is taken it returns already-exists and creates nothing. Not for adding a language to an existing project.

    Annotations the server declares

    • title: Create a localization project
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • delete_phraseUse this when someone asks to remove a key from their translations.No findings

    Why it is in this group

    • The name "delete_phrase" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Use this when someone asks to remove a key from their translations. Returns how many language rows were deleted and which other projects shared them; a shared string is deleted permanently for those projects too. Not for removing only one language's translation.

    Annotations the server declares

    • title: Delete a string in every language
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • share_phraseUse this when someone asks to reuse a key's translations in other projects, such as a common button label.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Use this when someone asks to reuse a key's translations in other projects, such as a common button label. Returns the target projects and how many language rows were attached, up to 25 targets; later edits to that string apply in every attached project. Not for a copy that can differ per project.

    Annotations the server declares

    • title: Share a string with other projects
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • update_phraseUse this when someone asks to fix or change the text of one key in one language.No findings

    Why it is in this group

    • The name "update_phrase" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Use this when someone asks to fix or change the text of one key in one language. Returns the previous and new text and the projects sharing that string; the change applies in all of them and marks the text as human-edited. Not for adding a new key.

    Annotations the server declares

    • title: Edit a translation
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • update_projectUse this when someone asks to change a project's default locale, replace its list of languages, or set its translation context.No findings

    Why it is in this group

    • The name "update_project" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Use this when someone asks to change a project's default locale, replace its list of languages, or set its translation context. Returns which fields changed. The language list is replaced as a whole, no strings are translated or deleted, and the project name stays fixed. Not for adding a language with its translations.

    Annotations the server declares

    • title: Change project languages or context
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
Changes things 2Claude Code: ask
  • export_locale_dictionaryUse this when someone wants the key and value pairs of one language, for example to review or copy a translation file.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use this when someone wants the key and value pairs of one language, for example to review or copy a translation file. Returns up to 50 entries per call (25 by default) sorted by key, values cut to 500 characters, with nextSkip for the next page. Not for a complete file download, which the MultiLocale CLI provides.

    Annotations the server declares

    • title: Export one language's strings
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • open_multilocaleUse this when someone wants to open Multilocale and browse their workspace interactively.1 finding

    Why it is in this group

    • The name "open_multilocale" says "open": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "open_multilocale" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "open_multilocale" says "open": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Use this when someone wants to open Multilocale and browse their workspace interactively. Localization projects, strings and translations. Starts with up to 100 items. Not for changing data.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 9Claude Code: allow
  • find_duplicate_phrase_valuesUse this when someone wants to clean up a project by finding keys that repeat the same default-language text.No findings

    Why it is in this group

    • The name "find_duplicate_phrase_values" says "find": a word for reading.
    Description, as the server wrote it
    Use this when someone wants to clean up a project by finding keys that repeat the same default-language text. Returns up to 25 repeated values with the keys that share them, scanning 1,000 default-locale strings by default and at most 2,000. Not for untranslated strings.

    Annotations the server declares

    • title: Find duplicate source strings
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • find_missing_translationsUse this when someone asks which strings are not translated yet, or how complete each language is.No findings

    Why it is in this group

    • The name "find_missing_translations" says "find": a word for reading.
    Description, as the server wrote it
    Use this when someone asks which strings are not translated yet, or how complete each language is. Returns completion percentages and up to 25 missing keys per locale, for one locale or up to 10, compared with the default locale. Nothing is translated or written. Not for filling in the missing translations.

    Annotations the server declares

    • title: Find missing translations
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_phraseUse this when someone asks how one exact key is translated, in every language or in one.No findings

    Why it is in this group

    • The name "get_phrase" says "get": a word for reading.
    Description, as the server wrote it
    Use this when someone asks how one exact key is translated, in every language or in one. Returns that key's text per locale, up to 24 locales and 2,000 characters each, with machine-translation flags and the projects sharing it, and renders a phrase card. Not for searching keys by text.

    Annotations the server declares

    • title: Show one string's translations
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_projectUse this when someone asks about one localization project, such as which languages it has or its default locale.No findings

    Why it is in this group

    • The name "get_project" says "get": a word for reading.
    Description, as the server wrote it
    Use this when someone asks about one localization project, such as which languages it has or its default locale. Returns the project's id, name, default locale, configured locales and creation and edit times. Not for how complete its translations are.

    Annotations the server declares

    • title: Get project details
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_phrasesUse this when someone asks to see the translation strings in a project, optionally in one language or for one key.No findings

    Why it is in this group

    • The name "list_phrases" says "list": a word for reading.
    Description, as the server wrote it
    Use this when someone asks to see the translation strings in a project, optionally in one language or for one key. Returns up to 100 phrases with id, key, language and value, plus the total count. Not for finding strings by the words they contain.

    Annotations the server declares

    • title: List a project's strings
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_projectsUse this when someone asks which localization projects they have in MultiLocale.No findings

    Why it is in this group

    • The name "list_projects" says "list": a word for reading.
    Description, as the server wrote it
    Use this when someone asks which localization projects they have in MultiLocale. Returns each project's id, name, default locale, languages and timestamps, up to 100 projects. Not for listing the strings inside a project.

    Annotations the server declares

    • title: List your localization projects
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_team_membersUse this when someone asks who is on their MultiLocale team or what role each person has.No findings

    Why it is in this group

    • The name "list_team_members" says "list": a word for reading.
    Description, as the server wrote it
    Use this when someone asks who is on their MultiLocale team or what role each person has. Returns each member's display name and role, up to 100 members (no emails, ids or contact details). Not for inviting or removing people.

    Annotations the server declares

    • title: List your team
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_phrasesUse this when someone asks to find translation strings that contain a word or phrase, in their keys or text.No findings

    Why it is in this group

    • The name "search_phrases" says "search": a word for reading.
    Description, as the server wrote it
    Use this when someone asks to find translation strings that contain a word or phrase, in their keys or text. Returns up to 100 matches with id, key, language and value from a case-insensitive match within one project. Not for one exact key.

    Annotations the server declares

    • title: Search strings by text
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • show_project_overviewUse this when someone wants a quick overview of one of their localization projects.No findings

    Why it is in this group

    • The name "show_project_overview" says "show": a word for reading.
    Description, as the server wrote it
    Use this when someone wants a quick overview of one of their localization projects. Returns an overview card with the project's default locale, up to 24 configured locales and timestamps. Not for translation completeness.

    Annotations the server declares

    • title: Show project overview
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.1.2. Values in angle brackets are yours to fill in.

claude mcp add --transport http multilocale https://mcp.multilocale.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__multilocale__list_projects",
      "mcp__multilocale__get_project",
      "mcp__multilocale__list_phrases",
      "mcp__multilocale__get_phrase",
      "mcp__multilocale__search_phrases",
      "mcp__multilocale__find_duplicate_phrase_values",
      "mcp__multilocale__find_missing_translations",
      "mcp__multilocale__list_team_members",
      "mcp__multilocale__show_project_overview"
    ],
    "ask": [
      "mcp__multilocale__export_locale_dictionary",
      "mcp__multilocale__open_multilocale"
    ],
    "deny": [
      "mcp__multilocale__add_project",
      "mcp__multilocale__update_project",
      "mcp__multilocale__add_phrase",
      "mcp__multilocale__update_phrase",
      "mcp__multilocale__add_locale",
      "mcp__multilocale__share_phrase",
      "mcp__multilocale__delete_phrase"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as multilocale. Review it before you use it.