AI-powered translation for 48 languages with context-aware quality
Professional translation service client for Claude, Cursor, VS Code, Antigravity, and other AI IDEs using the Model Context Protocol (MCP).
npx @i18n-agent/mcp-client installThe installer will detect all available AI IDEs and configure them automatically.
For Claude Code users, you can install directly from the marketplace:
Step 1: Get your API key
Step 2: Set environment variable
echo 'export I18N_AGENT_API_KEY=your-api-key-here' >> ~/.zshrc
source ~/.zshrcReplace your-api-key-here with your actual API key.
Step 3: Install from marketplace
/plugin marketplace add i18n-agent/mcp-client
/plugin install i18n-agent@i18n-agentStep 4: Restart Claude Code
That's it! The plugin will automatically use your API key from the environment variable.
Get your API key from app.i18nagent.ai
Set environment variable:
export I18N_AGENT_API_KEY=your-api-key-hereMake it permanent (add to ~/.bashrc or ~/.zshrc):
echo 'export I18N_AGENT_API_KEY=your-api-key-here' >> ~/.zshrcRestart your AI IDE to load the new configuration
Translate "Hello, how are you?" to Spanish for a casual audience
Translate this JSON file to French, preserving the structure
Check my translation credits
List supported languages with quality ratings
Analyze "Hello world! This is a test." for translation to Spanish
| IDE | Status | macOS | Windows | Linux |
|---|---|---|---|---|
| Claude Desktop | ā Auto-configured | ~/Library/Application Support/Claude/ | %APPDATA%\Claude\ | ~/.config/Claude/ |
| Claude Code CLI | ā Auto-configured | ~/.claude.json | ~/.claude.json | ~/.claude.json |
| Cursor | ā Auto-configured | ~/.cursor/mcp_settings.json | ~/.cursor/mcp_settings.json | ~/.cursor/mcp_settings.json |
| VS Code | ā Auto-configured | ~/.vscode/mcp_settings.json | ~/.vscode/mcp_settings.json | ~/.vscode/mcp_settings.json |
| Codex (OpenAI) | ā Auto-configured | ~/.codex/mcp_settings.json | ~/.codex/mcp_settings.json | ~/.codex/mcp_settings.json |
| Antigravity (Google) | ā Auto-configured | ~/.gemini/antigravity/mcp_config.json | %USERPROFILE%\.gemini\antigravity\mcp_config.json | ~/.config/antigravity/mcp_config.json |
Note: The installer automatically detects your platform and uses the correct config paths.
| Format | Extension | Features |
|---|---|---|
| JSON | .json | Preserves structure, nested objects |
| YAML | .yaml, .yml | Maintains formatting, comments |
| CSV | .csv | Handles quoted fields, commas |
| XML/HTML | .xml, .html | Extracts text content |
| Markdown | .md | Preserves formatting, skips code |
| Properties | .properties | Java properties key-value pairs |
| Plain Text | .txt | Direct translation |
.pdf | Text extraction and translation | |
| Word | .docx, .doc | Document translation |
| Gettext | .po, .pot, .mo | Localization file formats |
If auto-installation fails, you can manually configure your IDE:
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"i18n-agent": {
"command": "node",
"args": ["/path/to/i18n-agent.js"],
"env": {
"MCP_SERVER_URL": "https://mcp.i18nagent.ai",
"I18N_AGENT_API_KEY": "your-api-key-here"
}
}
}
}Create .cursor/mcp_settings.json or .vscode/mcp_settings.json:
{
"mcpServers": {
"i18n-agent": {
"command": "node",
"args": ["/path/to/i18n-agent.js"],
"env": {
"MCP_SERVER_URL": "https://mcp.i18nagent.ai",
"I18N_AGENT_API_KEY": "your-api-key-here"
}
}
}
}skipWarnings: true to bypass warnings in automated workflowsPermission denied:
sudo npm install -g @i18n-agent/mcp-clientIDE not detected:
# Check if IDE directory exists
ls ~/Library/Application\ Support/Claude/
ls ~/.cursor/
ls ~/.vscode/"Failed" status in Claude Code:
This usually happens with Node Version Managers (nvm, fnm, n). The installer now automatically detects nvm and creates a wrapper script. If you still have issues:
Check your Node installation:
which node
# If output contains .nvm, you're using nvmManual wrapper script (if auto-detection fails):
Create ~/.claude/run-mcp.sh:
#!/bin/bash
export PATH="$(dirname $(which node)):$PATH"
cd ~/.claude
exec node node_modules/@i18n-agent/mcp-client/i18n-agent.jsMake it executable:
chmod +x ~/.claude/run-mcp.shUpdate Claude configuration:
Edit ~/.claude.json:
{
"mcpServers": {
"i18n-agent": {
"command": "/Users/YOUR_USERNAME/.claude/run-mcp.sh",
"env": {
"MCP_SERVER_URL": "https://mcp.i18nagent.ai",
"I18N_AGENT_API_KEY": "your-api-key"
}
}
}
}Restart Claude Code completely (not just close window, quit the app)
API Key not found:
echo $I18N_AGENT_API_KEY # Should show your key
export I18N_AGENT_API_KEY=your-key-hereConnection errors:
Translation quality:
The MCP client installer uses a modular architecture for bulletproof installation:
lib/
āāā config-manager.js # Config file operations with atomic writes
āāā installer-core.js # Installation orchestration
āāā transport-detector.js # Auto-detect SSE vs stdio transport
āāā validator.js # Input validation and sanitizationSee detailed documentation:
We welcome contributions! Please see our Contributing Guidelines.
git clone https://github.com/i18n-agent/mcp-client.git
cd mcp-client
npm install
npm testUse the publishing script with built-in test gate:
./scripts/publish-mcp-client.sh --dry-run # Preview package
./scripts/publish-mcp-client.sh # Run pre-publish checks
npm publish # Publish to npmMIT License - see LICENSE file for details.
Copyright (c) 2025 FatCouple OĆ
Translate text content with cultural adaptation and context awareness.
Parameters:
texts (array): Array of strings to translatetargetLanguage (string): Target language codetargetAudience (string): Target audience contextindustry (string): Industry contextnamespace (string, optional): Optional namespace identifier for backend tracking and project organizationsourceLanguage (string, optional): Source language (auto-detected if not provided)region (string, optional): Specific region for localizationskipWarnings (boolean, optional): Skip source text quality warnings (default: false). ā ļø WARNING: May hurt translation quality by bypassing source analysis. Only use when confident about content quality or in automated workflows.Translate files while preserving structure and format.
Parameters:
filePath or fileContent (string): File path or content to translatefileType (string): File format (json, yaml, xml, csv, txt, md, etc.)targetLanguage (string): Target language codenamespace (string, required): Unique namespace identifier for backend tracking and project organizationpreserveKeys (boolean): Whether to preserve object keys/structureoutputFormat (string): Output format (same, json, yaml, txt)skipWarnings (boolean, optional): Skip source text quality warnings (default: false). ā ļø WARNING: May hurt translation quality by bypassing source analysis. Only use when confident about content quality or in automated workflows.Analyze content for translation readiness and get improvement suggestions before translation. This helps identify potential issues and optimize content before spending credits on translation.
Parameters:
content (string/array/object): Content to analyzetargetLanguage (string): Target language for translationfileType (string, optional): File type if content is from a filesourceLanguage (string, optional): Source language (auto-detected)industry (string): Industry contexttargetAudience (string): Target audienceregion (string, optional): Specific region for localizationReturns:
Get list of all supported languages with quality ratings.
Parameters:
includeQuality (boolean): Include quality ratings (default: true)Check remaining translation credits and word count estimates.
Parameters:
apiKey (string): Your API keyCheck status of async translation jobs (for large files).
Parameters:
jobId (string): Job ID from async translationMade with ā¤ļø by FatCouple OĆ