About DeepL
DeepL is an MCP server published by DeepL in the Developer Tools category: a Model Context Protocol (MCP) server that provides translation capabilities using the DeepL API.
The repository has 119 stars and 20 forks, with the last commit yesterday. Recent commit activity is the strongest signal that reported issues will get attention.
Install
npx deepl-mcp-serverclaude mcp add deepl-mcp-server -- npx -y deepl-mcp-servernpx -y deepl-mcp-serverThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (13)
get-custom-instructionReturns a single custom instruction belonging to a style rule.
Parameters not published.
get-glossary-dictionary-entriesReturns the term entries of one glossary dictionary, meaning one language pair in one direction.
Parameters not published.
get-glossary-infoReturns the same metadata as `list-glossaries` for a single glossary.
Parameters not published.
get-source-languagesLists the language codes accepted as a translation source.
Parameters not published.
get-style-ruleReturns one style rule in full, including its configured rules and custom instructions.
Parameters not published.
get-target-languagesLists the language codes accepted as a translation target.
Parameters not published.
get-writing-stylesLists the `style` values `rephrase-text` accepts.
Parameters not published.
get-writing-tonesLists the `tone` values `rephrase-text` accepts.
Parameters not published.
list-glossariesLists every glossary in the account with its id, name, dictionaries, and creation time.
Parameters not published.
list-style-rulesLists the style rules in the account with their id, name, language, and timestamps.
Parameters not published.
Show all 13 tools
rephrase-textRephrases text, optionally into another language.
Parameters not published.
translate-documentTranslates a document file (PDF, DOCX, PPTX, XLSX, HTML, TXT, and more) and writes the result to disk.
Parameters not published.
translate-textTranslates text into a target language.
Parameters not published.
Ask AI
Ask AI about DeepL
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 6 hours ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- ✓Tests presentA test suite exists in the repository.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
Releases
README
deepl-mcp-server
[!NOTE] For the best experience and the latest features check out the DeepL remote MCP server to use DeepL in your AI agent. No installation required, just add it to Claude, ChatGPT, Microsoft Copilot or any MCP client and sign in with your DeepL account.
Working in a terminal or with a coding agent? Try the DeepL CLI. It covers translation, documents, glossaries and i18n file sync with your API key.
A Model Context Protocol (MCP) server that exposes DeepL text translation, document translation, rephrasing, and glossary and style rule lookups as MCP tools.
Usage
You need Node.js 18 or newer and a DeepL API key. Pick an API plan and create a key in your DeepL account.
The server communicates over stdio, so it is normally started by an MCP client rather than by hand. To try it directly:
DEEPL_API_KEY=your-api-key npx -y deepl-mcp-server
It exits immediately if DEEPL_API_KEY is not set.
To work on the server itself:
git clone https://github.com/DeepL/deepl-mcp-server.git
cd deepl-mcp-server
npm install
Configuration
Register it as a stdio server with DEEPL_API_KEY in the server's environment. In Claude Code:
claude mcp add deepl --env DEEPL_API_KEY=your-api-key -- npx -y deepl-mcp-server
For clients configured through a JSON file:
{
"mcpServers": {
"deepl": {
"command": "npx",
"args": ["-y", "deepl-mcp-server"],
"env": {
"DEEPL_API_KEY": "your-api-key"
}
}
}
}
Where that file lives and how each client expects local stdio servers to be declared:
To run a local checkout instead of the published package, use node as the command and the absolute path to src/index.mjs as the argument.
Tools
| Tool | Description | Parameters |
|---|---|---|
translate-text |
Translates text into a target language. | text, targetLangCode, sourceLangCode?, formality?, glossaryId?, styleId?, context?, preserveFormatting?, splitSentences?, customInstructions? |
translate-document |
Translates a document file (PDF, DOCX, PPTX, XLSX, HTML, TXT, and more) and writes the result to disk. | inputFile, targetLangCode, outputFile?, sourceLangCode?, formality?, glossaryId?, styleId?, outputFormat? |
rephrase-text |
Rephrases text, optionally into another language. | text, targetLangCode?, style?, tone? |
get-source-languages |
Lists the language codes accepted as a translation source. | none |
get-target-languages |
Lists the language codes accepted as a translation target. | none |
get-writing-styles |
Lists the style values rephrase-text accepts. |
none |
get-writing-tones |
Lists the tone values rephrase-text accepts. |
none |
list-glossaries |
Lists every glossary in the account with its id, name, dictionaries, and creation time. | none |
get-glossary-info |
Returns the same metadata as list-glossaries for a single glossary. |
glossaryId |
get-glossary-dictionary-entries |
Returns the term entries of one glossary dictionary, meaning one language pair in one direction. | glossaryId, sourceLangCode, targetLangCode |
list-style-rules |
Lists the style rules in the account with their id, name, language, and timestamps. | page?, pageSize?, detailed? |
get-style-rule |
Returns one style rule in full, including its configured rules and custom instructions. | styleId |
get-custom-instruction |
Returns a single custom instruction belonging to a style rule. | styleId, instructionId |
Notes:
texttakes either a single string or an array of strings. Each entry is translated or rephrased independently.- Language codes are ISO 639-1, optionally with a region (
en-US). OmittingsourceLangCodetriggers automatic detection. A target code whose language requires a region gets a default applied:enbecomesen-US,ptbecomespt-BR,zhbecomeszh-Hans. - Glossary dictionaries are keyed by non-regional codes, so
get-glossary-dictionary-entriesdrops any region you pass. - Translating with a glossary requires an explicit
sourceLangCode. formalityacceptsless,more,default,prefer_less, andprefer_more. Theprefer_*values fall back to the default when the target language has no formality support.translate-documentreads and writes files on the machine running the server. WithoutoutputFile, the output path is derived from the input by appending the target language code, for examplereport_de.pdf. WithoutputFormat, the derived path uses that extension instead.- Style rules and custom instructions are read-only here. Create and edit them in your DeepL account.
License
MIT
README fetched from the repository 6 hours ago. The original is authoritative.