Skip to main content
Glama
gtrias

i18next MCP Server

by gtrias
README.md
# i18next MCP Server

[![npm version](https://badge.fury.io/js/i18next-mcp-server.svg)](https://badge.fury.io/js/i18next-mcp-server)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

A Model Context Protocol (MCP) server that provides translation management capabilities for i18next projects, enabling AI assistants like Cursor to directly interact with translation files.

## ๐Ÿš€ Quick Setup

The easiest way to use this MCP server is with npx. No installation required:

```bash
npx i18next-mcp-server@latest --help
```

## ๐Ÿ”ง Cursor Configuration

Add this to your Cursor MCP settings:

```json
{
  "mcpServers": {
    "i18next-translation": {
      "command": "npx",
      "args": ["-y", "i18next-mcp-server@latest"],
      "env": {
        "I18N_PROJECT_ROOT": "/path/to/your/project",
        "I18N_LOCALES_PATH": "public/locales",
        "I18N_DEFAULT_LANGUAGE": "en",
        "I18N_SUPPORTED_LANGUAGES": "en,es,fr"
      }
    }
  }
}
```

For detailed setup instructions, see [CURSOR_SETUP.md](./CURSOR_SETUP.md).

## ๐Ÿ“ Expected Project Structure

```
your-project/
โ”œโ”€โ”€ public/locales/          # Translation files
โ”‚   โ”œโ”€โ”€ en/
โ”‚   โ”‚   โ”œโ”€โ”€ common.json
โ”‚   โ”‚   โ””โ”€โ”€ navigation.json
โ”‚   โ”œโ”€โ”€ es/
โ”‚   โ”‚   โ”œโ”€โ”€ common.json
โ”‚   โ”‚   โ””โ”€โ”€ navigation.json
โ”‚   โ””โ”€โ”€ ...
โ””โ”€โ”€ src/                     # Your source code
```

## ๐Ÿ› ๏ธ Available Tools

### Core Tools
- **`get_project_info`** - Get project configuration and statistics
- **`health_check`** - Analyze translation file health and completeness
- **`scan_code_for_missing_keys`** - Find missing translation keys in your code

### Key Management
- **`add_translation_key`** - Add new translation keys
- **`sync_missing_keys`** - Sync missing keys between languages
- **`get_missing_keys`** - List missing keys by language

### File Operations
- **`list_files`** - List all translation files
- **`validate_files`** - Validate JSON syntax
- **`export_data`** - Export translations to various formats

### Analysis
- **`coverage_report`** - Translation coverage statistics
- **`usage_analysis`** - Find unused translation keys
- **`quality_analysis`** - Analyze translation quality

## ๐Ÿ”ง Environment Variables

| Variable | Description | Default |
|----------|-------------|---------|
| `I18N_PROJECT_ROOT` | Your project root directory | Current directory |
| `I18N_LOCALES_PATH` | Path to translation files | `public/locales` |
| `I18N_DEFAULT_LANGUAGE` | Source language | `en` |
| `I18N_SUPPORTED_LANGUAGES` | Comma-separated language codes | `en` |

## ๐Ÿงช Development

```bash
git clone https://github.com/gtrias/i18next-mcp-server.git
cd i18next-mcp-server
npm install
npm run build
npm test
```

## ๐Ÿ“ License

MIT License - see [LICENSE](LICENSE) for details.

## ๐Ÿ”— Links

- [Setup Guide](./CURSOR_SETUP.md)
- [Contributing](./CONTRIBUTING.md)
- [Issues](https://github.com/gtrias/i18next-mcp-server/issues)

TDQS

C2.9/5.0

Scored across 14 tools

Disambiguation2/5

Multiple sync tools (sync_missing_keys, sync_from_source, sync_all_missing) have nearly identical descriptions, making it difficult to choose between them. health_check, quality_analysis, and validate_files also overlap somewhat in their focus on analyzing file health.

Naming Consistency3/5

All tool names use snake_case, but the pattern is inconsistent: some are verb_noun (get_project_info, list_files, add_translation_key) while others are noun-based (health_check, quality_analysis, coverage_report). The three sync tools are confusingly similar in naming.

Tool Count4/5

14 tools is within the typical 3-15 range and appropriate for the scope of i18next translation management. However, the redundant sync tools could be consolidated, making the count feel slightly padded.

Completeness2/5

The toolset lacks basic update and delete operations for translation keys, and there is no import functionality. It is heavily skewed toward analysis and adding missing keys, leaving gaps in the full lifecycle management of translations.

Maintenance

ActivityInactive
ResponsivenessNo issues