---
canonical_url: "https://docs.composio.dev/toolkits/lilt_mcp"
markdown_url: "https://docs.composio.dev/toolkits/lilt_mcp.md"
product: "platform"
version: null
last_updated: null
---

# LILT MCP

LILT MCP connects agents to authorized translation and localization workflows exposed by LILT's hosted server.

- **Category:** model context protocol
- **Auth:** DCR_OAUTH
- **Composio-managed OAuth available?** No
- **Tools:** 9
- **Triggers:** 0
- **Slug:** `LILT_MCP`
- **Version:** 20260910_00

## Tools

### Check job status

**Slug:** `LILT_MCP_CHECK_JOB_STATUS`

Checks the status of a verified translation job.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `job_id` | integer | Yes | The ID of the job to check. |

### Create trained model

**Slug:** `LILT_MCP_CREATE_TRAINED_MODEL`

Creates a new trained translation model for a specific language pair.

Use this tool when a user wants to improve translation quality for a
specific language pair by creating a translation model that can be trained
with their own data. This is a prerequisite for using
`translate_files_with_verification` for that language pair.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `src_lang` | string | Yes | The source language formatted as an IETF BCP 47 language tag       (e.g., "en", "es"). |
| `trg_lang` | string | Yes | The target language formatted as an IETF BCP 47 language tag       (e.g., "fr", "de"). |

### Download job

**Slug:** `LILT_MCP_DOWNLOAD_JOB`

Triggers a job export and returns a download link for the completed job.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `job_id` | integer | Yes | The ID of the job to download. |

### Get credit balance information

**Slug:** `LILT_MCP_GET_CREDIT_BALANCE_INFORMATION`

Retrieves all available credit balances for the authenticated user.

Instant credits refresh every month. You get a certain amount to use every month.
Every month the credits refresh.

Verified credits don't expire. Once they are purchased you will always have them.

Use this tool to check the current balance for both instant and verified
translation credits.

Returns:
    dict[str, int]: A dictionary representing the credits with the following keys:
        - instant_translation(int): The number of instant translation credits
        - verified_translation(int): The number of verified translation credits

### Hello world

**Slug:** `LILT_MCP_HELLO_WORLD`

Returns a friendly hello world message.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `result` | string | Yes |  |

### List resources

**Slug:** `LILT_MCP_LIST_RESOURCES`

Lists and filters jobs or models.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `archived` | boolean | No | For jobs, whether to list archived jobs instead of active ones.       Defaults to False. |
| `resource_type` | string | Yes | The type of resource to list. Can be "model" or "job". |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `result` | array | Yes |  |

### Translate files with verification

**Slug:** `LILT_MCP_TRANSLATE_FILES_WITH_VERIFICATION`

Create a verified translation job that will be assigned to professional LILT
linguists for translation and review.

IMPORTANT TWO-STEP WORKFLOW:

STEP 1 - Get Quote (user_confirmed=False, default):
- Call this tool WITHOUT user_confirmed or with user_confirmed=False
- Returns a quote showing credits needed, current balance, and detailed breakdown
- NO job is created, NO credits are deducted
- Show the user the quote and ask for explicit confirmation

STEP 2 - Create Job (user_confirmed=True):
- Only after user explicitly confirms, call this tool again with user_confirmed=True
- Creates the job and deducts credits
- Returns the created job details

Credit Handling:
- If insufficient_credits=True: Inform user they don't have enough credits and
  suggest purchasing more at https://mcp.lilt.com/home
- If credits are sufficient but low (10 or fewer): Warn user about low balance
  and suggest purchasing more credits
- If credits are sufficient: Show quote details (credits needed, current balance,
  balance after) and ASK FOR EXPLICIT CONFIRMATION before proceeding to step 2

If the tool throws a ValueError related to no trained models existing for a
language pair, then tell this to the user and ask if they would like to
create a trained model.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | A 20 character name for the job summarized from the user's instructions. |
| `file_ids` | array | Yes | A list file_ids uploaded to LILT |
| `src_lang` | string | Yes | The source language formatted as an IETF BCP 47 language tag. |
| `trg_langs` | array | Yes | A list of target languages formatted as an IETF BCP 47 language tag. |
| `user_confirmed` | boolean | No | Set to True only after showing quote to user and getting            explicit confirmation. Default is False (quote mode). |

### Translate text

**Slug:** `LILT_MCP_TRANSLATE_TEXT`

Translates text using LILT's instant translate API.

Use this tool when you need to translate text from one language to another
using LILT's neural translation models.

IMPORTANT: Check the 'insufficient_credits' field in the response. If True,
inform the user they don't have enough credits and suggest purchasing more
instant translation credits at https://mcp.lilt.com/home.

If the user has sufficient credits but their balance is running low (5,000
credits or fewer), inform them about the remaining balance and suggest
purchasing more credits to avoid interruptions.

In the response object, if the "used_trained_model" is false, then tell the
user that the translation was done with a LILT base model. If the user
wants to improve the translation quality or match their brand voice they
should create a trained model. Ask the user if they would like to create a
trained model.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `text` | string | Yes | The text to translate |
| `src_lang` | string | Yes | Source language code (e.g., "en", "es", "fr") |
| `trg_lang` | string | Yes | Target language code (e.g., "en", "es", "fr") |

### Upload file

**Slug:** `LILT_MCP_UPLOAD_FILE`

Upload a file to LILT for translation.

This tool handles file uploads. For non-plain-text file formats like PDF,
DOCX, RTF, etc., it assumes the client has extracted the text content.
To indicate that only the text is being used, the tool appends a `.txt`
extension to the original filename (e.g., `report.docx` becomes
`report.docx.txt`).

IMPORTANT: You must inform the user of this behavior. When a user uploads a
file like a PDF or DOCX, confirm by saying: "I am uploading the extracted
text from your file [original_filename] for translation."

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Original filename (e.g., "document.txt", "article.md") |
| `content` | string | Yes | The raw file content to be uploaded. For non-text files, this      should be the extracted text. |
| `content_type` | string | No | MIME type (defaults to "text/plain" if not specified) |
