Args
-
limitnumber límite opcional sobre el número de proyectos devueltos
Prompt de ejemplo
"Lista mis proyectos de Sonenta."
MCP
Sonenta incluye un servidor MCP nativo para que cualquier cliente compatible con MCP — Claude Desktop, Cursor, tu propio agente — pueda buscar claves, proponer traducciones, revisar PRs e inspeccionar la cola de claves faltantes. Dos líneas de config, tu token, listo.
En tu dashboard, ve a Org Settings → API Keys → Create. Asígnale el scope mcp:* (cubre las cinco herramientas de abajo). El secret se muestra una sola vez; copia la cadena completa vrb_live_<prefix>.<secret>.
Guárdala en el llavero del SO o en un .env local — nunca la commitees. La key está ligada a tu org (y opcionalmente a un proyecto); las llamadas fuera de ese scope devuelven 404. Revoca desde el dashboard cuando quieras; las keys revocadas devuelven 401 en la siguiente llamada.
El servidor MCP se publica en npm y Homebrew. Con npx no necesitas instalar nada — Claude Desktop tira de la última versión en cada arranque. Con brew obtienes un binario local fijado, útil tras firewalls estrictos.
npx (recomendado) 1// sin instalación — npx tira de la última @sonenta/mcp bajo demanda2npx -y @sonenta/mcp --version Homebrew (alternativa) Tap se publica en V1 1// opcional: instalar globalmente una vez — llega con el lanzamiento V12brew install sonenta/tap/sonenta-mcp Abre el archivo de config de Claude Desktop, añade la entrada verbumia bajo mcpServers, luego cierra y vuelve a abrir la 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} Tres variables de entorno en total: SONENTA_TOKEN (obligatoria), SONENTA_PROJECT (opcional — pre-fija un proyecto para que el agente no tenga que llamar a list_projects primero) y SONENTA_API_BASE (opcional — por defecto https://api.sonenta.com; sobrescríbela para 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.
Mismo JSON, archivo distinto. En Cursor, ponlo en .cursor/mcp.json (scope de proyecto) o ~/.cursor/mcp.json (scope de usuario). Para otros clientes, sigue la doc de configuración MCP de tu cliente — la entrada mcpServers.verbumia es idéntica.
.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 vez configurado, el agente dispone de estas herramientas. No las llamas por nombre — describe tu intención en el chat y el agente las elige. Los nombres de abajo son los identificadores canónicos, útiles al leer trazas del agente o construir agentes propios sobre el mismo servidor.
limit number límite opcional sobre el número de proyectos devueltos "Lista mis proyectos de Sonenta."
project_uuid string required "¿Qué idiomas y namespaces lleva el proyecto Checkout?"
project_uuid string required namespace string limita a un namespace (p. ej. "checkout") language_code string limita a un idioma (p. ej. "ja") cursor string cursor de paginación devuelto por una llamada previa limit number tamaño de página (default 20) "¿Qué claves de traducción faltan para ja en el namespace checkout?"
project_uuid string required key string required namespace string required language_code string required value string required "Propón \"Confirmer la commande\" para checkout.review.confirm en fr-CA."
project_uuid string required language_code string required payload object required mapa de traducciones con forma JSON i18next "Valida este archivo de traducción contra la fuente inglesa del proyecto."
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 herramientas disponibles. list_projects y devolver tus workspaces. ¿Atascado? Revisa los logs de Claude Desktop en ~/Library/Logs/Claude/mcp*.log (macOS). El 90% de los problemas son typos en el JSON o un token caducado.
Los nombres anteriores SONENTA_TOKEN y SONENTA_API_BASE (pre-0.4.0) siguen aceptándose como fallback; el SDK los lee en silencio si los canónicos no están definidos.