The API has a Model Context Protocol (MCP) endpoint, so agents such as Claude Code can work with your projects without calling the REST API by hand.
https://api.continuous-translations.com/mcpThe endpoint uses the Streamable HTTP transport. Authenticate with the same bearer token as the rest of the API, see Authentication. In Claude Code:
claude mcp add --transport http continuous-translations \
https://api.continuous-translations.com/mcp \
--header "Authorization: Bearer <token>"Every tool calls the matching API route as you, so the same rules apply (the X-Timezone header you send to /mcp is passed on): your role in the project, the scopes of an API key, plan limits and validation. A call that is not allowed returns an error result with the status and error code, for example insufficient_scope.
Use a key with the scopes you need #
Create an API key with only what the agent needs. A key with projects:read and translations:read can read but not change anything. approve_translation and request_changes use routes that accept session tokens only, so an API key cannot review.
Tools #
| Tool | What it does | Scope of an API key |
|---|---|---|
list_projects | Lists the projects you can see | projects:read |
get_project_status | Shows how complete each language is on a branch | projects:read |
list_branches | Lists branches, with the ids other tools need | projects:read |
list_keys | Lists the keys of a branch with their translation in a language | projects:read |
get_key | Shows one key with its translation, notes, comments and history | projects:read |
pull_translations | Returns one language as {key: value} | translations:read |
review_queue | Lists translations of a branch waiting for review | session token only |
list_glossary | Lists the glossary | session token only |
search_translation_memory | Searches the translation memory | session token only |
push_keys | Adds and updates source keys, like ct push | keys:write |
save_translation | Saves a draft, or submits a translation for review | translations:write |
approve_translation | Approves a translation in review | session token only |
request_changes | Sends a translation in review back with a comment | session token only |
push_keys and save_translation change data. push_keys accepts dryRun to only report what would change.