Equalang

Translate whole documents while keeping their layout, translate subtitles and pictures, transcribe audio and video, and translate text with Equalang.

Documentation

equalang-mcp

npm License MCP Node

English · 简体中文 · 日本語 · 한국어 · Español · Français · Deutsch · Português · Italiano · Русский · Polski · Türkçe · Tiếng Việt · Bahasa Indonesia · ไทย · हिन्दी · العربية

Website · Pricing · Developer docs · API keys

Keywords: document translation, pdf translator, translate pdf keep layout, docx translation, pptx translation, excel translation, epub translation, subtitle translation, srt translator, image translation, video translation, audio transcription, speech to text, ai translator, mcp server, model context protocol, claude mcp, cursor mcp, translation api

Translate the file, keep the layout. An MCP server for Equalang - an AI translator that works on whole files: a PDF comes back as a PDF, a deck as a deck, with tables, images and formulas where they were. It also translates subtitles and pictures, turns audio and video into translated subtitles or a transcript, and translates short texts in bulk. Works in Claude Code, Claude Desktop, Codex, Cursor, Windsurf, Cline, VS Code and every other MCP client.

claude mcp add equalang -s user -e EQUALANG_API_KEY=el_your_key -- npx -y @equalang/mcp

Try asking

  • "Translate ~/Documents/contract.pdf into Chinese, keeping the layout."
  • "Translate pitch-deck.pptx into Japanese and German."
  • "Translate https://example.com/whitepaper.pdf into Spanish and save it in ~/Downloads."
  • "How much would it cost to translate thesis.docx into French?"
  • "Make Korean subtitles for interview.mp4, with the original line above each one."
  • "Transcribe standup.m4a with timestamps."
  • "Make an English version of menu.jpg."
  • "Translate novel.epub into English."

Features

  • Documents - PDF, DOCX, PPTX, XLSX, EPUB, HTML and TXT come back in the same format, still editable, with tables, images, formulas and page layout in place
  • Subtitles and pictures - SRT and VTT keep their timing, optionally with the source line above the translation; JPG, PNG, WebP and BMP come back with the text in the picture translated
  • Audio and video - MP3, M4A, WAV, FLAC, OGG, AAC, Opus, MP4, MOV, WebM and MKV become translated subtitles, or a transcript in the language spoken (SRT, VTT, TXT, JSON)
  • Text in bulk - short texts translated in order, or one long text (up to 100,000 characters) that Equalang cuts at sentences itself
  • Languages - 100+ for text and 12 for files; leave the source language out and it is detected

Get a key

Sign up at https://equalang.com and create a key at https://equalang.com/api-keys. New accounts start with free credits, enough to put a document through.

The key goes in an environment variable of the MCP client's config, never in a URL. Without a key the server still starts and lists its tools; a tool that needs the key answers with how to get one.

The key can also live once per machine, in ~/.config/equalang/.env, which the Equalang skill reads too:

# Replace el_your_key with your key
mkdir -p ~/.config/equalang && echo 'EQUALANG_API_KEY=el_your_key' > ~/.config/equalang/.env && chmod 600 ~/.config/equalang/.env

The server takes EQUALANG_API_KEY from its environment first, and reads the file only when the environment has none: a key in the client config wins, and with the file in place the client config needs no env.

Install

Needs Node 18 or later.

Claude Code
claude mcp add equalang -s user -e EQUALANG_API_KEY=el_your_key -- npx -y @equalang/mcp

-s user puts it in every project; the default scope, local, loads the server only in the directory the command was run from.

OpenAI Codex
codex mcp add equalang --env EQUALANG_API_KEY=el_your_key -- npx -y @equalang/mcp
Claude Desktop, Cursor, Windsurf, Cline and other JSON-configured clients

Add this to the client's MCP config - claude_desktop_config.json, ~/.cursor/mcp.json, ~/.codeium/windsurf/mcp_config.json, or the file your client documents:

{
  "mcpServers": {
    "equalang": {
      "command": "npx",
      "args": ["-y", "@equalang/mcp"],
      "env": { "EQUALANG_API_KEY": "el_your_key" }
    }
  }
}
VS Code
code --add-mcp '{"name":"equalang","command":"npx","args":["-y","@equalang/mcp"],"env":{"EQUALANG_API_KEY":"el_your_key"}}'

Prefer a skill? equalang-skill offers the same operations as an Agent Skill - one Python script, nothing to install.

Tools

ToolWhat it does
translate_fileTranslate a file (path or public URL) into another language and save the result beside it.
transcribe_recordingWrite down what an audio or video file says, as timed text (SRT, VTT, TXT, JSON).
translate_textTranslate short texts, in order - or one long text, which Equalang cuts at sentences itself.
estimate_costUpload a file without starting anything; answers with the most a job on it can cost, and a file_id that starts the job without a second upload. Free.
check_jobPick a job up again, and save its results once it has finished.
cancel_jobStop a queued or running job. A cancelled job is not charged.
get_credit_balanceThe account's credits.
list_languagesEvery language code and name. Needs no key.

Language codes look like en, zh-CN, ja; list_languages has the full list. A job takes minutes - a tool waits up to wait_seconds (50 s by default, 240 at most), then hands back a job id for check_job to pick up.

Links

License

Apache-2.0 © Equalang