Serveur MCP

Localisez depuis votre agent de codage.

localize-dev mcp donne à votre agent de codage les mêmes outils que la CLI. Demandez une page en espagnol, et il trouve la copie codée en dur, l'extrait en clés et la traduit, en suivant votre glossaire. Configurez-le avec init --agent, et il fait de même pour chaque fichier au fur et à mesure qu'il l'écrit.

$claude mcp add localize -- npx -y localize-dev mcp
~/acme/storefrontlocalize connecté

Livrez la page de paiement en espagnol, français et allemand.

localize.check(only: "strings")

2 chaînes codées en dur dans components/Checkout.tsx.

  • components/Checkout.tsx:18 "Place order"
  • components/Checkout.tsx:24 "Discount code"

localize.localize(paths: ["components/Checkout.tsx"])

- <button>Place order</button>
+ <button>{t('checkout.place_order')}</button>
  • es Realizar pedido
  • fr Passer la commande
  • de Bestellung aufgeben

2 clés écrites, 3 langues remplies. La différence se trouve dans votre arborescence de travail à examiner.

Fonctionne avec les agents qui exécutent des serveurs MCP sur votre machine, et avec Lovable, Bolt et v0 via le serveur hébergé

Outils

Cinq outils, ceux que la CLI possède déjà.

L'agent choisit l'outil ; chacun répond avec des résultats structurés (fichiers, lignes, clés) sur lesquels il peut agir.

localize

Extrait les chaînes codées en dur en clés de traduction, réécrit le code vers votre bibliothèque i18n et traduit les nouveaux messages dans toutes les langues. Pour certains fichiers uniquement, ou comme un essai préalable.

- <h2>Order summary</h2>
+ <h2>{t('checkout.order_summary')}</h2>
locales/es.jsonlocales/fr.jsonlocales/de.json

check

Trouve le texte de l'interface utilisateur toujours codé en dur dans le code, et les traductions manquantes ou obsolètes, chacune avec son fichier et sa ligne. Ne change rien. Étant donné les fichiers que l'agent vient de modifier, il répond en une seconde environ.

  • hardcoded Checkout.tsx:18
  • missing fr · cart.empty
  • outdated de · cart.total

translate

Complète les traductions manquantes et refait celles dont le texte source a changé, dans vos fichiers de langue existants.

  • JSON
  • YAML
  • .po
  • .arb
  • strings.xml
  • .xcstrings

add_language

Traduit chaque message dans une nouvelle langue, puis l'ajoute à localize.config.json. Sans clé, rien n'est modifié.

"targetLocales": ["es", "fr", "ja"]

config

Vos langues, fichiers de langue et bibliothèque i18n, ainsi que le glossaire du projet, afin que la copie que l'agent écrit à la main le suive également.

  • Garder : Acme
  • checkout → es: pago

Aucune clé requiseSur votre machine, la vérification et la configuration fonctionnent sans clé API.

Une session

Demandez en mots simples. Examinez la différence.

L'agent décide quand appeler chaque outil. Vous voyez chaque appel et le résultat atterrit dans votre arborescence de travail.

01 / 04

Vous demandez

« Livrez la page de paiement en espagnol », « Ajoutez le japonais » ou « Reste-t-il quelque chose de non traduit ? »

agent

Livrez la page de paiement en espagnol, français et allemand.

Je vérifierai d'abord la page de paiement pour le texte codé en dur.

localize.check(only: "strings")

Pendant que vous écrivez

Traduit avant l'ouverture de la pull request

Une commande configure vos agents de codage. Après cela, chaque fichier qu'un agent modifie est vérifié pour détecter le texte non traduit, et l'agent le localise avant de passer à autre chose.

  1. 1

    L'agent écrit un composant avec du nouveau texte.

  2. 2

    Le hook après édition de Claude Code vérifie ce fichier, en environ une seconde, sans clé ni modèle, et indique à l'agent quelles lignes contiennent encore du texte codé en dur.

  3. 3

    L'agent appelle localize sur le fichier. Le texte obtient des clés et des traductions, de sorte que la pull request arrive avec chaque langue remplie.

Cursor, Codex et d'autres agents reçoivent les mêmes instructions de AGENTS.md et une règle Cursor. Ajoutez --pre-commit pour vérifier également les fichiers mis en scène avant chaque commit, et définissez LOCALIZE_DEV_HOOK=off pour mettre le hook en pause.

Dans le dossier de votre application
npx localize-dev init --agent
Ce que l'agent voit après une modification
localize.dev: src/components/Promo.tsx has UI text that isn't translated yet.
  line 4: "Free shipping on orders over $50"
