i18n
MCP server for handling i18n JSON files
claude mcp add --transport stdio reinier-millo-i18n-mcp-server node <base-path>/i18n-mcp/dist/mcp_server.js
How to use
The i18n MCP Server provides an interface to generate and manage internationalization translations directly from a base language JSON file. It leverages language models to translate content on demand and supports incremental translation across multiple target languages. Designed to work with the Cursor IDE via stdio transport, it can also be consumed by any client that speaks the same protocol. The server exposes tools to load a base language file, split the text into chunks, translate those chunks into multiple languages, update in-memory translations, and save per-language JSON files. To use it, start the MCP server within your environment and configure Cursor (or a compatible client) to communicate with it through the specified stdio channel. You can choose a translation model, trigger chunk-based translations, and progressively build complete translations for all supported languages.
In practice, you will interact with the server to perform tasks such as obtaining the base language and the list of supported languages, requesting chunks of strings to translate, translating those chunks for each target language while preserving order and placeholders, updating translations in memory, and finally persisting the translations to language-specific files. The workflow is designed to be incremental and resilient in typical development pipelines, with guidance on resuming interrupted tasks when needed.
How to install
Prerequisites:
- Node.js (LTS) installed on your system
- A working Git environment
- Access to the repository containing the i18n MCP Server
Installation steps:
- Clone the repository:
git clone <repository-url>
cd <repository-directory>
- Install dependencies (pnpm recommended, but npm/yarn also work):
pnpm install # or npm install or yarn install
- Build the server (if applicable):
pnpm run build # or npm run build
- Run the MCP server locally (example):
node dist/mcp_server.js
- Configure Cursor MCP to point to the server by editing the Cursor settings and adding an MCP entry with:
{
"mcpServers": {
"i18n-translation-server": {
"command": "node",
"args": ["<base-path>/i18n-mcp/dist/mcp_server.js"]
}
}
}
- Ensure the server is reachable by Cursor and begin using the provided tools to load a base language file, request translation chunks, and save per-language translations.
Additional notes
Tips and considerations:
- The server is designed to translate from a single base language into multiple target languages. Ensure your base file is well-formed JSON and includes all keys you want translated.
- When using Cursor, you can optimize token usage by translating one language at a time as noted in testing notes.
- If a translation flow is interrupted (e.g., due to tool call limits), you can resume from the last chunk by reissuing the read chunk request and proceeding with translation updates.
- Maintain a consistent file structure for base and translated language files to simplify loading and saving translations.
- If you modify the base language file, you’ll typically need to regenerate translations for all target languages unless your workflow supports incremental updates for missing keys only.
- Placeholder tokens and formatting (e.g., {0}, {{name}}) should be preserved during translation to avoid breaking UI strings.
- Review environment variables for model configuration, rate limits, and storage paths as part of your deployment configuration.
Related MCP Servers
iterm
A Model Context Protocol server that executes commands in the current iTerm session - useful for REPL and CLI assistance
mcp
Octopus Deploy Official MCP Server
furi
CLI & API for MCP management
editor
MCP Server for Phaser Editor
DoorDash
MCP server from JordanDalton/DoorDash-MCP-Server
mcp
MCP сервер для автоматического создания и развертывания приложений в Timeweb Cloud