A Model Context Protocol (MCP) Server for Lara Translate API, enabling powerful translation capabilities with support for language detection, context-aware translations and translation memories. - π Introduction - π Available Tools - π Getting Started - π HTTP Server - π STDIO Server - π§ͺ Verify Installation - π» Popular Clients that supports MCPs - π Support What is MCP? Model Context Proto
Add this skill
npx mdskills install translated/lara-mcpComprehensive MCP server with extensive translation tools and excellent documentation
1# Lara Translate MCP Server23A Model Context Protocol (MCP) Server for [Lara Translate](https://laratranslate.com/translate) API, enabling powerful translation capabilities with support for language detection, context-aware translations and translation memories.45[](https://github.com/translated/lara-mcp/blob/main/LICENSE)6[](https://hub.docker.com/r/translatednet/lara-mcp)7[](https://www.npmjs.com/package/@translated/lara-mcp)89## π Table of Contents10- π [Introduction](#-introduction)11- π [Available Tools](#-available-tools)12- π [Getting Started](#-getting-started)13 - π [HTTP Server](#http-server-)14 - π [STDIO Server](#stdio-server-%EF%B8%8F)15- π§ͺ [Verify Installation](#-verify-installation)16- π» [Popular Clients that supports MCPs](#-popular-clients-that-supports-mcps)17- π [Support](#-support)1819## π Introduction2021<details>22<summary><strong>What is MCP?</strong></summary>2324Model Context Protocol (MCP) is an open standardized communication protocol that enables AI applications to connect with external tools, data sources, and services. Think of MCP like a USB-C port for AI applications - just as USB-C provides a standardized way to connect devices to various peripherals, MCP provides a standardized way to connect AI models to different data sources and tools.2526Lara Translate MCP Server enables AI applications to access Lara Translate's powerful translation capabilities through this standardized protocol.2728> More info about Model Context Protocol on: https://modelcontextprotocol.io/29</details>3031<details>32<summary><strong>How Lara Translate MCP Works</strong></summary>3334Lara Translate MCP Server implements the Model Context Protocol to provide seamless translation capabilities to AI applications. The integration follows this flow:35361. **Connection Establishment**: When an MCP-compatible AI application starts, it connects to configured MCP servers, including the Lara Translate MCP Server372. **Tool & Resource Discovery**: The AI application discovers available translation tools and resources provided by the Lara Translate MCP Server383. **Request Processing**: When translation needs are identified:39 - The AI application formats a structured request with text to translate, language pairs, and optional context40 - The MCP server validates the request and transforms it into Lara Translate API calls41 - The request is securely sent to Lara Translate's API using your credentials424. **Translation & Response**: Lara Translate processes the translation using advanced AI models435. **Result Integration**: The translation results are returned to the AI application, which can then incorporate them into its response4445This integration architecture allows AI applications to access professional-grade translations without implementing the API directly, while maintaining the security of your API credentials and offering flexibility to adjust translation parameters through natural language instructions.46</details>4748<details>49<summary><strong>Why to use Lara inside an LLM</strong></summary>5051Integrating Lara with LLMs creates a powerful synergy that significantly enhances translation quality for non-English languages.5253#### Why General LLMs Fall Short in Translation54While large language models possess broad linguistic capabilities, they often lack the specialized expertise and up-to-date terminology required for accurate translations in specific domains and languages.5556#### Laraβs Domain-Specific Advantage57Lara overcomes this limitation by leveraging Translation Language Models (T-LMs) trained on billions of professionally translated segments. These models provide domain-specific machine translation that captures cultural nuances and industry terminology that generic LLMs may miss. The result: translations that are contextually accurate and sound natural to native speakers.5859#### Designed for Non-English Strength60Lara has a strong focus on non-English languages, addressing the performance gap found in models such as GPT-4. The dominance of English in datasets such as Common Crawl and Wikipedia results in lower quality output in other languages. Lara helps close this gap by providing higher quality understanding, generation, and restructuring in a multilingual context.6162#### Faster, Smarter Multilingual Performance63By offloading complex translation tasks to specialized T-LMs, Lara reduces computational overhead and minimizes latencyβa common issue for LLMs handling non-English input. Its architecture processes translations in parallel with the LLM, enabling for real-time, high-quality output without compromising speed or efficiency.6465#### Cost-Efficient Translation at Scale66Lara also lowers the cost of using models like GPT-4 in non-English workflows. Since tokenization (and pricing) is optimized for English, using Lara allows translation to take place before hitting the LLM, meaning that only the translated English content is processed. This improves cost efficiency and supports competitive scalability for global enterprises.67</details>6869## π Available Tools7071### Translation Tools7273<details>74<summary><strong>translate</strong> - Translate text between languages</summary>7576**Inputs**:77- `text` (array): An array of text blocks to translate, each with:78 - `text` (string): The text content79 - `translatable` (boolean): Whether this block should be translated80- `source` (optional string): Source language code (e.g., 'en-EN')81- `target` (string): Target language code (e.g., 'it-IT')82- `context` (optional string): Additional context to improve translation quality83- `instructions` (optional string[]): Instructions to adjust translation behavior84- `source_hint` (optional string): Guidance for language detection85- `glossaries` (optional string[]): Array of glossary IDs to enforce terminology (e.g., ['gls_xyz123'])86- `no_trace` (optional boolean): Privacy flag - if true, request won't be traced/logged87- `priority` (optional string): Translation priority - 'normal' or 'background'88- `timeout_in_millis` (optional number): Custom timeout in milliseconds8990**Returns**: Translated text blocks maintaining the original structure91</details>9293### Glossaries Tools9495<details>96<summary><strong>list_glossaries</strong> - List all glossaries</summary>9798**Inputs**: None99100**Returns**: Array of glossaries with their details (id, name, createdAt, updatedAt, ownerId)101</details>102103<details>104<summary><strong>get_glossary</strong> - Get a specific glossary by ID</summary>105106**Inputs**:107- `id` (string): The glossary ID (e.g., 'gls_xyz123')108109**Returns**: Glossary object or null if not found110</details>111112### Translation Memories Tools113114<details>115116<summary><strong>list_memories</strong> - List saved translation memories</summary>117118**Returns**: Array of memories and their details119</details>120121<details>122<summary><strong>create_memory</strong> - Create a new translation memory</summary>123124**Inputs**:125- `name` (string): Name of the new memory126- `external_id` (optional string): ID of the memory to import from MyMemory (e.g., 'ext_my_[MyMemory ID]')127128**Returns**: Created memory data129</details>130131<details>132<summary><strong>update_memory</strong> - Update translation memory name</summary>133134**Inputs**:135- `id` (string): ID of the memory to update136- `name` (string): The new name for the memory137138**Returns**: Updated memory data139</details>140141<details>142<summary><strong>delete_memory</strong> - Delete a translation memory</summary>143144**Inputs**:145- `id` (string): ID of the memory to delete146147**Returns**: Deleted memory data148</details>149150<details>151<summary><strong>add_translation</strong> - Add a translation unit to memory</summary>152153**Inputs**:154- `id` (string | string[]): ID or IDs of memories where to add the translation unit155- `source` (string): Source language code156- `target` (string): Target language code157- `sentence` (string): The source sentence158- `translation` (string): The translated sentence159- `tuid` (optional string): Translation Unit unique identifier160- `sentence_before` (optional string): Context sentence before161- `sentence_after` (optional string): Context sentence after162163**Returns**: Added translation details164</details>165166<details>167<summary><strong>delete_translation</strong> - Delete a translation unit from memory</summary>168169**Inputs**:170- `id` (string): ID of the memory171- `source` (string): Source language code172- `target` (string): Target language code173- `sentence` (string): The source sentence174- `translation` (string): The translated sentence175- `tuid` (optional string): Translation Unit unique identifier176- `sentence_before` (optional string): Context sentence before177- `sentence_after` (optional string): Context sentence after178179**Returns**: Removed translation details180</details>181182<details>183<summary><strong>import_tmx</strong> - Import a TMX file into a memory</summary>184185**Inputs**:186- `id` (string): ID of the memory to update187- `tmx_content` (string): The content of the tmx file to upload188- `gzip` (boolean): Indicates if the file is compressed (.gz)189190**Returns**: Import details191</details>192193<details>194<summary><strong>check_import_status</strong> - Checks the status of a TMX file import</summary>195196**Inputs**:197- `id` (string): The ID of the import job198199**Returns**: Import details200</details>201202## π Getting Started203Lara supports both the STDIO and streamable HTTP protocols. For a hassle-free setup, we recommend using the HTTP protocol. If you prefer to use STDIO, it must be installed locally on your machine.204205You'll find setup instructions for both protocols in the sections below.206207## β οΈ Security Note208209**Important:** When running your own HTTP server instance (not using the remote `https://mcp.laratranslate.com/v1`), all connected clients share the same Lara API credentials configured via `LARA_ACCESS_KEY_ID` and `LARA_ACCESS_KEY_SECRET` environment variables.210211This server is designed for:212- β Single-user deployments213- β Trusted-environment deployments (e.g., internal tools)214215For multi-tenant scenarios, either:216- Use the remote server at `https://mcp.laratranslate.com/v1` where each client provides their own credentials via headers217- Deploy separate MCP server instances per user with isolated credentials218219### HTTP Server π220<details>221<summary><strong>β Clients NOT supporting <code>url</code> configuration (e.g., Claude, OpenAI)</strong></summary>222223This installation guide is intended for clients that do NOT support the url-based configuration. This option requires Node.js to be installed on your system.224225> If you're unsure how to configure an MCP with your client, please refer to your MCP client's official documentation.226227---2282291. Open your client's MCP configuration JSON file with a text editor, then copy and paste the following snippet:230231```json232{233 "mcpServers": {234 "lara": {235 "command": "npx",236 "args": [237 "mcp-remote",238 "https://mcp.laratranslate.com/v1",239 "--header",240 "x-lara-access-key-id: ${X_LARA_ACCESS_KEY_ID}",241 "--header",242 "x-lara-access-key-secret: ${X_LARA_ACCESS_KEY_SECRET}"243 ],244 "env": {245 "X_LARA_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY_ID>",246 "X_LARA_ACCESS_KEY_SECRET": "<YOUR_ACCESS_KEY_SECRET>"247 }248 }249 }250}251```2522532. Replace `<YOUR_ACCESS_KEY_ID>` and `<YOUR_ACCESS_KEY_SECRET>` with your Lara Translate API credentials. Refer to the [Official Documentation](https://developers.laratranslate.com/docs/getting-started#step-3---configure-your-credentials) for details.2542553. Restart your MCP client.256257</details>258259<details>260<summary><strong>β Clients supporting <code>url</code> configuration (e.g., Cursor, Continue)</strong></summary>261262This installation guide is intended for clients that support the url-based configuration. These clients can connect to Lara through a remote HTTP endpoint by specifying a simple configuration object.263264Some examples of supported clients include Cursor, Continue, OpenDevin, and Aider.265> If you're unsure how to configure an MCP with your client, please refer to your MCP client's official documentation.266267---2682691. Open your client's MCP configuration JSON file with a text editor, then copy and paste the following snippet:270271```json272{273 "mcpServers": {274 "lara": {275 "url": "https://mcp.laratranslate.com/v1",276 "headers": {277 "x-lara-access-key-id": "<YOUR_ACCESS_KEY_ID>",278 "x-lara-access-key-secret": "<YOUR_ACCESS_KEY_SECRET>"279 }280 }281 }282}283```2842852. Replace `<YOUR_ACCESS_KEY_ID>` and `<YOUR_ACCESS_KEY_SECRET>` with your Lara Translate API credentials. Refer to the [Official Documentation](https://developers.laratranslate.com/docs/getting-started#step-3---configure-your-credentials) for details.2862873. Restart your MCP client.288289</details>290291---292293### STDIO Server π₯οΈ294<details>295<summary><strong>Using NPX</strong></summary>296297This option requires Node.js to be installed on your system.2982991. Add the following to your MCP configuration file:300```json301{302 "mcpServers": {303 "lara-translate": {304 "command": "npx",305 "args": ["-y", "@translated/lara-mcp@latest"],306 "env": {307 "LARA_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY_ID>",308 "LARA_ACCESS_KEY_SECRET": "<YOUR_ACCESS_KEY_SECRET>"309 }310 }311 }312}313```3143152. Replace `<YOUR_ACCESS_KEY_ID>` and `<YOUR_ACCESS_KEY_SECRET>` with your actual Lara API credentials.316</details>317318<details>319<summary><strong>Using Docker</strong></summary>320321This option requires Docker to be installed on your system.3223231. Add the following to your MCP configuration file:324```json325{326 "mcpServers": {327 "lara-translate": {328 "command": "docker",329 "args": [330 "run",331 "-i",332 "--rm",333 "-e",334 "LARA_ACCESS_KEY_ID",335 "-e",336 "LARA_ACCESS_KEY_SECRET",337 "translatednet/lara-mcp:latest"338 ],339 "env": {340 "LARA_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY_ID>",341 "LARA_ACCESS_KEY_SECRET": "<YOUR_ACCESS_KEY_SECRET>"342 }343 }344 }345}346```3473482. Replace `<YOUR_ACCESS_KEY_ID>` and `<YOUR_ACCESS_KEY_SECRET>` with your actual Lara API credentials.349</details>350351<details>352<summary><strong>Building from Source</strong></summary>353354#### Using Node.js3553561. Clone the repository:357```bash358git clone https://github.com/translated/lara-mcp.git359cd lara-mcp360```3613622. Install dependencies and build:363```bash364# Install dependencies365pnpm install366367# Build368pnpm run build369```3703713. Add the following to your MCP configuration file:372```json373{374 "mcpServers": {375 "lara-translate": {376 "command": "node",377 "args": ["<FULL_PATH_TO_PROJECT_FOLDER>/dist/index.js"],378 "env": {379 "LARA_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY_ID>",380 "LARA_ACCESS_KEY_SECRET": "<YOUR_ACCESS_KEY_SECRET>"381 }382 }383 }384}385```3864. Replace:387 - `<FULL_PATH_TO_PROJECT_FOLDER>` with the absolute path to your project folder388 - `<YOUR_ACCESS_KEY_ID>` and `<YOUR_ACCESS_KEY_SECRET>` with your actual Lara API credentials.389390#### Building a Docker Image3913921. Clone the repository:393```bash394git clone https://github.com/translated/lara-mcp.git395cd lara-mcp396```3973982. Build the Docker image:399```bash400docker build -t lara-mcp .401```4024033. Add the following to your MCP configuration file:404```json405{406 "mcpServers": {407 "lara-translate": {408 "command": "docker",409 "args": [410 "run",411 "-i",412 "--rm",413 "-e",414 "LARA_ACCESS_KEY_ID",415 "-e",416 "LARA_ACCESS_KEY_SECRET",417 "lara-mcp"418 ],419 "env": {420 "LARA_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY_ID>",421 "LARA_ACCESS_KEY_SECRET": "<YOUR_ACCESS_KEY_SECRET>"422 }423 }424 }425}426```4274284. Replace `<YOUR_ACCESS_KEY_ID>` and `<YOUR_ACCESS_KEY_SECRET>` with your actual credentials.429</details>430431## π§ͺ Verify Installation432433After restarting your MCP client, you should see Lara Translate MCP in the list of available MCPs.434> The method for viewing installed MCPs varies by client. Please consult your MCP client's documentation.435436To verify that Lara Translate MCP is working correctly, try translating with a simple prompt:437```text438Translate with Lara "Hello world" to Spanish439```440441Your MCP client will begin generating a response. If Lara Translate MCP is properly installed and configured, your client will either request approval for the action or display a notification that Lara Translate is being used.442443## π» Popular Clients that supports MCPs444445> For a complete list of MCP clients and their feature support, visit the [official MCP clients page](https://modelcontextprotocol.io/clients).446447| Client | Description |448|-------------------------------------------------------------------|------------------------------------------------------|449| [Claude Desktop](https://claude.ai/download) | Desktop application for Claude AI |450| [Aixplain](https://aixplain.com/) | Production-ready AI Agents |451| [Cursor](https://www.cursor.com/) | AI-first code editor |452| [Cline for VS Code](https://github.com/cline/cline) | VS Code extension for AI assistance |453| [GitHub Copilot MCP](https://github.com/VikashLoomba/copilot-mcp) | VS Code extension for GitHub Copilot MCP integration |454| [Windsurf](https://windsurf.com/editor) | AI-powered code editor and development environment |455456## π Support457458- For issues with Lara Translate API: Visit [Lara Translate API and Integrations Support](https://support.laratranslate.com)459- For issues with this MCP Server: Open an issue on [GitHub](https://github.com/translated/lara-mcp/issues)460
Full transparency β inspect the skill content before installing.