Skip to main content
Glama
ACRT-EVAL

Lara Translate MCP Server

by ACRT-EVAL

Lara Translate MCP Server

A Model Context Protocol (MCP) Server for Lara Translate API, enabling powerful translation capabilities with support for language detection and context-aware translations.

Table of Contents

Related MCP server: nativ-mcp

Introduction

What is MCP?

Model Context Protocol (MCP) is a standardized communication protocol that allows AI applications to connect with external tools and services. MCP servers act as bridges between AI models and specific functionalities, enabling AI applications to perform specialized tasks beyond their built-in capabilities.

How Lara Translate MCP Works

The Lara Translate MCP Server enables AI applications to access Lara Translate API. When integrated with an MCP-compatible AI application:

  1. Connection: The AI application connects to the Lara Translate MCP Server

  2. Request: When translation is needed, the application sends a structured request to the MCP server

  3. Processing: The MCP server forwards the request to Lara Translate's API

  4. Response: Translation results are returned to the AI application

This integration allows AI applications to seamlessly incorporate high-quality translations into their workflows without needing to directly implement the translation API.

Features

  • Language Detection: Automatic detection of source language when not specified

  • Context-Aware Translations: Provide contextual hints to improve translation quality

  • Custom Instructions: Fine-tune translation behavior with specific instructions

  • Multi-Language Support: Translate between numerous language pairs

Available Tools

  1. translate

    • Translate text between languages with support for language detection and context-aware translations

    • Inputs:

      • text (array): An array of text blocks to translate, each with:

        • text (string): The text content

        • translatable (boolean): Whether this block should be translated

      • source (optional string): Source language code (e.g., 'en-EN' for English)

      • target (string): Target language code (e.g., 'it-IT' for Italian)

      • context (optional string): Additional context to improve translation quality

      • instructions (optional string[]): Instructions to adjust translation behavior

      • source_hint (optional string): Guidance for language detection

    • Returns: Translated text blocks maintaining the original structure

Prerequisites

Before installing, you need to:

  1. Obtain API credentials from Lara Translate:

    • Create an account on the Lara website

    • Subscribe to any plan (including the free tier)

    • Navigate to the API section in your account

    • Generate a new pair of Lara API credentials

    • Store your LARA_ACCESS_KEY_ID and LARA_ACCESS_KEY_SECRET securely

Note: If you lose your credentials, they cannot be recovered, and you'll need to generate new ones.

Installation & Setup

There are three ways to install and run the Lara Translate MCP Server:

This option requires Docker to be installed on your system.

  1. Add the following to your MCP configuration file:

{
  "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>"
      }
    }
  }
}
  1. Replace <YOUR_ACCESS_KEY_ID> and <YOUR_ACCESS_KEY_SECRET> with your actual Lara API credentials.

Option 2: Using NPX

This option requires Node.js to be installed on your system.

  1. Add the following to your MCP configuration file:

{
  "mcpServers": {
    "lara-translate": {
      "command": "npx",
      "args": ["-y", "@translated/lara-mcp"],
      "env": {
        "LARA_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY_ID>",
        "LARA_ACCESS_KEY_SECRET": "<YOUR_ACCESS_KEY_SECRET>"
      }
    }
  }
}
  1. Replace <YOUR_ACCESS_KEY_ID> and <YOUR_ACCESS_KEY_SECRET> with your actual Lara API credentials.

Using Node.js

  1. Clone the repository:

git clone https://github.com/translated/lara-mcp.git
cd lara-mcp
  1. Install dependencies and build:

# Install dependencies
pnpm install

# Build
pnpm run build
  1. Add the following to your MCP configuration file:

{
  "mcpServers": {
    "lara-translate": {
      "command": "node",
      "args": ["<FULL_PATH_TO_PROJECT_FOLDER>/dist/index.js"],
      "env": {
        "LARA_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY_ID>",
        "LARA_ACCESS_KEY_SECRET": "<YOUR_ACCESS_KEY_SECRET>"
      }
    }
  }
}
  1. Replace:

    • <FULL_PATH_TO_PROJECT_FOLDER> with the absolute path to your project folder

    • <YOUR_ACCESS_KEY_ID> and <YOUR_ACCESS_KEY_SECRET> with your actual Lara API credentials.

Building a Docker Image

  1. Clone the repository:

git clone https://github.com/translated/lara-mcp.git
cd lara-mcp
  1. Build the Docker image:

docker build -t lara-mcp .
  1. Add the following to your MCP configuration file:

