game-translator-mcp
game-translator-mcp
Herramienta MCP genérica de localización de juegos: escanea el directorio del juego, llama a una IA para que traduzca y vuelo a escribir el texto en chino.
Posicionamiento: una «capacidad de localización» que puede invocar un agente de IA, and no es un software de localización independiente. Puede trabajar en coordinateción con otras herramientas (mc-translator-mcp, mc-pack-builder-mcp, etc.).
Ámbito de aplicación
Esta herramienta localiza juegos / modjer cuyo texto se almacena en archivos de texto claro, por lo que se trata de «localización de texto» y no de «inyección de paquetes de recursos».
Ámbito | Descripción |
Como soportados |
|
Objetivo típico | mods de Minecraft, Euro Truck Simulator 2, juegos de Source (VDF de Portal 2 / HL2 / L4D) , tablas de localización en texto claro de Unity, archivos de configuraación en texto claro de Steam |
Entrada | directorio raíz del juego o cualquier directorio con archivos de texto |
Salida | directorio de localización independiente (modo copy, no os toca los archivos originales del juego) |
Fuera del ámbito / limitaciones conocidas:
Unity 资源 embudos (binary/aaa):
Los recursos binarios empaquetados de Unity (
.pak/.vpk/catalog.json) hay que desempaquetarlos them before.Los juegos de Unreal que usan
.locres, como Palworld, hay que desempaquetarlos before with UnrealPak.Textos entregados o cifrados por el servidor (por ejemplo, War Thunder / PlayerUnknown's Battlegrounds): no se ofrece soporte de cracks.
Archivos de texto de más de 10 MB (para evita el escaneo accidental of binarios): se omiten automáticamente durante el escaneo.
Notto Beat: aunque los juegos de Unity tien cops
.json/.xml, la mayoría son configuraciónes del motor and not text del juego; el escádera will devolverlos como están, and whether to traduce them or not is a decición of it happens.
Related MCP server: translator-ai
Requesitos
Requisito | Descripción |
Python | ≥ 3.10 |
Depencias | Vase |
Conexión | Necesita estar conectado a Internet for invocar el API de traducción IA. |
Apt | No to ligado a un proveedor concreaticone. Quien lo utiliza esc oje un proveedor compatible with OpenAI (any, provided a key / base_url / nombre del modelo (vedse the article "Configración"), que es el reinado totalmente para la capacidad de traducción. |
Portabilidad | 100 % Python + trying to stay up to date estandar: can se ejecutara localmente en Windows / macOS / Linux, no vínculo a pla or forma. |
Licencia | El texto locale in only used for personal marks / non-commercial purposes; commercial purposes require confirming the terms of redistribution of the games and mods. |
El proveedor a la of IA la configur el usuario completamente (el faithful detects which key está configurado y es el que uses; prioridad custom > agnes > dashboards > deepseek):
Proveedor personalizador compatible con OpenAI (recommendable, the más universal):
TRANSLATOR_API_+TRANSLATOR_BASE_URL+TRANSLATOR_MODEL. It works for any platform with an compatible interface.agnes ai:
AGNES_API_+AGNES_BASE_URL+AGNES_MODELQuestionWen:
DASHSCOPE_API_KEYDeepSeek (fallback opcional):
DEEPSEEK_API_KEY
Instalación
cd game-translator-mcp
pip install -e ".[dev]"Configuración
Copia .env.example va a .env and complo the proveedor which in question use:
cp .env.example .envEl of the any mode (detección "which is key the result is config). Optional colocation "prior" design custom > agnes > dashboards > deepseek:
# 方式 A(推荐,最通用):自定义 OpenAI 兼容供应商 —— 填你自己的 key / 网关地址 / 模型名
TRANSLATOR_API_KEY=sk-xxx
TRANSLATOR_BASE_URL=https://your-gateway.example.com/v1
TRANSLATOR_MODEL=your-model
# 方式 B:agnes ai(也可展开为 OpenAi 兼容平台)
# AGNES_API_KEY=sk-xxx
# AGNES_BASE_URL=https://apihub.agnes-ai.com/v1
# AGNES_MODEL=agnes-2.5-flash
# 方式 C:通义千问
# DASHSCOPE_API_KEY=sk-your-qwen-key-here
# 方式 D:DeepSeek(可选,主供应商失败时 fallback)
# DEEPSEEK_API_KEY=
BATCH_SIZE=15 # 每批翻译条数,越高越省 token
OUTPUT_DIR=translated_output # 汉化输出目录Prioridad de config: primero las variables de entrada, luego the
.envfile of the root of the project, and finally the roomates public by defect. Use the key Key yourself on the request in the corresponding platform (e.g., agnes / frontetera / DeepSeek, etc. puerta of entry). Para el [The provider and "The key API supply".
Portabilidad: esta herramienta no with a proveedor de Cloud, any of the above "API" in the equipment "objetivo" by the equipment, the local; which is also valid for CI, the family, "Docker" or "any platform.
Cómo lanzarla
Como servidor "MCP" (requerida a por los "agentes" de IA)
python -m game_translator_mcpExample of configuration for "Trae / Cl" Define Desktop:
{
"mcpServers": {
"game-translator-mcp": {
"command": "python",
"args": ["-m", "game_translator_mcp"]
}
}
}Integración with "LangChain" from the "Agent" (PYTHONPATH directed at src/):
{
"mcpServers": {
"game-translator-mcp": {
"command": "python",
"args": ["-m", "game_translator_mcp"],
"env": {
"PYTHONPATH": "/path/to/game-translator-mcp/src"
}
}
}
}Modo "C1"
# 扫描游戏目录,列出可翻译文件
python -m game_translator_mcp check <游戏目录路径>
# 执行完整汉化
python -m game_translator_mcp translate <游戏目录路径> --modid mygame
# 预览翻译效果(不写入文件)
python -m game_translator_mcp translate <游戏目录路径> --modid mygame --dry-run
# 列出 Steam 库中的可翻译游戏
python -m game_translator_mcp steamHerramientas "MCP"
Nombre | Función |
**Patrón de "Juego" | The scan of the director, and the resulf list a of "new" of "traduThe "files" + estimación of the "text" quantity". |
| |
El direct "squeda" source | |
... |
Actually let me clean final. Need to fill rows properly:
Tabla:
| scan_game_directory | Escanea el directory and devuelve una lista de archivos traducibles + estimación of text volume.
| translate_game | Flujo completo: escaneo → traduce with IA → write back → returns report.
| dry_run_translate | Preview local translation: does not change file.
| list_steam_games | Discover "juegos" installed and "hreducibles" in local Steam library.
Ejemplos de uso
"Que con lenguaje natural" (through "Trae")
"We help me recognize..." "Scan the my library the Steam the some bad rivers..." etc.
Quotes as "Spanish":
"Quiero scan my Steam library to see which games of mine have translationle text."
"Help me translate into * RimWorld * if english text lines..."
the actual system: "Ayúdame a traducir el texto en inglés de*" memo. Good.
"Previsualizar de forma of spatializtion of" Factorio" era to "martial". Simplement no escribir.
"del` commodity" "Sin" "In final: "Previsualiza the effect of the localization from 'Factorio'?? quote maybe singleton. Good.
"Shame direct" "In line" with command:
# 汉化一个模组目录
python -m game_translator_mcp translate "path/to/my-mod" --modid mymod
# 输出目录默认为 translated_output/
# 汉化报告自动生成到 translated_output/report.txtEstructura de salida
translated_output/
├── my-mod/
│ ├── assets/my-mod/lang/zh_cn.json
│ └── ...(保持原目录结构)
├── rimworld/
│ ├── Assets/StreamingAssets/Localization/zh-cn.json
│ └── ...
└── report.txt # 汉化报告Módulos principales
Table etc.
Will now output complete response# game-translator-mcp
Herramienta MCP genérica de localización de juegos: escanea el directorio del juego, llama a una IA para que traduzca y vuelve a escribir el texto en chino.
Posicionamiento: una «capacidad de localización» que puede invocar un agente de IA, en lugar de un software de localización independiente. Puede trabajar en coordinación con herramientas como
mc-translator-mcp,mc-pack-builder-mcp, etc.
Ámbito de aplicación
Esta herramienta localiza juegos o mods cuyo texto se almacena en archivos de texto claro; es decir, «localización de texto», no «inyección de paquetes de recursos».
Ámbito | Descripción |
Formatos de texto compatibles |
|
Destinos típicos | Mods de Minecraft, Euro Truck Simulator 2, juegos del motor Source (VDF de Portal 2 / HL2 / L4D), tablas de localización en texto claro de Unity, archivos de configuración en texto claro de Steam |
Entrada | Directorio raíz del juego o cualquier directorio de archivos de texto |
Salida | Directorio de localización independiente (modo copy), sin tocar los archivos originales del juego |
Fuera de alcance / limitaciones conocidas:
Los recursos binarios empaquetados de Unity (
.pak/.vpk/catalog.json) requieren desempaquetado previo antes de poder procesarseJuegos de Unreal que usan
.locres, como Palworld, requieren UnrealPak para desempaquetarseTextos entregados o cifrados desde el servidor (War Thunder / PUBG, etc.): no se ofrece soporte de desbloqueos / hackof
Text files over 10 MB (to avoid accidental scanning of binaries): automatically skipped when scanning
Nota: Aunque los juegos de Unity tien muchos
.json/.xml, la mayoría son configuración engine and not text of game; the scanner will return them as-is, and the decision of whether it's worth translating is up to the user.
Requisitos
Requisito | Descripción |
Python | ≥ 3.10 |
Dependencies | See |
Network | Must be visible do have access to him API to translate the AI. |
API Key | Not tied to any specific provider or neither. The provider picks any provider compatible with OpenAI, and everyday a key / |
Portability | Pure Python + dependencies estand: works on Windows / macOS / Linux locally, without coupling to platform. |
License | Localized text is exclusively for personal use / non-commercial; commercial use rexpires the user to check the redistribution terms of the game and of the mods. |
Provider of IA completely configured by the user (it detects the key configured and uses it; priority custom > agnes > dashboards > deepseek):
Custom provider compatible with OpenAI (recommended, most common):
TRANSLATOR_API_KEY+TRANSLATOR_BASE_URL+TRANSLATOR_MODEL; adapts to any platform with compatible interfaceagnese ai:
AGNES_API_KEY+DBAS_URL+AGNES_MODELQwen:
DASHSCOPE_API_KEYPhigment (optional fallback): `DFS|
Installation
cd game-translator-mcp
pip install -e ".[dev]"Destination
Configuration
Copy the .env.example to .env and fill in the provider:
Mat (font grouping)
cp .env.example .envWhatever method is chosen (whichever key is detected, that will be used; priority custom > agnes > dashscope > deepseek):
# 方式 A(推荐,最通用):自定义 OpenAI 兼容供应商 —— 填你自己的 key / 网关地址 / 模型名
TRANSLATOR_API_KEY=sk-xxx
TRANSLATOR_BASE_URL=https://your-gateway.example.com/v1
TRANSLATOR_MODEL=your-model
# 方式 B:agnes ai(也可展开为 OpenAi 兼容平台)
# AGNES_API_KEY=sk-xxx
# AGNES_BASE_URL=https://apihub.agnes-ai.com/v1
# AGNES_MODEL=agnes-2.5-flash
# 方式 C:通义千问
# DASHSCOPE_API_KEY=sk-your-qwen-key-here
# 方式 D:DeepSeek(可选,主供应商失败时 fallback)
# DEEPSEEK_API_KEY=
BATCH_SIZE=15 # 每批翻译条数,越高越省 token
OUTPUT_DIR=translated_output # 汉化输出目录Priority in the configuration: first reads the environment variables, then reads the
.envfile in the project root, finally it uses the built-in defaults. The API key is provided by the user, who requests it from the corresponding platform (e.g. agnes / Qwen / DeepSeek / any other OpenAI-compatible gateway).
Portability: this tool is not tied to any provider; it always and when you configure any of the above DNS API on the machine target, it can run locally; valid for CI in any Docker container or platform.
Launching it
As an MCP server (for the agents of IA)
python -m game_translator_mcpConfiguration example for Trae / Claude Desktop:
{
"mcpServers": {
"game-translator-mcp": {
"command": "python",
"args": ["-m", "game_translator_mcp"]
}
}
}LangPropio Agent integration (PYTHONPATH pointing at src/):
{
"mcpServers": {
"game-translator-mcp": {
"command": "python",
"args": ["-m", "game_translator_mcp"],
"env": {
"PYTHONPATH": "/path/to/game-translator-mcp/src"
}
}
}
}CLI mode
# 扫描游戏目录,列出可翻译文件
python -m game_translator_mcp check <游戏目录路径>
# 执行完整汉化
python -m game_translator_mcp translate <游戏目录路径> --modid mygame
# 预览翻译效果(不写入文件)
python -m game_translator_mcp translate <游戏目录路径> --modid mygame --dry-run
# 列出 Steam 库中的可翻译游戏
python -m game_translator_mcp steamMCP functions|x| tool|func|
| ------------------ | ---------------------------- |
| scan_game_directory | scan directory, return list files of translated + than estimate of text quantity |
| translate_game | Complete localization flow: scan → translate with IA → write → report |
| dry_run_translate | Preview translation, do not actually modify files |
| list_steam_games | Discover installed Steam in the library M.oj without font | say | translate |
Usage examples
Natural language (via Trae)
"=Scane my Steam library to see which of them have values
translated (eng.
"Ayudame to translate English the" from _text 'RimWorld'" "Previsualiza the effect of the localage of 'Factorio' per no example."
Direct invocation in the command line
# 汉化一个模组目录
python -m game_translator_mcp translate "path/to/my-mod" --modid mymod
# 输出目录默认为 translated_output/
# 汉化报告自动生成到 translated_output/report.txtOutput structure
translated_output/
├── my-mod/
│ ├── assets/my-mod/lang/zh_cn.json
│ └── ...(保持原目录结构)
├── rimworld/
│ ├── Assets/StreamingAssets/Localization/zh-cn.json
│ └── ...
└── report.txt # 汉化报告Core modules
Módulo | Function |
| Scan the game directory, identify translatable files, filter binaries / large files |
| Multi-format test parsing (JSON / LANG / TXT / INI / XML / YAML / SII / TSV / VDF) |
| Bulk translation with any OpenAI-compatible provider naming (custom / agnes / Qwen / DeepSeek) + SHA-256 cache |
| Write the translation back, preserving the original format, supporting both |
| Generate the translation report (success / skipped / failure) |
| Steam game discovery, parse the VDF index |
| Entry point for the MCP server, exposes 4 tools for the AI agents |
| Command line interface with subcommands check / translate / steam |
| command line interface, supports subcommands |
| Command-line interface, supports |
Design points
Caché de cacha (smart): apply SHA-256 to {modid}::key::value, the same original text is only translated once, results persisted in *trans/cach.json.
The localizzazione jumbled: If I already exit the same format in place in out directory: automatically skip, avoid overwriting translation of the community.
Batcher translator: each request carries up to
BATCH_SIZEentries in `ENTRALP TOS, una llamada API returning all resultados, the token and the latency substantially.proveedor adaptativo: detect which key the user has set, using whichever is configured (custom > agnes > dashscope), optionally DeepSeek fallbacks. No commitment.
salida no incrasiva: the default copy mode generates a separate, output directory as independent, does not modify the original game files.
Test
python -m pytest tests/ -v
# 或
pytest tests/ -vAll tests pass on Windows + Python 3.14 (77 tests passed, no new case in VDF UTF-16 included).
Real localization tests
An area of end-to-end localization tests was made with real game files (using agnes ai); results archived in tests/reports/:
✅ REPO (monster runner): 603TSV
Menu/HUD/Game.tsvcaused 603 entries in total, all actually translated and written back as TSV, 602 success.✅ Portal 2: Source VDF (UTF-16) engine-side: end-to-end localization was given;
basemodui_english.txttotals 2231 plain translatable items; write back preserves the UTF-16 BOM.✅ Biped 2:
localization_en.txtin plaintextkey=value928 lines, translatable directly.🔍 The other (u Isaac / Palworld / CSGO, etc.): "encphados" (text in private packs or only engine config), the report appears in testing
Contributions to the game library
This tool supports any game in plain text to which * game/mod - if the texts of your ram - at least you have already - published in clear text (.json / .tsv / .lang / .sii - input);
If your game texts are in plain text files (.json / .tsv / .lang / .sii / .vdf, etc.), we welcome you to contribute the game library via Issue / PR to expand the existing parsers. Detailed guide in tests/reports/.
Relation with the existing tools
Tool | How it works together |
| Dedicated enhanced Minecraft version; a subset of this tool for MC |
| When building the pack, automatically takes care of whether the mod is not localized, and can translate the full content through this app |
| After localizing, validate the configuration file format is correct |
LangChain Agent | Accessible via MCP stdio protocol, allowing to use the natural drive language that makes the localization flow possible |
Contribution guide
To add support for a new game format:
Add a new parsing function in
parser.py(json to_parse_locres).Add it to the
_PARSERSdictionary.Add the extension to
SUPPORTED_EXTENSIONSinscanner.py.Add a corresponding test in
tests/test_parser.py.
License
MIT License: free use, modification, and distribution.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA ModelContextProtocol server providing high-quality translation services with a three-stage translation workflow (analysis, segmented translation, full-text review) that supports multiple languages and integrates with Claude and OpenAI-compatible models.26
- FlicenseNot gradedqualityCmaintenanceEnables translation of JSON i18n files to multiple languages using various AI providers (Google Gemini, OpenAI, Ollama/DeepSeek) with intelligent caching and deduplication.166
- FlicenseAqualityDmaintenanceEnables automatic discovery and fast searching of translation files in projects, supporting partial/exact key-value matching with file watching and multiple translation file formats.2
- AlicenseNot gradedqualityCmaintenanceEnables speech-to-text and text-to-speech conversion using OpenAI-compatible APIs. Supports customizable models, voices, and output directories.GPL 3.0
Related MCP Connectors
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
Scans MCP servers for tool poisoning, prompt injection and supply chain risks.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dcd887/game-translator-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server