Args
-
limitnumber limite opzionale sul numero di progetti restituiti
Prompt di esempio
"Elenca i miei progetti Sonenta."
MCP
Sonenta include un server MCP nativo così che qualsiasi client MCP-compatibile — Claude Desktop, Cursor, il tuo agente — possa cercare chiavi, proporre traduzioni, revisionare PR e ispezionare la coda delle chiavi mancanti. Due righe di config, il tuo token, fatto.
Nella tua dashboard, vai a Org Settings → API Keys → Create. Assegnale lo scope mcp:* (copre tutti e cinque i tool sotto). Il secret è mostrato una volta sola; copia l'intera stringa vrb_live_<prefix>.<secret>.
Conservala nel keychain del tuo OS o in un .env locale — non committarla mai. La key è legata alla tua org (e opzionalmente a un progetto); le chiamate fuori scope restituiscono 404. Revoca dalla dashboard quando vuoi; le key revocate rispondono 401 alla chiamata successiva.
Il server MCP è pubblicato su npm e Homebrew. Con npx non devi installare nulla — Claude Desktop tira l'ultima versione a ogni avvio. Con brew ottieni un binario locale fissato, utile dietro firewall restrittivi.
npx (consigliato) 1// nessuna installazione — npx tira l'ultimo @sonenta/mcp on demand2npx -y @sonenta/mcp --version Homebrew (alternativa) Tap pubblicato al lancio V1 1// opzionale: installa globalmente una volta — arriva al lancio V12brew install sonenta/tap/sonenta-mcp Apri il file di config di Claude Desktop, aggiungi la voce verbumia sotto mcpServers, poi chiudi e rilancia l'app.
claude_desktop_config.json 1// macOS: ~/Library/Application Support/Claude/claude_desktop_config.json2// Windows: %APPDATA%/Claude/claude_desktop_config.json3{4 "mcpServers": {5 "sonenta": {6 "command": "npx",7 "args": ["-y", "@sonenta/mcp"],8 "env": {9 "SONENTA_API_KEY": "vrb_live_<prefix>.<secret>",10 "SONENTA_PROJECTS": "<uuid1>,<uuid2>"11 }12 }13 }14} Tre variabili d'ambiente in totale: SONENTA_TOKEN (obbligatoria), SONENTA_PROJECT (opzionale — pre-imposta un progetto così l'agente non deve chiamare prima list_projects) e SONENTA_API_BASE (opzionale — default https://api.sonenta.com; sovrascrivi per self-hosted o staging).
SONENTA_PROJECTS requires @sonenta/mcp ≥ 0.11.0. On older releases, see Backwards compatibility below.
When SONENTA_PROJECTS lists more than one UUID, the agent can't infer which project you mean — every tool call must include project_uuid. With a single UUID (or only the legacy SONENTA_PROJECT set), it's optional and defaults to that project.
tools/call arguments 1// list_missing_keys — project_uuid is REQUIRED when SONENTA_PROJECTS lists more than one UUID2{3 "name": "list_missing_keys",4 "arguments": {5 "project_uuid": "<uuid1>",6 "namespace": "checkout",7 "language_code": "ja"8 }9} Phrase your prompt with the project in mind (« in the Checkout project, list missing keys for ja ») — the agent will resolve the project to its UUID and pass project_uuid on the tool call. For ambiguous prompts across multiple projects, the agent will call list_projects first.
Stesso JSON, file diverso. In Cursor, mettilo in .cursor/mcp.json (scope progetto) o ~/.cursor/mcp.json (scope utente). Per altri client, segui la doc di configurazione MCP del tuo client — la voce mcpServers.verbumia è identica.
.cursor/mcp.json 1// .cursor/mcp.json (project-scoped) or ~/.cursor/mcp.json (user-scoped)2{3 "mcpServers": {4 "sonenta": {5 "command": "npx",6 "args": ["-y", "@sonenta/mcp"],7 "env": { "SONENTA_API_KEY": "vrb_live_<prefix>.<secret>" }8 }9 }10} Una volta configurato, l'agente ha questi tool a disposizione. Non li chiami per nome — descrivi la tua intenzione in chat e l'agente sceglie. I nomi sotto sono gli identificatori canonici, utili per leggere le tracce dell'agente o costruire agenti custom sopra lo stesso server.
limit number limite opzionale sul numero di progetti restituiti "Elenca i miei progetti Sonenta."
project_uuid string required "Quali lingue e namespace ship il progetto Checkout?"
project_uuid string required namespace string limita a un namespace (es. "checkout") language_code string limita a una lingua (es. "ja") cursor string cursor di paginazione restituito da una chiamata precedente limit number dimensione pagina (default 20) "Quali chiavi di traduzione mancano per ja nel namespace checkout?"
project_uuid string required key string required namespace string required language_code string required value string required "Proponi \"Confirmer la commande\" per checkout.review.confirm in fr-CA."
project_uuid string required language_code string required payload object required mappa di traduzioni in forma JSON i18next "Valida questo file di traduzione contro la sorgente inglese del progetto."
You pay when an agent mutates your project, not when it observes it. Reads and listings are free; writes burn one unit; bulk and AI-assisted ops scale with the work they do.
list_missing, list_keys, get_translation, search, plus auth / discover / meta. Browse the missing-key queue all day — it never touches your quota.
Each set / create / update / delete on a key or translation costs one unit, regardless of payload size.
Multi-key endpoints (e.g. acknowledge) bill per key touched: a 50-key acknowledge debits 50 units, with rollback on partial-reject.
Calls that invoke an LLM (auto-translate, AI Quality Review, suggest) bill 5 units per call. Higher weight reflects model cost.
Monthly quota, hard per-minute rate, concurrent MCP sessions, and whether writes are allowed. The same numbers feed the X-MCP-Quota-Remaining header on every response.
| Plan | Units / month | Rate | Sessions | Writes |
|---|---|---|---|---|
| Free | NaN | NaNreq/min | NaN | blocked |
| Hobby | NaN | NaNreq/min | NaN | blocked |
| Pro | NaN | NaNreq/min | NaN | blocked |
| Team | NaN | NaNreq/min | NaN | blocked |
Over the per-minute rate → 429 mcp_rate_limited with Retry-After (seconds). Over the monthly quota → 429 mcp_quota_exceeded with Retry-After set to the rollover. Free plan writes → 403 mcp_writes_disabled. Quotas reset on the 1st of each calendar month, UTC.
verbumia con 5 tool disponibili. list_projects e restituire i tuoi workspace. Bloccato? Controlla i log di Claude Desktop in ~/Library/Logs/Claude/mcp*.log (macOS). Il 90% dei problemi sono typo nel JSON o un token scaduto.
I nomi pre-0.4.0 SONENTA_TOKEN e SONENTA_API_BASE sono ancora accettati come fallback; l'SDK li legge in silenzio se i nomi canonici non sono impostati.