@i18n-agent/mcp-client
v1.16.3
Published
๐ i18n-agent MCP Client - 48 languages, AI-powered translation for Claude, Claude Code, Cursor, VS Code, Codex. Get API key at https://app.i18nagent.ai
Downloads
2,496
Maintainers
Readme
๐ i18n-agent MCP Client
Professional translation service client for Claude, Cursor, VS Code, Antigravity, and other AI IDEs using the Model Context Protocol (MCP).
โจ Features
- ๐ฏ Smart Translation: Context-aware translations with cultural adaptation
- ๐ File Translation: Support for JSON, YAML, CSV, XML, Markdown, and more
- โก Large File Support: Async processing for files >50KB with progress tracking
- ๐ Timeout Improvements: Extended timeouts (5-10 min) for large translations
- ๐ Progress Tracking: Real-time job status and completion monitoring
- ๐ฐ Credit Tracking: Real-time credit balance and word count estimates
- ๐ 48 Languages: Comprehensive language support with regional variants
- ๐ง Easy Setup: One-command installation for major AI IDEs
๐ Quick Installation
npx @i18n-agent/mcp-client installThe installer will detect all available AI IDEs and configure them automatically.
Claude Code Marketplace Installation
For Claude Code users, you can install directly from the marketplace:
Step 1: Get your API key
- Visit app.i18nagent.ai
- Sign up or log in
- Copy your API key (starts with "i18n_")
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.
๐ Setup API Key
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
๐ฎ Usage Examples
Text Translation
Translate "Hello, how are you?" to Spanish for a casual audienceFile Translation
Translate this JSON file to French, preserving the structureCredit Check
Check my translation creditsLanguage Support
List supported languages with quality ratingsContent Analysis
Analyze "Hello world! This is a test." for translation to Spanish๐ Supported AI IDEs
| 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.
๐ Language Support (48 Languages)
- bg: Bulgarian
- ca: Catalan
- cs: Czech
- da: Danish
- de: German
- el: Greek
- en: English
- en-AU: English (Australia)
- en-CA: English (Canada)
- en-GB: English (United Kingdom)
- en-US: English (United States)
- es: Spanish
- es-MX: Spanish (Mexico)
- et: Estonian
- fi: Finnish
- fr: French
- fr-CA: French (Canada)
- hi: Hindi
- hr: Croatian
- hu: Hungarian
- id: Indonesian
- is: Icelandic
- it: Italian
- ja: Japanese
- ko: Korean
- lt: Lithuanian
- lv: Latvian
- ms: Malay
- nl: Dutch
- no: Norwegian
- pl: Polish
- pt: Portuguese
- pt-BR: Portuguese (Brazil)
- ro: Romanian
- ru: Russian
- sk: Slovak
- sl: Slovenian
- sr: Serbian
- sv: Swedish
- th: Thai
- tl: Filipino
- tr: Turkish
- uk: Ukrainian
- vi: Vietnamese
- zh-Hans: Chinese (Simplified)
- zh-Hant-HK: Chinese (Traditional, Hong Kong)
- zh-Hant-TW: Chinese (Traditional, Taiwan)
๐ Supported File Formats
| 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 | .pdf | Text extraction and translation |
| Word | .docx, .doc | Document translation |
| Gettext | .po, .pot, .mo | Localization file formats |
๐ง Manual Setup
If auto-installation fails, you can manually configure your IDE:
Claude Desktop
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"
}
}
}
}Cursor / VS Code
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"
}
}
}
}๐ก Usage Tips
Translation Context
- Target Audience: Specify "technical", "casual", "formal", or "general"
- Industry Context: Use "technology", "healthcare", "finance", "education"
- Regional Variations: Add regions like "Spain", "Mexico", "Brazil"
File Translation
- Preserve Structure: Keeps original file format and structure
- Output Format: Convert between formats (JSON โ YAML โ CSV)
- Large Files: Automatically chunks large files for processing
- Async Processing: Files >50KB processed asynchronously with job tracking
- Progress Monitoring: Real-time status updates for long-running translations
- Timeout Resilience: Up to 10 minutes for large translation jobs
Large Translation Handling
- Async Processing: >100 texts or >50KB files processed asynchronously
- Job Tracking: Unique job IDs for monitoring long-running translations
- Progress Updates: Real-time completion percentages and status
- Extended Timeouts: 5-10 minute timeouts prevent interruptions
- Automatic Polling: Client automatically polls for job completion
Credit Management
- Cost: 1 credit per word ($0.01/word)
- Monitoring: Check balance before large translations
- Estimates: Get word count estimates before translation
Quality Warnings
- Source Analysis: By default, source content is analyzed for quality issues before translation
- Skip Warnings: Use
skipWarnings: trueto bypass warnings in automated workflows - Trade-off: Skipping warnings may reduce translation quality as potential issues aren't addressed
- Best Practice: Keep warnings enabled (default) for production translations
๐จ Troubleshooting
Installation Issues
Permission 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/MCP Connection Issues
"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)
Runtime Issues
API Key not found:
echo $I18N_AGENT_API_KEY # Should show your key
export I18N_AGENT_API_KEY=your-key-hereConnection errors:
- Check your internet connection
- Verify API key is valid
- Try again after a few seconds
Translation quality:
- Use Tier 1 languages for production
- Add context with industry/audience parameters
- Review Tier 2/3 translations manually
๐ Pricing
- Pay-per-use: 1 credit per word ($0.01/word)
- No subscriptions: Only pay for what you translate
- Bulk discounts: Available for enterprise usage
- Free tier: New accounts get starter credits
๐ Privacy & Security
- No data storage: Translations are processed in real-time
- Encrypted transport: All data sent over HTTPS
- API key security: Keys are stored locally, never transmitted in logs
- GDPR compliant: EU privacy standards
๐๏ธ Architecture
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 sanitizationKey Features
- Atomic Config Writes: Use temp files + rename for crash safety
- Automatic Backups: Create timestamped backups before modifications
- Transport Detection: Auto-detect SSE vs stdio from config
- Comprehensive Validation: Validate all inputs at module boundaries
- Zero External Dependencies: Uses only Node.js built-ins
Architecture Details
See detailed documentation:
- Module Architecture - Module responsibilities and design
- Full Architecture Guide - Complete system design
๐ค Contributing
We welcome contributions! Please see our Contributing Guidelines.
Development Setup
git clone https://github.com/i18n-agent/mcp-client.git
cd mcp-client
npm install
npm testPublishing
Use 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 npm๐ License
MIT License - see LICENSE file for details.
Copyright (c) 2025 FatCouple Oร
๐ Links
- Website: i18nagent.ai
- Dashboard: app.i18nagent.ai
- Documentation: docs.i18nagent.ai
- GitHub: github.com/i18n-agent/mcp-client
- Issues: github.com/i18n-agent/mcp-client/issues
๐ Support
- Email: [email protected]
- Documentation: docs.i18nagent.ai
๐ง Available MCP Tools
translate_text
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_file
Translate files while preserving structure and format.
Parameters:
filePathorfileContent(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
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 localization
Returns:
- Source language detection with confidence score
- Content type and tone analysis
- Translation readiness score (0-100)
- Specific improvement suggestions
- Quality metrics and issues
- Warnings for potential problems
- Estimated credits required
list_supported_languages
Get list of all supported languages with quality ratings.
Parameters:
includeQuality(boolean): Include quality ratings (default: true)
get_credits
Check remaining translation credits and word count estimates.
Parameters:
apiKey(string): Your API key
check_translation_status
Check status of async translation jobs (for large files).
Parameters:
jobId(string): Job ID from async translation
Made with โค๏ธ by FatCouple Oร
