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 — 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 22 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.

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?"

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
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