@translated/lara-mcp
Version:
Lara API official MCP server
241 lines (176 loc) • 7.74 kB
Markdown
# Lara Translate MCP Server
A Model Context Protocol (MCP) server for [Lara Translate](https://laratranslate.com/translate), enabling professional translation capabilities with support for language detection, context-aware translations, translation memories, and glossaries.
Lara leverages Translation Language Models (T-LMs) trained on billions of professionally translated segments, delivering domain-specific translations that capture cultural nuances and industry terminology that general-purpose LLMs often miss.
[](https://github.com/translated/lara-mcp/blob/main/LICENSE)
[](https://hub.docker.com/r/translatednet/lara-mcp)
[](https://www.npmjs.com/package/@translated/lara-mcp)
## Quick Start
Pick your client below — no API keys needed, just log in through your browser.
### Claude Desktop
1. Go to **Settings** > **Connectors**
2. Click **Add Custom Connector**
3. Enter the name: `Lara`
4. Enter the URL: `https://mcp-v2.laratranslate.com/v1`
5. Click **Add**, then click **Connect**
6. Log in with your Lara Translate credentials in the browser
Done — Lara Translate is now available in your conversations.
### Cursor
Once Lara Translate is listed in the official Cursor plugin marketplace, install it from inside Cursor:
1. Open the plugin browser and search for **Lara Translate**.
2. Click **Install**.
3. The first time you use a Lara tool, your browser will open to authenticate.
In the meantime, or for manual installation, see the [Client Setup Guide](docs/client-setup.md#cursor).
### Claude Code
Once Lara Translate is listed in the official Claude Code plugin marketplace, install it from inside Claude Code:
```
/plugin
```
Search for **Lara Translate** and install. The first time you use a Lara tool, your browser will open to authenticate.
In the meantime, or for manual installation, see the [Client Setup Guide](docs/client-setup.md#claude-code).
### Other Clients
For step-by-step OAuth setup on **VS Code (GitHub Copilot)**, **Windsurf**, **Cline**, **Continue**, and more, see the **[Client Setup Guide](docs/client-setup.md)**.
If your client isn't listed, the general approach is to add the server URL (`https://mcp-v2.laratranslate.com/v1`) to your MCP config — the client will handle OAuth authentication automatically.
> For a complete list of MCP-compatible clients, visit the [official MCP clients page](https://modelcontextprotocol.io/clients).
### Verify It Works
After setup, test with a simple prompt:
```
Translate with Lara "Hello world" to Spanish
```
Your client should invoke Lara Translate and return the translation.
---
## Available Tools
### Translation
| Tool | Description |
|------|-------------|
| `translate` | Translate text between languages with support for context, instructions, translation memories, glossaries, and multiple styles (faithful/fluid/creative) |
### Language Detection
| Tool | Description |
|------|-------------|
| `detect_language` | Detect the language of a given text or array of texts |
| `list_languages` | List all supported language codes |
### Translation Memories
| Tool | Description |
|------|-------------|
| `list_memories` | List all translation memories in your account |
| `create_memory` | Create a new translation memory |
| `update_memory` | Update a translation memory's name |
| `delete_memory` | Delete a translation memory |
| `add_translation` | Add a translation unit (source + target pair) to a memory |
| `delete_translation` | Delete a translation unit from a memory |
| `import_tmx` | Import a TMX file into a memory |
| `check_import_status` | Check the status of a TMX import job |
### Glossaries
| Tool | Description |
|------|-------------|
| `list_glossaries` | List all glossaries in your account |
| `get_glossary` | Get details of a specific glossary |
| `create_glossary` | Create a new glossary |
| `update_glossary` | Update a glossary's name |
| `delete_glossary` | Delete a glossary |
| `add_glossary_entry` | Add or replace a term entry in a glossary |
| `delete_glossary_entry` | Delete a term entry from a glossary |
| `import_glossary_csv` | Import entries from a CSV file into a glossary |
| `check_glossary_import_status` | Check the status of a glossary CSV import job |
| `export_glossary` | Export a glossary as CSV |
| `get_glossary_counts` | Get the number of entries in a glossary |
---
## Authentication
### OAuth 2.0 (default)
This is the method used in the [Quick Start](#quick-start) above. You provide only the server URL in your client config — no API keys needed. Your client handles the OAuth flow automatically: it opens your browser, you log in with your Lara Translate credentials, and you're connected.
For per-client OAuth setup instructions, see the **[Client Setup Guide](docs/client-setup.md)**.
### Access Key (alternative)
If you prefer to authenticate with API keys instead of browser login, you can pass your credentials directly in the client config. Get your **Access Key ID** and **Secret** from [Lara Translate](https://developers.laratranslate.com/docs/getting-started#step-3---configure-your-credentials).
See the [Access Key section in the Client Setup Guide](docs/client-setup.md#alternative-access-key-authentication) for config examples.
---
## Self-Hosting
Most users can connect to the hosted endpoint (`https://mcp-v2.laratranslate.com/v1`) using the [Quick Start](#quick-start) instructions above. The options below are for running the server yourself.
### STDIO via NPX
Requires [Node.js](https://nodejs.org/).
```json
{
"mcpServers": {
"lara-translate": {
"command": "npx",
"args": ["-y", "@translated/lara-mcp@latest"],
"env": {
"LARA_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY_ID>",
"LARA_ACCESS_KEY_SECRET": "<YOUR_ACCESS_KEY_SECRET>"
}
}
}
}
```
### STDIO via Docker
Requires [Docker](https://www.docker.com/).
```json
{
"mcpServers": {
"lara-translate": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "LARA_ACCESS_KEY_ID",
"-e", "LARA_ACCESS_KEY_SECRET",
"translatednet/lara-mcp:latest"
],
"env": {
"LARA_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY_ID>",
"LARA_ACCESS_KEY_SECRET": "<YOUR_ACCESS_KEY_SECRET>"
}
}
}
}
```
### Building from Source
#### Node.js
```bash
git clone https://github.com/translated/lara-mcp.git
cd lara-mcp
pnpm install
pnpm run build
```
Then add to your MCP config:
```json
{
"mcpServers": {
"lara-translate": {
"command": "node",
"args": ["<FULL_PATH_TO_PROJECT>/dist/index.js"],
"env": {
"LARA_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY_ID>",
"LARA_ACCESS_KEY_SECRET": "<YOUR_ACCESS_KEY_SECRET>"
}
}
}
}
```
#### Docker
```bash
git clone https://github.com/translated/lara-mcp.git
cd lara-mcp
docker build -t lara-mcp .
```
Then add to your MCP config:
```json
{
"mcpServers": {
"lara-translate": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "LARA_ACCESS_KEY_ID",
"-e", "LARA_ACCESS_KEY_SECRET",
"lara-mcp"
],
"env": {
"LARA_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY_ID>",
"LARA_ACCESS_KEY_SECRET": "<YOUR_ACCESS_KEY_SECRET>"
}
}
}
}
```
---
## Support
- For issues with Lara Translate API: visit [Lara Translate Support](https://support.laratranslate.com)
- For issues with this MCP server: open an issue on [GitHub](https://github.com/translated/lara-mcp/issues)