Call the localize tool of the localize-dev MCP server with paths ["components/Promo.tsx"]: it gives this text translation keys, rewrites the code and translates it.

Configuration

Configurez-le dans votre agent.

Les agents sur votre machine exécutent le serveur à partir du package npm, sans rien à héberger. `npx localize-dev init --agent` le configure pour Claude Code et Cursor avec le hook après édition. Lovable, Bolt et v0 se connectent au serveur hébergé avec une clé API.

D'abord, une fois par machine :npx localize-dev login

Claude Code

L'agent de codage d'Anthropic dans le terminal. Ajoutez le serveur du dépôt dans lequel vous travaillez ; avec --scope project, il est enregistré dans .mcp.json pour tous les membres de l'équipe. npx localize-dev init --agent fait cela et ajoute le hook après édition.

  1. 1Exécutez claude mcp add dans votre dépôt.
  2. 2Redémarrez l'agent ou rechargez ses serveurs MCP pour qu'il commence à localiser.
  3. 3Ouvrez votre dépôt et demandez-lui quelque chose de similaire à l'invite ci-dessous.

Essayez de demander

“Localisez src/components/Checkout.tsx en espagnol et en français.”

→ localize.localize

terminal
claude mcp add localize -- npx -y localize-dev mcp

# Share it with your team through .mcp.json
claude mcp add --scope project localize -- npx -y localize-dev mcp

# Or the server, the after-edit hook and AGENTS.md in one go
npx localize-dev init --agent

Cursor

Cursor lit les serveurs MCP à partir de .cursor/mcp.json dans le projet, ou ~/.cursor/mcp.json pour chaque projet. npx localize-dev init --agent écrit le fichier du projet et une règle pour vos fichiers d'interface utilisateur.

  1. 1Ajoutez la localisation à .cursor/mcp.json.
  2. 2Redémarrez l'agent ou rechargez ses serveurs MCP pour qu'il commence à localiser.
  3. 3Ouvrez votre dépôt et demandez-lui quelque chose de similaire à l'invite ci-dessous.

Essayez de demander

“Ajoutez le japonais à cette application.”

→ localize.add_language

.cursor/mcp.json
{
  "mcpServers": {
    "localize": {
      "command": "npx",
      "args": ["-y", "localize-dev", "mcp"]
    }
  }
}

Codex

Le Codex d'OpenAI lit les serveurs MCP depuis son fichier de configuration, partagé par la CLI et l'extension IDE.

  1. 1Ajoutez la table [mcp_servers.localize] à ~/.codex/config.toml.
  2. 2Redémarrez l'agent ou rechargez ses serveurs MCP pour qu'il commence à localiser.
  3. 3Ouvrez votre dépôt et demandez-lui quelque chose de similaire à l'invite ci-dessous.

Essayez de demander

“Avant d'ouvrir la PR, vérifiez la présence de texte codé en dur et de traductions manquantes.”

→ localize.check

~/.codex/config.toml
[mcp_servers.localize]
command = "npx"
args = ["-y", "localize-dev", "mcp"]

GitHub Copilot in VS Code

Le mode agent de Copilot dans VS Code lit les serveurs MCP depuis .vscode/mcp.json dans l'espace de travail.

  1. 1Ajoutez localize à .vscode/mcp.json dans votre espace de travail.
  2. 2Redémarrez l'agent ou rechargez ses serveurs MCP pour qu'il commence à localiser.
  3. 3Ouvrez votre dépôt et demandez-lui quelque chose de similaire à l'invite ci-dessous.

Essayez de demander

“Traduisez les nouvelles clés dans locales/en.json dans toutes les langues.”

→ localize.translate

.vscode/mcp.json
{
  "servers": {
    "localize": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "localize-dev", "mcp"]
    }
  }
}

Devin

Devin, anciennement Windsurf, lit les serveurs MCP depuis ~/.config/devin/mcp_config.json ou .devin/mcp_config.json dans le projet. Le CLI Devin en ajoute un avec devin mcp add.

  1. 1Ajoutez localize à ~/.config/devin/mcp_config.json (%APPDATA%\devin\mcp_config.json sur Windows).
  2. 2Redémarrez l'agent ou rechargez ses serveurs MCP pour qu'il commence à localiser.
  3. 3Ouvrez votre dépôt et demandez-lui quelque chose de similaire à l'invite ci-dessous.

Essayez de demander

“Effectuez une simulation de la localisation de la page des paramètres, puis appliquez-la.”

