About π i18n MCP Server
i18n MCP Server helps developers maintain JSON localization files by generating translations in chunks from a base-language file and saving them to language-specific files. It works through MCP tools with clients such as Cursor Agent, using the selected model for translation.
Key features
- 01Generate translations from a base file
- 02Retrieve text chunks for translation
- 03Cache translations and write language files
- 04Translate with the selected model
Use cases
- 01Add language files to an application
- 02Translate base-language text in chunks
- 03Save generated JSON translations
MCP support
This MCP server uses stdio with clients such as Cursor IDE. Its tools read the base-language file, retrieve text chunks, cache translations, and save language files.
Configuration
Local server config is the same for every client. Copy it into your clientβs MCP config file.
We havenβt collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEπ i18n MCP Server
i18n MCP Server is a powerful tool for managing internationalization (i18n) in your projects. It streamlines the process of translating JSON-based language files by allowing you to use powerful language models to generate translations directly from a base language file β all through a convenient server interface.
The MCP server is intended to work with the Cursor IDE using stdio transport. It should also work properly with any client that supports stdio transport.
π‘ Why i18n MCP Server?
- Save hours of manual translation work
- Keep your i18n files consistent and up to date
- Eliminate repetitive copy/paste tasks when scaling your app globally.
π Features
π Multi-language support
Automatically generate translations in multiple languages from a single base language file.
π€ Translate using models on Cursor
You don't need to pay for additional translation services. Select the translation model you want to use and generate translations on demand.
β‘ Effortless workflow
No need to manually duplicate or edit JSON files β just send a request and get translated files ready to use.
π οΈ Developer-friendly
Built with simplicity and speed in mind for seamless integration into development pipelines.
Working flow
This MCP server helps with incremental translation of JSON files. It provides simple tools to:
- Get the base language file with all texts in a single language and the set of supported languages.
- Get chunks of strings to translate. Each chunk will be a list of texts separated by new lines.
- Update generated translations in the memory cache.
- Save translations to language-specific JSON files.
π¦ Installation and configuration
- Clone the repository
git clone
- Install dependencies:
pnpm install # or npm/yarn
- Build the server:
pnpm run build
- Configure the MCP server on Cursor
Navigate to Cursor Settings / MCP and click to add a new MCP server. In the opened JSON, include the server
definition:
{
"mcpServers": {
...
"i18n-translation-server": {
"command": "node",
"args": ["<base-path>/i18n-mcp/dist/mcp_server.js"]
},
...
}
}
You will need to replace <base-path> with the correct absolute path to the compiled server.
π€ Usage
Once the MCP server is running, you can use the Cursor Agent to interact with the server tools. For example:
We are preparing the i18n files for a project and have a base language file. Using the following data, execute the
proposed tasks to prepare the additional required languages.
Base JSON language file: <absolute path to the base language file>
Base language: <base language>
Supported languages: <comma-separated list of supported languages>
These are the tasks that we need to perform:
1. Clear the previous data
2. Read the base JSON language file
3. Get the next chunk
4. For each language in the supported languages, do the following subtasks:
4.1. Translate all items in the chunk from the base language to the target language. Ensure that the order is
preserved and that any i18n string parameters are respected.
4.2. Update the translations for the language
5. Repeat from task 3 until the next chunk does not return any data.
6. After processing all chunks, save translations for each supported language.
This request will generate a JSON file for each language in the same folder as the base JSON language file. The current
version was tested using gpt-4.1 and a chunk size of 250 entries. For other models, this value may need to be
adjusted due to token limits. Another issue that may occur is that the flow can sometimes be interrupted between steps
5 and 6, requiring manual resumption due to the 25 tool call restriction in Cursor.
This is just a proposed task request, but new ones can be written by chaining the defined tools.
During testing, we noted that language files are generated faster when generating a single language per request, instead of all at once. Additionally, the response time will depend on the model used.
π Future Plans
- Support for multiple caches
- Language file integrity check
- Support dynamic chunk size
- Translation only for missing entries
- Translation only for specific items
- Version tracking for language files
- Better local cache for translations
π Contributing
Pull requests and issues are welcome! Let's build a better translation workflow together.
π License
This project is licensed under the GNU Affero General Public License v3.0. See the LICENSE file for details.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.