translate_textLABSCO SUMMARY
Formality control is the feature people come back for.
DeepL exposes a formality setting on the languages that distinguish it, and that is the difference between a translation that reads correctly and one that reads rudely — worth setting explicitly rather than accepting the default. The usage resource is the other practical piece: a free tier that stops at a character cap is much easier to live with when the assistant can check the remaining budget itself.
What it is
A DeepL client covering more of the API than translation alone — it also rephrases, detects languages, translates whole document files, and reports your usage against the account quota.
What you get
translate_textwith a target language, an optional source language, formality control, formatting preservation, sentence splitting and tag handlingrephrase_textrewrites text in the same or a different language, with formality and optional contextbatch_translatehandles a list of texts in one request, andtranslate_documenttranslates a file on disk to an output pathdetect_languageidentifies the language of a passageget_translation_historyandanalyze_usage_patternslook back at what has been translated- Read-only resources you can load straight into context:
usage://deeplfor quota,deepl://languages/sourceanddeepl://languages/targetfor supported languages,deepl://glossariesfor glossary language pairs - A
summarizeprompt for the common follow-on step
Requirements
A DeepL API key in DEEPL_AUTH_KEY; the free tier covers 500,000 characters a month. DEEPL_SERVER_URL overrides the endpoint and defaults to the free API host. Install by cloning and running uv sync, then start with a transport flag — stdio, streamable-http or sse, with host and port for the latter two. A Dockerfile and compose file are provided. There is no PyPI release, so it runs from the clone.
Setup effort
Build from source — git clone https://github.com/AlwaysSany/deepl-fastmcp-python-server.git
USE CASES
Translating something that has to sound right
Set the formality level explicitly instead of accepting whatever register the default produces.
Translating a whole document
Pass the file path and get a translated file back, rather than pasting the contents in sections.
Rewriting a passage you already have
Rephrase in the same language with a different register, using surrounding context to guide it.
Seeing how you have been translating
Get an analysis of the usage patterns in the translation history this server keeps. The remaining DeepL quota is a separate read, from the usage://deepl resource.
7 tools
Listed in project docs. Your client may show a different list.
rephrase_textbatch_translatetranslate_documentdetect_languageget_translation_historyanalyze_usage_patternsBEFORE YOU INSTALL
What to know first
Tools you get
7 tools named in the project's documentation.
Requires
DEEPL_AUTH_KEY in your environment
INSTALLATION
Connect your client
Server setup
git clone https://github.com/AlwaysSany/deepl-fastmcp-python-server.git
cd deepl-fastmcp-python-server
uv sync
cp .env.example .envPut your DeepL API key in .env as DEEPL_AUTH_KEY
uv run python main.py --transport sse --host 127.0.0.1 --port 8000MCP Clients
Cursor — SSE
{
"mcpServers": {
"deepl-fastmcp": {
"type": "sse",
"url": "http://127.0.0.1:8000/sse"
}
}
}Other routes
Docker server
docker build -t deepl-fastmcp-server .
docker run -e DEEPL_AUTH_KEY=<YOUR_DEEPL_AUTH_KEY> -p 8000:8000 deepl-fastmcp-server