Référence CLIverbatra mcpnew

verbatra mcp

Démarre le serveur MCP en stdio qui expose les outils de verbatra à n'importe quel client MCP.

Page traduite automatiquement

Cette page a été traduite automatiquement, elle peut donc contenir des erreurs ou sonner un peu bizarrement. La version anglaise est la référence. Lire l'original en anglais.

Démarre un serveur Model Context Protocol en stdio : le transport standard en processus local que les clients MCP (Claude Desktop, Claude Code, Cursor et d'autres) utilisent pour lancer un serveur d'outils et lui parler. Il donne à un agent hébergé dans un terminal ou headless les mêmes capacités de statut de traduction, de glossaire et d'édition que les outils d'agent navigateur de Studio exposent, sans navigateur, sans port et sans application monopage servie.

Disponible à partir de @verbatra/mcp 0.2.0

Ceci nécessite @verbatra/mcp 0.2.0 ou plus récent. Les versions antérieures ne l'ont pas, alors mets à jour ce paquet si le tien est plus ancien.

Synopsis

verbatra mcp [flags]

@verbatra/mcp fournit aussi son propre binaire, donc un client MCP peut le lancer directement sans passer par la CLI verbatra :

verbatra-mcp [flags]

Les deux formes acceptent les mêmes options et démarrent le même serveur.

Options

OptionArgumentPar défautEffet
--cwd<path>répertoire courantrésout la config et les fichiers de locale depuis ce répertoire
--config<path>en cherche uncharge ce fichier de config au lieu d'en chercher un
--allow-spendaucundésactivéexpose les deux outils qui appellent un fournisseur de traduction

Quand --allow-spend est absent, le serveur lit à la place la variable d'environnement VERBATRA_MCP_ALLOW_SPEND : 1, true, yes ou on (insensible à la casse) compte comme activé. L'option de la CLI l'emporte toujours sur la variable d'environnement. Sans les deux, translation.retranslateEntry et translation.translatePending ne sont pas exposés du tout : un client MCP qui liste les outils ne les voit jamais, et les appeler par leur nom échoue comme un outil inconnu. C'est une garantie par processus, pas une vérification par appel, donc un outil verrouillé par la dépense est structurellement impossible à appeler, pas simplement refusé au moment de l'appel.

Configurer un client MCP

Pointe ton client MCP vers le binaire verbatra-mcp. Pour Claude Desktop, ajoute ceci à ton claude_desktop_config.json :

{
  "mcpServers": {
    "verbatra": {
      "command": "npx",
      "args": ["-y", "@verbatra/mcp", "--cwd", "/path/to/your/project"],
      "env": {
        "ANTHROPIC_API_KEY": "your-api-key-here"
      }
    }
  }
}

Omets complètement le bloc env et son --allow-spend pour un serveur en lecture seule et édition locale uniquement : project.snapshot, les outils de statut et de glossaire, et translation.editEntry n'appellent jamais de fournisseur et n'ont besoin d'aucune clé. Ajoute --allow-spend au tableau args dès que tu veux aussi translation.retranslateEntry et translation.translatePending disponibles, et définis la variable d'environnement de clé API que lit ton fournisseur configuré (voir Fournisseurs).

Si tu invoques déjà tout via la CLI verbatra, lance-le plutôt comme sous-commande :

{
  "mcpServers": {
    "verbatra": {
      "command": "npx",
      "args": ["-y", "@verbatra/cli", "mcp", "--cwd", "/path/to/your/project"]
    }
  }
}

Outils

OutilCe qu'il faitLecture seuleAppelle un fournisseur
project.snapshotconfig résolue : locale source, locales cibles, format, id du fournisseur, origine de la config, indicateur de glossaireouinon
status.checknombre de clés manquantes, obsolètes et à jour par localeouinon
status.diffliste par locale des clés qui seraient ajoutées, retraduites ou orphelinesouinon
glossary.getchaque terme du glossaire et sa traduction, expurgé des secretsouinon
glossary.writeajoute, remplace ou supprime un terme du glossairenonnon
lock.stateversion du fichier de verrouillage et taille de la référence par localeouinon
key.integritydérive des placeholders et ICU d'une clé par rapport à la référence du lock, par locale (ne vérifie que les clés dont le texte source a changé depuis la référence ; un tableau entries vide signifie vérifiée et inchangée)ouinon
key.valuetexte source et cible actuel d'une cléouinon
translation.editEntryécrit une traduction manuelle pour une clé dans une locale, vérifiée par la porte d'intégrité des placeholders et ICUnonnon
translation.retranslateEntrydemande au fournisseur configuré de retraduire une clé dans une localenonoui
translation.translatePendingtraduit chaque clé manquante ou obsolète dans toutes les locales ciblesnonoui
review.queueclés que la dernière exécution a signalées pour une revue humaine, et pourquoiouinon
usage.summaryusage de tokens et statut du budget de la dernière exécutionouinon

translation.retranslateEntry et translation.translatePending ne sont exposés que lorsque le serveur a été démarré avec --allow-spend. L'entrée de chaque outil, et la sortie de chaque outil dont la forme de résultat est petite et fermée, est un schéma JSON dérivé du même schéma zod contre lequel le serveur valide l'appel. Appeler un nom d'outil inconnu est une erreur au niveau du protocole ; appeler un outil connu avec une entrée qui échoue à la validation renvoie un résultat qui nomme le champ fautif, pour qu'un agent puisse lire l'échec et se corriger lui-même.

Expurgation des secrets

Chaque résultat d'outil et chaque ligne de log passe par la même expurgation des secrets que Studio utilise : une valeur ayant la forme d'une clé API de fournisseur, ou la valeur exacte actuelle d'une variable d'environnement de fournisseur configurée, est remplacée par [REDACTED] avant même d'atteindre le client ou stderr. glossary.get et glossary.write signalent aussi quels termes ont été expurgés, pour que tu puisses distinguer un espace réservé expurgé du vrai texte et ne jamais le réécrire.

stdout est le canal du protocole

Le transport stdio de MCP utilise stdout exclusivement pour les messages du protocole. verbatra mcp et verbatra-mcp n'impriment jamais de bannière, de ligne de log ni rien d'autre sur stdout ; tous les logs et diagnostics vont sur stderr à la place. Rien n'est imprimé du tout tant qu'un client MCP n'a pas envoyé le premier message.

Installation

@verbatra/mcp est son propre paquet, chargé via un import dynamique pour que le reste de la CLI fonctionne sans lui. S'il n'est pas installé, verbatra mcp termine avec 2 :

Verbatra's MCP server requires @verbatra/mcp. Install it with: pnpm add -D @verbatra/mcp

Lancer verbatra-mcp directement ne nécessite aucune CLI : installe @verbatra/mcp seul, ou laisse npx le récupérer à la demande comme montré ci-dessus.

Exemples

# démarre le serveur MCP avec seulement les outils locaux, sans dépense
verbatra mcp

# expose en plus les outils qui appellent le fournisseur
verbatra mcp --allow-spend

# résout un projet en dehors du répertoire courant
verbatra mcp --cwd /path/to/project --config verbatra.config.ts

Codes de sortie

CodeSignification
0arrêté proprement par une seule interruption (Ctrl-C, ou SIGTERM)
1l'arrêt a échoué : fermer le serveur a levé une erreur pendant l'arrêt
2n'a pas pu démarrer : une erreur de config, @verbatra/mcp non installé, ou une erreur d'utilisation
130arrêté de force par une seconde interruption pendant l'arrêt

Voir aussi

Edit on GitHub