Docs · AI assistants

Use Sleekdocs from your AI assistant

Sleekdocs Translate has an MCP server, so Claude Code, Cursor, VS Code and other assistants can find missing translations, propose texts, show what would change and release them, with the permissions of your own API key.

What you can ask

Once connected, ask in your own words. For example:

  • "Add the texts for the new checkout page in English and Swedish."
  • "What's still untranslated in German in Storefront? Suggest translations and show me the changes before saving."
  • "Which languages have unpublished changes, and what's live in test?"
  • "Publish the changed languages and deploy them to test."

Texts the assistant saves land unpublished in the working copy, as edits in the app do. Nothing reaches your app until someone publishes and deploys.

Create a key

The assistant signs in with a personal API key. On the API keys page in Sleekdocs Translate, create one for it:

  1. Limit it to the project

    Choose the project the assistant works on, not all projects.

  2. Choose what it may do

    read and write let it read and change texts; add keys if it may add new keys. Leave out deploy:prod unless you want it to release to production.

  3. Keep it short-lived

    8 hours for a working session, or 7 or 30 days. You can revoke it at any time.

Connect your assistant

The server's address is https://translate.sleekdocs.com/api/v1/api/mcp. Send the key as a bearer token. Keep the key out of files you commit.

Claude Code

claude mcp add --transport http sleekdocs \
  https://translate.sleekdocs.com/api/v1/api/mcp \
  --header "Authorization: Bearer sdt_…"

Cursor

In ~/.cursor/mcp.json:

{
  "mcpServers": {
    "sleekdocs": {
      "url": "https://translate.sleekdocs.com/api/v1/api/mcp",
      "headers": { "Authorization": "Bearer sdt_…" }
    }
  }
}

VS Code

In .vscode/mcp.json; VS Code asks for the key and stores it securely:

{
  "inputs": [
    { "type": "promptString", "id": "sleekdocs-key", "description": "Sleekdocs API key", "password": true }
  ],
  "servers": {
    "sleekdocs": {
      "type": "http",
      "url": "https://translate.sleekdocs.com/api/v1/api/mcp",
      "headers": { "Authorization": "Bearer ${input:sleekdocs-key}" }
    }
  }
}

Claude on the web and in the desktop app connect through sign-in rather than a key. That's coming; until then, use one of the assistants above.

Tools

The assistant chooses among these. Each needs the same scope as the API call behind it.

MCP tools
ToolDoesScope
whoamiWhat the key may do: team, scopes, project, expiryany
list_projectsThe team's projects and how much is translatedread
project_statusUnpublished changes, and what's deployed whereread
find_keysKeys that are untranslated, the same as the primary language, changed, or match a searchread
propose_textsShows what saving texts would change, without savingwrite
apply_textsSaves texts, unpublished; new keys also need keyswrite
compare_revisionsWhat publishing would release, or what differs between revisionsread
rename_key, delete_keyRename or delete a key in every languagekeys
publishPublish the changed languages as new revisionspublish
deployPut a revision on the CDN for development, test or productiondeploy:<env>

Staying in control

Never more than you

The assistant acts as you, with the key's scopes, and never more than your role in the team allows.

Unpublished first

Saved texts wait in the working copy. Review them with View changes in Sleekdocs, or ask the assistant to compare, before you publish.

Asked before changes

Every tool says whether it only reads or changes something, so your assistant can ask you before it saves, deletes or deploys.

Visible in the log

Publishes and deploys made this way show in the team's log as "via MCP", with the key's name.

Translation texts are written by other people, and the assistant reads them. Give an assistant's key only the scopes its task needs, so text that looks like an instruction can't make it do more.