Skip to content

Locize MCP Server

The Locize MCP (Model Context Protocol) server lets AI assistants (Claude, Cursor, GitHub Copilot, and others) interact directly with your translation projects.

Server URL: https://mcp.locize.app

smart_display
YouTube Video
This video is hosted on YouTube. Accept YouTube cookies to watch it here.
Watch on YouTube

Setup

Claude Desktop / claude.ai (OAuth)

  1. Go to Settings > Connectors > Add custom connector
  2. Enter URL: https://mcp.locize.app
  3. Click Connect, and your browser opens a login/consent screen
  4. Sign in with your Locize account and grant the requested permissions
  5. A Personal Access Token is created automatically in your profile

Claude Code (CLI)

claude mcp add --transport http locize https://mcp.locize.app

Then run /mcp in a Claude Code session and complete the OAuth flow.

Note: After first-time OAuth, Claude Code may show "Authentication successful, but server reconnection failed." This is a known Claude Code issue; simply restart Claude Code and the server will connect automatically using the stored token.

Other HTTP-native clients (Cursor, VS Code, etc.)

Add the server URL https://mcp.locize.app in your client's MCP settings and complete the OAuth flow. The exact steps vary by client; consult your client's MCP documentation.

Stdio transport (PAT alternative)

For clients that support stdio but not HTTP, use mcp-remote as a bridge:

{
  "mcpServers": {
    "locize": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.locize.app"]
    }
  }
}

Authentication

The MCP server supports two authentication methods:

OAuth 2.0 (recommended): used automatically by Claude Desktop, Cursor, and other MCP clients that support it. No manual token management needed. The OAuth flow creates a Personal Access Token in your profile automatically. Access can be revoked at any time.

Personal Access Token (PAT): for CI/CD, scripts, or clients that don't support OAuth. Create one in your profile under Personal Access Tokens. Pass it as Authorization: Bearer lz_pat_.... See the PAT documentation for details on scopes and security.


Available tools

The MCP server exposes 26 tools organized by workflow:

Discovery

ToolDescription
list_projectsList all projects accessible via your token. Call this first.
get_project_statsTranslation coverage per version, language, and namespace
list_branchesList branch projects of a parent project
list_tenantsList tenant projects of a parent project

Translation content

ToolDescription
get_translationsFetch unpublished (editor state) translations with filtering by tags, timestamps, and pagination
get_published_translationsFetch published (CDN) translations for a namespace
find_missing_translationsCompare a target language against the reference language; returns missing and stale keys
report_missing_keysAdd new keys (never overwrites existing). Auto-batches at 1000 keys. If Automatic Translation is enabled, new keys on the reference language are translated into all target languages automatically.
update_translationsUpdate or delete translation keys. Set a value to null to delete.

Context

These read-only tools give an agent the same context a human translator has, so it can translate, review, and lint in your IDE.

ToolDescription
get_glossaryFetch the project's terminology glossary (approved & forbidden terms per language). Use each term's preferred value when translating, or lint new source strings for forbidden-term drift.
get_styleguideFetch the project's style guide (tone, formality, target audience, usage rules) per language
search_translation_memoryFind previously translated segments similar to a source string (exact + fuzzy) to reuse prior translations
get_screenshot_contextFetch the screenshot(s) and mapped region where a key appears, for visual disambiguation

Release workflow

ToolDescription
publish_versionPublish a version to the CDN. Returns a jobId for status tracking.
copy_versionCopy all translations from one version to another (e.g. latest → production)
copy_languageCopy a single language between versions
get_job_statusCheck or wait for async operations (publish, copy, merge) to complete

Branch workflow

ToolDescription
create_branchCreate a translation branch from a version
merge_branchMerge a branch back into its parent project

Project structure

ToolDescription
add_languageAdd a language to the project
remove_languageRemove a language and all its translations
change_languagesReplace the entire language list atomically
add_versionAdd a new version
delete_versionDelete a version and all its translations
rename_namespaceRename a namespace across all languages
delete_namespaceDelete a namespace and all its translations

Example prompts

Once connected, you can ask your AI assistant things like:

  • "Find all missing German translations in the checkout namespace"
  • "Publish the latest version of my project"
  • "Add Japanese to all versions"
  • "Create a branch for the v2 feature, translate it, then merge it back"
  • "Show me which keys changed in English this week"
  • "Report these new keys from my codebase to Locize"
  • "What's the translation coverage for the production version?"
  • "Translate these new strings using the project's glossary and style guide"
  • "Lint this PR's new English strings for any forbidden glossary terms"
  • "Show me the screenshot where the checkout.title key appears"

Agent conventions

To make your AI agent use these tools by default — fetch the glossary and style guide before translating, reuse translation memory, and lint pull requests for forbidden terms — drop our ready-made convention files (CLAUDE.md, AGENTS.md, .cursorrules) into your repo. They live in the public locize/locize-agents repository.


PAT scopes

Tools require specific PAT scopes. If a tool returns a scope error, your token needs additional permissions.

ScopeTools
readlist_projects, get_project_stats, list_branches, list_tenants, get_translations, get_published_translations, find_missing_translations, get_glossary, get_styleguide, search_translation_memory, get_screenshot_context
writereport_missing_keys, update_translations, rename_namespace, delete_namespace
managepublish_version, copy_version, copy_language, get_job_status, create_branch, merge_branch, add_language, remove_language, change_languages, add_version, delete_version

Beyond PAT scopes

PAT scopes are only the first gate. Your project-level role and permissions still apply on top:

  • Project role: your role on a given project (admin / manager / publisher / user / accountant) always wins when it is stricter than the PAT scope. For example, a PAT with manage scope called by a user whose project role is readonly still cannot modify that project.
  • Language / version / namespace scope: if your membership is restricted to specific languages, versions, or namespaces, get_translations and find_missing_translations will reject requests outside that scope.
  • translateOnly users: the structural tools (add_language, remove_language, change_languages, add_version, delete_version, publish_version, copy_version, copy_language, create_branch, merge_branch, rename_namespace, delete_namespace) are blocked for users marked translate-only.
  • Blocked / revoked access: if your project membership is blocked or your PAT has been revoked, every tool call fails immediately with a 401.
  • Parent project access: for tenant and branch projects, merging translations with the parent only happens if your PAT also has access to the parent project; otherwise you see the child-only view.

Technical details

  • Transport: Streamable HTTP (Web Standard Request/Response)
  • Auth: OAuth 2.0 (Authorization Code + PKCE with Dynamic Client Registration) or PAT Bearer token
  • Endpoint: POST https://mcp.locize.app
  • OAuth metadata: GET https://mcp.locize.app/.well-known/oauth-protected-resource
  • Stateless: Each request creates a fresh MCP server instance. No session management required.

See also