→ localize.localize

~/.config/devin/mcp_config.json
{
  "mcpServers": {
    "localize": {
      "command": "npx",
      "args": ["-y", "localize-dev", "mcp"]
    }
  }
}

Gemini CLI

Le CLI Gemini de Google lit les serveurs MCP depuis ~/.gemini/settings.json ou .gemini/settings.json dans le projet.

  1. 1Ajoutez localize aux mcpServers dans settings.json.
  2. 2Redémarrez l'agent ou rechargez ses serveurs MCP pour qu'il commence à localiser.
  3. 3Ouvrez votre dépôt et demandez-lui quelque chose de similaire à l'invite ci-dessous.

Essayez de demander

“Quelles langues cette application prend-elle en charge, et que contient son glossaire?”

→ localize.config

~/.gemini/settings.json
{
  "mcpServers": {
    "localize": {
      "command": "npx",
      "args": ["-y", "localize-dev", "mcp"]
    }
  }
}

Lovable

Les connecteurs de chat de Lovable peuvent appeler n'importe quel serveur MCP distant. Connectez le serveur hébergé avec une clé API, et l'agent de Lovable pourra vérifier et traduire l'application qu'il construit. La connexion est la vôtre seule et ne fait jamais partie de l'application publiée.

  1. 1Dans Connecteurs, choisissez Ajouter personnalisé, puis serveur MCP, et entrez l'URL.
  2. 2Choisissez le jeton Bearer ou la clé API, collez votre clé API localize.dev et cliquez sur Ajouter un serveur.
  3. 3Ouvrez votre projet et demandez quelque chose comme l'invite ci-dessous. L'agent envoie les fichiers dont l'outil a besoin et renvoie les fichiers qu'il retourne.

Essayez de demander

“Vérifiez cette application pour le texte codé en dur et dites-moi ce qui n'est pas traduit.”

→ localize.check

Connectors → Add custom → MCP server
Name            localize
URL             https://uselocalize.dev/api/mcp
Authentication  Bearer token or API key
Key             ldv_live_… (your localize.dev API key)

Bolt

Bolt ajoute des serveurs MCP personnalisés depuis sa page Connecteurs. Pointez-en un vers le serveur hébergé, et l'agent de Bolt pourra localiser le projet ouvert dans l'éditeur.

  1. 1Cliquez sur + dans le chat, ouvrez Connecteurs (MCP) et choisissez le serveur MCP personnalisé. Entrez l'URL et définissez le transport sur HTTP.
  2. 2Choisissez la clé API comme authentification et collez votre clé API localize.dev.
  3. 3Ouvrez votre projet et demandez quelque chose comme l'invite ci-dessous. L'agent envoie les fichiers dont l'outil a besoin et renvoie les fichiers qu'il retourne.

Essayez de demander

“Localisez la page de tarification en espagnol et en allemand.”

→ localize.localize

Connectors (MCP) → Custom MCP server
Name            localize
URL             https://uselocalize.dev/api/mcp
Transport       HTTP
Authentication  API key
Key             ldv_live_… (your localize.dev API key)

v0

v0 utilise des serveurs MCP personnalisés pendant qu'il génère du code. Connectez le serveur hébergé, et v0 peut ajouter des langues à l'application qu'il construit et remplir leurs traductions.

  1. 1Ouvrez + dans le formulaire d'invite, choisissez MCPs, puis Configurez et entrez l'URL.
  2. 2Choisissez Bearer Token et collez votre clé API localize.dev.
  3. 3Ouvrez votre projet et demandez quelque chose comme l'invite ci-dessous. L'agent envoie les fichiers dont l'outil a besoin et renvoie les fichiers qu'il retourne.

Essayez de demander

“Ajoutez le japonais à cette application.”

→ localize.add_language

+ → MCPs → Configure
Name            localize
URL             https://uselocalize.dev/api/mcp
Authentication  Bearer Token
Key             ldv_live_… (your localize.dev API key)

Serveur hébergé

Pour les agents qui ne peuvent pas exécuter de commandes.

Des constructeurs comme Lovable, Bolt, v0 et autres qui s'exécutent dans le navigateur ne peuvent pas démarrer `npx localize-dev mcp`. Ils peuvent se connecter au serveur hébergé à la place. Il propose les mêmes cinq outils et fonctionne sur localize.dev.

  1. 1

    Ajoutez un serveur MCP personnalisé avec l'URL https://uselocalize.dev/api/mcp.

  2. 2

    Si l'application prend en charge OAuth, choisissez-la et approuvez la connexion sur localize.dev. Sinon, placez votre clé API localize.dev dans l'en-tête Authorization en tant que jeton porteur.

  3. 3

    L'agent envoie les fichiers nécessaires à l'outil et renvoie les fichiers qu'il retourne. Ils sont placés dans un dossier temporaire pendant que l'appel est en cours et sont supprimés lorsque l'agent répond.

