MCP Local Translate logo

MCP Local Translate

Translate text locally across 200+ languages with NLLB-200 through MCP or a CLI, without sending data to cloud services.

Install MCP Local Translate

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "mcp-local-translate": {
      "command": "npx",
      "args": [
        "-y",
        "@damoqiongqiu/mcp-local-translate"
      ],
      "env": {
        "CACHE_DIR": "YOUR_VALUE_HERE",
        "HF_ENDPOINT": "YOUR_VALUE_HERE",
        "HF_AUTO_MIRROR": "YOUR_VALUE_HERE",
        "HTTPS_PROXY": "YOUR_VALUE_HERE",
        "TRANSLATE_DEVICE": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

We couldn’t confirm it starts correctly

The install command didn't complete successfully in our automated test.

npx -y @damoqiongqiu/mcp-local-translate

npm error code ERR_INVALID_URL npm error Invalid URL npm error A complete log of this run can be found in: /home/user/.npm/_logs/2026-10-23T19_16_00_859Z-debug-0.log

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 12d ago.

Overview

The mcp-local-translate MCP server provides local translation across 200+ languages using Meta’s distilled NLLB-200 model. It runs through Transformers.js and ONNX Runtime on the local CPU, with MCP tools for translating text and listing supported languages. Reach for it when translation privacy, offline operation, low-resource language coverage, or avoiding paid translation APIs matters more than cloud-service quality or speed.

Use cases

  • Translate documentation inside an AI coding workflow
  • Read foreign-language error messages and comments
  • Translate sensitive text without sending it to a cloud API
  • Check whether a low-resource language is supported
  • Translate text from a terminal with the CLI

Key features

  • Local NLLB-200 translation for 200+ languages
  • MCP tools for translation and language discovery
  • CLI commands for direct terminal use
  • FLORES-200, ISO 639-1, and Chinese language-name parsing
  • Sentence-boundary chunking for long text
  • Automatic model mirror fallback

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 3d ago

Recent health check succeeded.

10/10 checks healthy over the last 53d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 12d ago via OSV.dev · @damoqiongqiu/mcp-local-translate (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

npm downloads242Package downloads in the last 30 days.
Last commit3mo agoMost recent push to the default branch.
Install checkInconclusiveInstall command did not finish in our automated test.
Directory activity4 viewsConfig copies, upvotes, and views on AllMCPs.

How MCP Local Translate works

What mcp-local-translate MCP server does

The mcp-local-translate MCP server exposes local machine translation for AI coding tools and terminal workflows. It uses the Xenova/nllb-200-distilled-600M model and supports more than 200 languages. Text remains on the machine after the model has been downloaded, so code snippets, internal documentation, comments, and error messages do not need to be sent to a hosted translation API.

Two interfaces are available:

  • An MCP server for compatible AI assistants.
  • A CLI for direct terminal use without starting an MCP server.

The MCP interface provides translate and list_languages. The first accepts text, a source language, and a target language. The second returns supported languages and can filter them by a query.

How it works

mcp-local-translate MCP server resolves language inputs into FLORES-200 model codes. It accepts exact codes such as zho_Hans, ISO 639-1 codes such as zh, and Chinese language names such as 中文. Source language detection is available with auto.

Long input is divided at sentence boundaries when it exceeds roughly 450 characters. Each segment is translated independently, then the results are joined in their original order. This approach works around the model’s 512-token limit while preserving paragraph and line-break structure as far as the chunking process allows.

The model is loaded lazily on the first translation request and reused for later requests. Inference runs locally through Transformers.js and ONNX Runtime, using the CPU by default. The initial setup downloads approximately 600 MB of model data; later runs can use the cached files. Model downloads can automatically try Hugging Face, hf-mirror.com, and ModelScope in sequence.

Setup and configuration

Run the packaged server with npx:

Terminal
npx -y @damoqiongqiu/mcp-local-translate

Add that command as a standard stdio MCP server in a client’s configuration. A CACHE_DIR environment variable can point to an absolute directory for model files. The CLI uses command-line flags or environment variables and does not read MCP client configuration files.

Supported configuration variables include:

  • CACHE_DIR: model cache location.
  • HF_ENDPOINT: explicitly selected Hugging Face-compatible endpoint.
  • HF_AUTO_MIRROR: enables or disables automatic mirror detection; it defaults to enabled.
  • HTTPS_PROXY: proxy used for model downloads.
  • TRANSLATE_DEVICE: inference device, with CPU as the default and recommended setting.

The CLI equivalents are translate and list-languages, for example translate "Hello" --source en --target zh and list-languages --query chinese.

Tools and capabilities

The translate tool accepts text, source_lang, and target_lang. Use auto for source-language detection or provide a FLORES-200 code, ISO 639-1 code, or supported language name. The list_languages tool accepts an optional query parameter for finding a language or checking whether a particular language is available.

The mcp-local-translate MCP server is suited to document reading, multilingual development work, translation of code comments, and local handling of sensitive text. It does not require Docker, Python, an API key, or a GPU according to the project documentation. It is designed for single-user local access rather than multi-user service deployment.

Limitations and notes

CPU inference is slower than hosted translation services, and performance depends on the machine. The project reports approximately 300 MB of idle memory use and up to 1.2 GB during translation on its tested MacBook Pro M1 setup. Translation quality is generally better for major language pairs than for low-resource languages, where output may be readable without being polished.

Offline operation is available after the NLLB-200 model has been cached locally. The first model download still requires network access unless the required files are already present. Cloud translation services may provide higher quality, but they require sending text externally. The project also states that multi-user support is not provided.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about MCP Local Translate

mcp-local-translate is an MCP server that connects AI coding tools to a local NLLB-200 translation model. Its main tools are `translate`, which accepts text and source and target languages, and `list_languages`, which lists or filters supported languages. It runs locally through Transformers.js and ONNX Runtime without a translation API.

Install it by running `npx -y @damoqiongqiu/mcp-local-translate` through your MCP client configuration. The README provides examples for Cursor, Codex, and Claude Code. Set `CACHE_DIR` if you want to choose where the approximately 600 MB model cache is stored.

Yes, mcp-local-translate works with Cursor through a standard stdio configuration. Add an entry using `npx -y @damoqiongqiu/mcp-local-translate` to `~/.cursor/mcp.json`, optionally passing `CACHE_DIR` in the environment, then restart Cursor.

Yes, it can translate offline after the NLLB-200 model has been downloaded and cached locally. The first setup normally needs network access to obtain the model, unless the required files already exist in the configured cache directory.

It supports more than 200 languages through the NLLB-200 model. Use the `list_languages` MCP tool or the `list-languages` CLI command to inspect the complete list and filter it by a query. Language inputs can use FLORES-200 codes, ISO 639-1 codes, or supported Chinese names.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMCP Local Translate AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/mcp-local-translate?style=directory)](https://allmcps.com/mcp/mcp-local-translate)
HTML Embed
<a href="https://allmcps.com/mcp/mcp-local-translate"><img src="https://allmcps.com/api/badge/mcp-local-translate?style=directory" alt="MCP Local Translate on AllMCPs" /></a>