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
Setup
Claude Desktop / claude.ai (OAuth)
- Go to Settings > Connectors > Add custom connector
- Enter URL:
https://mcp.locize.app - Click Connect — your browser opens a login/consent screen
- Sign in with your Locize account and grant the requested permissions
- A Personal Access Token is created automatically in your profile
Claude Code (CLI)
claude mcp add --transport http locize https://mcp.locize.appThen run /mcp in a Claude Code session and complete the OAuth flow.
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
| Tool | Description |
|---|---|
list_projects | List all projects accessible via your token. Call this first. |
get_project_stats | Translation coverage per version, language, and namespace |
list_branches | List branch projects of a parent project |
list_tenants | List tenant projects of a parent project |
Translation content
| Tool | Description |
|---|---|
get_translations | Fetch unpublished (editor state) translations with filtering by tags, timestamps, and pagination |
get_published_translations | Fetch published (CDN) translations for a namespace |
find_missing_translations | Compare a target language against the reference language — returns missing and stale keys |
report_missing_keys | Add new keys (never overwrites existing). Auto-batches at 1000 keys. |
update_translations | Update or delete translation keys. Set a value to null to delete. |
Release workflow
| Tool | Description |
|---|---|
publish_version | Publish a version to the CDN. Returns a jobId for status tracking. |
copy_version | Copy all translations from one version to another (e.g. latest → production) |
copy_language | Copy a single language between versions |
get_job_status | Check or wait for async operations (publish, copy, merge) to complete |
Branch workflow
| Tool | Description |
|---|---|
create_branch | Create a translation branch from a version |
merge_branch | Merge a branch back into its parent project |
Project structure
| Tool | Description |
|---|---|
add_language | Add a language to the project |
remove_language | Remove a language and all its translations |
change_languages | Replace the entire language list atomically |
add_version | Add a new version |
delete_version | Delete a version and all its translations |
rename_namespace | Rename a namespace across all languages |
delete_namespace | Delete 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.
| Scope | Tools |
|---|---|
read | list_projects, get_project_stats, list_branches, list_tenants, get_translations, get_published_translations, find_missing_translations |
write | report_missing_keys, update_translations, rename_namespace, delete_namespace |
manage | publish_version, copy_version, copy_language, get_job_status, create_branch, merge_branch, add_language, remove_language, change_languages, add_version, delete_version |
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.