Configuration MCP (HTTP diffusable)
{
  "mcpServers": {
    "localize": {
      "type": "http",
      "url": "https://uselocalize.dev/api/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Sécurité et confidentialité

Seul ce qui est nécessaire quitte votre machine.

Le serveur local est la CLI, exécutée sur votre machine, et seul ce qui doit être traduit va à l'API. Le serveur hébergé reçoit les fichiers qu'un agent envoie et les supprime lorsqu'il répond.

  • Fonctionne localement

    Le serveur fonctionne sur votre machine via stdio, démarré par votre agent. Rien à héberger ni port à ouvrir.

  • Chaînes, pas la source

    Seules les chaînes extraites sont envoyées à l'API, avec leur chemin de fichier et composant comme contexte. Les fichiers entiers ne sont jamais envoyés.

  • Reste dans son dossier

    Chaque outil fonctionne dans le dossier où le serveur a été démarré. Un argument d'application choisit une application dans un monorepo, jamais un chemin extérieur.

  • Rien de committé

    Les changements apparaissent dans votre arbre de travail. Le serveur ne commit ni ne pousse jamais, et les appels d'outils s'exécutent un par un.

FAQ

Questions sur le serveur MCP

Avec quels agents fonctionne-t-il?+

Tout client MCP qui démarre des serveurs sur stdio : Claude Code, Cursor, Codex, GitHub Copilot dans VS Code, Devin (anciennement Windsurf), Gemini CLI et autres. La configuration est la même commande : npx -y localize-dev mcp. Lovable, Bolt, v0 et autres constructeurs qui s'exécutent dans le navigateur se connectent au serveur hébergé à la place.

Comment l'agent sait-il quoi localiser dans ce qu'il écrit ?+

npx localize-dev init --agent le lui dit. Les instructions du serveur MCP, une section dans AGENTS.md et une règle Cursor lui demandent d'appeler localize sur les fichiers qu'il modifie. Dans Claude Code, un hook après édition vérifie également chaque fichier que l'agent modifie et liste tout texte non traduit, afin que l'agent le corrige avant de passer à autre chose.

Le hook utilise-t-il mon quota ?+

Non. Le hook lit seulement le fichier, sur votre machine, sans clé ni modèle. Les chaînes sont comptées lorsque l'agent appelle localize et qu'elles sont traduites, comme dans n'importe quelle exécution.

Ai-je besoin d'une clé API ?+

Sur votre machine, check et config n'en ont pas besoin. localize, translate et add_language traduisent via localize.dev, ils ont donc besoin de la clé de npx localize-dev login (ou LOCALIZE_API_KEY). Le serveur hébergé a besoin d'une clé pour chaque appel, bien que check et config ne comptent toujours pas dans votre forfait. Les traductions comptent dans votre forfait comme toute autre exécution.

Ai-je toujours besoin de l'action GitHub ?+

Non, ils fonctionnent seuls. Le serveur MCP localise pendant que vous compilez, et avec init --agent chaque fichier au fur et à mesure que l'agent l'écrit. L'Action maintient chaque push localisé et ouvre une pull request. Ils lisent le même localize.config.json et le même glossaire.

Va-t-il committer ou pousser mon code ?+

Le serveur ne le fait pas : il écrit des fichiers dans votre arbre de travail et retourne ce qu'il a changé. Ce que votre agent fait ensuite dépend de vous et des permissions de l'agent.

Est-ce que ça fonctionne dans un monorepo ?+

Oui. Chaque outil prend un argument app, comme apps/web, et fonctionne là-bas avec la configuration et les fichiers de localisation de cette app.

Puis-je l'utiliser sans exécuter quoi que ce soit sur ma machine?+

Oui, via le serveur hébergé sur https://uselocalize.dev/api/mcp. Connectez-le en tant que serveur HTTP Streamable, puis connectez-vous avec OAuth ou envoyez votre clé API en tant que jeton porteur. Chaque appel nécessite une clé ou une connexion, mais les vérifications et la configuration ne comptent toujours pas dans votre forfait.

Obtenez une clé API et ajoutez le serveur.

Le plan gratuit couvre les petites applications, et check s'exécute sur votre machine sans clé.