Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Find, add, push and pull an app's user-facing texts in locli (iOS, Android, web, backend).
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
LOCLI_TOKEN, LOCLI_CONFIG, LOCLI_API_URLLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"locli": {
"command": "npx",
"args": [
"-y",
"@locli/cli",
"mcp"
],
"env": {
"LOCLI_TOKEN": "your-value",
"LOCLI_CONFIG": "your-value",
"LOCLI_API_URL": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add locli --env LOCLI_TOKEN=your-value --env LOCLI_CONFIG=your-value --env LOCLI_API_URL=your-value -- npx -y @locli/cli mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"locli": {
"command": "npx",
"args": [
"-y",
"@locli/cli",
"mcp"
],
"env": {
"LOCLI_TOKEN": "your-value",
"LOCLI_CONFIG": "your-value",
"LOCLI_API_URL": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"locli": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@locli/cli",
"mcp"
],
"env": {
"LOCLI_TOKEN": "your-value",
"LOCLI_CONFIG": "your-value",
"LOCLI_API_URL": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
LOCLI_CONFIG envLOCLI_API_URL envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub mariohahn, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: LOCLI_TOKEN
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.1.11) llegó al registro ayer.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, EmbeddedCI BenchPod
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Drive a BenchPod hardware-in-the-loop bench: power, flash, UART, I2C, CAN, analog and logic.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
Put your app's user-facing texts into locli: push new texts, let a project owner approve a release, pull the approved translations. Built for coding agents, works for any stack: iOS String Catalogs, Android strings.xml, and JSON for web and backend. Node 18+, no dependencies.
npx @locli/cli init
init detects your text files and writes:
locli.json with the project slug, source language and one target per catalogAGENTS.md (and @AGENTS.md in an existing CLAUDE.md)--skill copies it to .agents/skills/locli/ (linked from .claude/skills/locli/)When you are logged in, init also creates the project with its languages and platforms. It is safe to rerun.
npx @locli/cli login
login opens the browser. You sign in, or create a free account, and approve the CLI. The token is stored per server in ~/.config/locli/credentials.json, readable only by you. In CI, set LOCLI_TOKEN instead. whoami shows the account; logout revokes the token.
receipt_import_title with a comment.npx @locli/cli push uploads only what locli lacks. It never overwrites existing texts. New keys from a Git feature branch are grouped as a feature.npx @locli/cli pull writes the latest approved release into your files.locli.json{
"project": "example-app", "sourceLanguage": "en", "targets": [ { "platform": "ios", "format": "xcstrings", "path": "App/Localizable.xcstrings" }, { "platform": "android", "format": "android-xml", "path": "app/src/main/res" }, { "platform": "web", "format": "json", "path": "messages/{locale}.json" } ] }
Every target has platform (ios, android, web or backend), format and path. Paths are relative to locli.json.
file; the default is strings.xml.{locale} in the path and take an optional keyPrefix.apiURL is optional; the default is https://locli.dev.The JSON schema is shipped as @locli/cli/schema/locli.json.
| Command | Effect | ||
|---|---|---|---|
login [--no-browser] / logout / whoami [--json] | Approve the CLI in the browser; revoke the token; show the account | ||
| `init [--name] [--slug] [--source LANG] [--target platform:format:path]… [--icon FILE \ | --no-icon] [--yes] [--no-agent-files]` | Detect catalogs, write the config and agent files, create the project and give it the app's icon | |
push [--dry-run] [--branch B] [--target platform] | Upload missing keys and values; never overwrites | ||
pull [--draft] [--release NAME] [--target platform] | Write the latest approved (or named) release | ||
status [--json] | Show languages, missing translations, open features, unreleased changes and glossary issues | ||
areas [--feature NAME] [--json] | List feature areas, or find the area a new feature's texts belong to | ||
context [--key KEY_OR_AREA] [--json] | Where each key is used in the code, as what (toolbar item, button, push notification …), and translations too long for it | ||
guide [--json] [--set FILE] | Show the translation guide (tone, glossary) and the texts that break it; --set replaces it | ||
keys normalize [--dry-run] [--no-code] | Rename dotted iOS/Android keys to lower_snake_case (adminDashboard.location → admin_dashboard_location) in locli, the String Catalog and the Swift code | ||
keys delete KEY… [--dry-run] [--json] | Delete keys that were never released, in locli and in every catalog from locli.json; released keys are refused and stay for the web editor | ||
| `community [--status S] [--locale CODE] [--accept ID \ | --reject ID \ | --hide ID]` | Suggestions from the project's public community catalog, the most voted first; accept, reject or hide one |
mcp | Start the MCP server on stdio |
Every command takes --api-url, --config and --help. Exit codes: 0 ok, 1 error, 2 usage error.
Environment variables:
LOCLI_TOKEN: the API token in CI.LOCLI_API_URL: the server.LOCLI_CONFIG: the path to locli.json.LOCLI_BRANCH: overrides the detected branch.The MCP server provides eleven tools:
locli_statuslocli_areaslocli_guidelocli_contextlocli_find_textslocli_add_textslocli_pushlocli_pulllocli_delete_keys (only keys that were never released)locli_community_suggestionslocli_community_reviewClaude Code: install the plugin (skill and MCP server in one), or add only the MCP server:
/plugin marketplace add mariohahn/locli
/plugin install locli@locli claude mcp add --scope project locli -- npx -y @locli/cli mcp
Cursor (.cursor/mcp.json) and other clients that use mcpServers:
{ "mcpServers": { "locli": { "command": "npx", "args": ["-y", "@locli/cli", "mcp"] } } }
Codex (~/.codex/config.toml):
[mcp_servers.locli]
command = "npx" args = ["-y", "@locli/cli", "mcp"]
, …) are skipped on push and left alone on pull.count or argN becomes a plural key. Other ICU messages are pushed as plain text.Agent guide: https://locli.dev/docs/agents.md · License: MIT