{
  "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>"
      }
    }
  }
}
  1. Replace <YOUR_ACCESS_KEY_ID> and <YOUR_ACCESS_KEY_SECRET> with your actual credentials.

Configuration Location

The MCP configuration file location depends on the AI application you're using. Common locations include:

  • Claude Desktop:

    • Windows: %APPDATA%\Claude Desktop\claude_desktop_config.json

    • macOS: ~/Library/Application Support/Claude Desktop/claude_desktop_config.json

    • Linux: ~/.config/Claude Desktop/claude_desktop_config.json

  • Other Applications: Refer to the specific application's documentation for configuration file location

If the configuration file doesn't exist, you'll need to create it.

Verifying Installation

After setting up the MCP server and restarting your AI application:

  1. Open your MCP-compatible application

  2. Check if the translation functionality is available by trying a simple translation command:

    Translate with Lara "Hello world" to Spanish

Usage Examples

Basic Translation

Prompt:

Translate with Lara "la terra è rossa", I'm talking with a tennis player.

API Input:

{
    "text": [
        { "text": "la terra è rossa", "translatable": true }
    ],
    "target": "en-US",
    "context": "Conversation with a tennis player"
}

API Output:

[
    {
        "text": "The clay is red.",
        "translatable": true
    }
]

With Instructions

Prompt:

Translate with Lara "Buongiorno, come stai?" to English, use a formal tone.

API Input:

{
    "text": [
        { "text": "Buongiorno, come stai?", "translatable": true }
    ],
    "target": "en-US",
    "instructions": ["Use a formal tone"]
}

API Output:

[
    {
        "text": "Good morning, how are you?",
        "translatable": true
    }
]

Support

For issues with Lara Translate API, contact Lara Support.

For issues with this MCP Server, open an issue on the GitHub repository.

License Docker Pulls npm downloads

Available Tools

1 tool
translateB

Translate text between languages with support for language detection and context-aware translations.

NameRequiredDescriptionDefault
textYesAn array of text blocks to translate. Each block contains a text string and a boolean indicating whether it should be translated. This allows for selective translation where some text blocks can be preserved in their original form while others are translated.
sourceNoThe source language code (e.g., 'en-EN' for English). If not specified, the system will attempt to detect it automatically. If you have a hint about the source language, you should specify it in the source_hint field.
targetYesThe target language code (e.g., 'it-IT' for Italian). This specifies the language you want the text translated into.
contextNoAdditional context string to improve translation quality (e.g., 'This is a legal document' or 'Im talking with a doctor'). This helps the translation system better understand the domain.
source_hintNoUsed to guide language detection. Specify this when the source language is uncertain to improve detection accuracy.
instructionsNoA list of instructions to adjust the network’s behavior regarding the output (e.g., 'Use a formal tone').

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden, yet it discloses only that detection is automatic and translations are context-aware. It says nothing about the return format (one string vs. aligned array of translated blocks), error behavior, or handling of non-translatable blocks, which matters given the array structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single well-formed sentence with no waste and the core purpose front-loaded. It is efficient, though it is arguably compressed to the point of omitting useful detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-parameter, nested-array tool with no annotations and no output schema, the one-sentence description leaves the response shape and block-level behavior unexplained. The schema compensates for parameter detail, but the description could do more for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are already well documented individually. The description adds only the high-level notions of 'language detection' and 'context-aware', which loosely correspond to source_hint and context but do not deepen parameter meaning beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('translate text between languages') plus the distinguishing capabilities (language detection, context-aware translation). No siblings exist, so sibling differentiation is not required. Clear but not maximally precise about the text-block/selective-translation model the schema implies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not-to-use guidance is given, and there are no sibling tools to compare against. The mention of automatic detection hints at usage but leaves the choice between 'source' and 'source_hint' to inference. Adequate but with clear gaps.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev0.0.7
    • First observedtranslate

TDQS

A3.5/5.0

Scored across 1 tool

Disambiguation5/5

There is only one tool, so there is no possibility of confusing it with another. An agent can unambiguously select the sole translation operation.

Naming Consistency5/5

With a single tool named 'translate', there are no competing naming conventions or inconsistencies. The name is clear and directly reflects its purpose.

Tool Count3/5

One tool is borderline thin for a translation server; while it may cover the core operation, a single tool leaves little room for auxiliary operations like listing languages or batch translation. The count is minimal but not egregiously mismatched.

Completeness4/5

The core translation operation is present and includes language detection and context-aware translation, covering the primary workflow. Minor gaps such as language enumeration or batch translation exist but can likely be worked around by agents.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers