Skip to main content
Glama
langlink-localization

xliff-processor

XLIFF MCP Server

An MCP (Model Context Protocol) server for processing XLIFF and TMX translation files. This server provides tools for parsing, validating, and manipulating translation files commonly used in localization workflows.

Features

  • XLIFF Processing: Parse and extract translation units from XLIFF files

  • TMX Processing: Parse and extract translation units from TMX files

  • Tag Preservation: Special processing mode that preserves inline tags for AI translation

  • Validation: Validate XLIFF and TMX file formats

  • Translation Replacement: Replace target translations in XLIFF files

  • CSV / JSON Export: Generate CSV or JSON file content from XLIFF and TMX inputs

  • Agent Skills Module: Provide a standalone skills/ module that AI agents can read directly

Related MCP server: @langapi/mcp-server

Installation

python setup.py

Manual Installation

Using pip

pip install -e .

Using the install script

./install.sh  # Unix/Linux/macOS
install.bat   # Windows

Configuration

For Claude Desktop

Add the server to your Claude Desktop configuration file:

macOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %AppData%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "xliff-processor": {
      "command": "python",
      "args": ["-m", "xliff_mcp.server"],
      "cwd": "/absolute/path/to/xliff-mcp-server"
    }
  }
}

Or if using uv:

{
  "mcpServers": {
    "xliff-processor": {
      "command": "uv",
      "args": ["run", "python", "-m", "xliff_mcp.server"],
      "cwd": "/absolute/path/to/xliff-mcp-server"
    }
  }
}

Available Tools

process_xliff

Process XLIFF content and extract translation units.

Parameters:

  • file_name (string): Name of the XLIFF file

  • content (string): XLIFF file content

Returns: JSON with translation units including:

  • fileName, segNumber, unitId, percent, source, target, srcLang, tgtLang

process_xliff_with_tags

Process XLIFF preserving inline tags for AI translation.

Parameters:

  • file_name (string): Name of the XLIFF file

  • content (string): XLIFF file content

Returns: JSON with translation units preserving original formatting tags

validate_xliff

Validate XLIFF content format.

Parameters:

  • content (string): XLIFF file content to validate

Returns: JSON with validation status, message, and unit count

replace_xliff_targets

Replace target translations in XLIFF file.

Parameters:

  • content (string): Original XLIFF file content

  • translations (string): JSON array of translations with segNumber/unitId and aiResult/mtResult

Returns: JSON with updated XLIFF content and replacement count

process_tmx

Process TMX content and extract translation units.

Parameters:

  • file_name (string): Name of the TMX file

  • content (string): TMX file content

Returns: JSON with translation units including metadata

validate_tmx

Validate TMX content format.

Parameters:

  • content (string): TMX file content to validate

Returns: JSON with validation status and unit count

export_xliff_file

Generate CSV or JSON file content from an XLIFF file.

Parameters:

  • file_name (string): Name of the source XLIFF file

  • content (string): XLIFF file content

  • output_format (string): csv or json

  • preserve_tags (boolean): Whether to preserve inline tags before export

Returns: JSON with generated file_name, mime_type, content, and unit_count

export_tmx_file

Generate CSV or JSON file content from a TMX file.

Parameters:

  • file_name (string): Name of the source TMX file

  • content (string): TMX file content

  • output_format (string): csv or json

Returns: JSON with generated file_name, mime_type, content, and unit_count

Available Skills

Skills are separate from the MCP runtime and its tools.

  • MCP Runtime: The xliff_mcp/ package that exposes tools, prompts, and resources

  • Agent Skills Module: The top-level skills/ directory that AI agents can read directly

  • Runtime Workflow Registration: The xliff_mcp/workflows/ package that maps workflow guidance into MCP prompts/resources

The runtime still exposes workflow guidance through:

  • Prompts: Reusable workflow prompts that guide the client through the right tool sequence

  • Resources: A discoverable skill catalog at skills://catalog and per-skill detail resources at skills://{skill_name}

For agent usage inside the repository:

prepare_xliff_for_translation

Validate XLIFF content, extract translation units, and summarize translation readiness.

translate_xliff_with_tags

Extract tag-preserving XLIFF segments and guide AI translation without breaking inline markup.

replace_xliff_targets_from_translations

Merge translated segment JSON back into the original XLIFF and verify the replacement count.

inspect_tmx_translation_memory

Validate TMX content, inspect language pairs, and summarize translation memory entries for reuse.

Usage Examples

Once configured in Claude Desktop, you can use the tools like this:

  1. Process an XLIFF file: "Please process this XLIFF file and show me the translation units"

  2. Validate XLIFF format: "Can you validate if this XLIFF content is properly formatted?"

  3. Replace translations: "Replace the target translations in this XLIFF file with these new translations"

  4. Process TMX file: "Extract all translation units from this TMX file"

  5. Generate a CSV export: "Export this XLIFF file as CSV and give me the file content"

  6. Generate a JSON export: "Export this TMX file as JSON so I can save it locally"

  7. Use a runtime workflow prompt: "Use the translate_xliff_with_tags prompt to help me translate this XLIFF safely"

Development

Running lint

ruff check .

Running tests

python -m pytest

Running the smoke test script

python test_server.py

Running the server directly

python -m xliff_mcp.server

Requirements

  • Python 3.10+

  • mcp >= 1.2.0

  • translate-toolkit >= 3.0.0

  • lxml >= 4.9.0

  • pydantic >= 2.0.0

License

MIT

Support

For issues and questions, please open an issue on the GitHub repository.

Available Tools

9 tools
export_tmx_fileD
ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNo
contentYes
file_nameYes
output_formatNocsv

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

export_xliff_fileD
ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNo
contentYes
file_nameYes
output_formatNocsv
preserve_tagsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

get_server_infoD
ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

process_tmxD
ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNo
contentYes
file_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

process_xliffD
ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNo
contentYes
file_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

process_xliff_with_tagsD
ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNo
contentYes
file_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

replace_xliff_targetsD
ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNo
contentYes
translationsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

validate_tmxD
ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNo
contentYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

validate_xliffD
ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNo
contentYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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. Dates show when Glama detected each change.

  1. 9 tool updatesv0.1.1
    • First observedexport_tmx_file
    • First observedexport_xliff_file
    • First observedget_server_info
    • First observedprocess_tmx
    • First observedprocess_xliff
    • First observedprocess_xliff_with_tags
    • First observedreplace_xliff_targets
    • First observedvalidate_tmx
    • First observedvalidate_xliff

TDQS

C2.1/5.0
Disambiguation5/5

Each tool targets a distinct action (export, process, validate, replace, get info) with specific file types (XLIFF or TMX). The only potential overlap is process_xliff and process_xliff_with_tags, but the latter explicitly handles tags, making them clearly distinguishable.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern in snake_case, e.g., export_tmx_file, process_xliff, validate_tmx. The naming is predictable and uniform across the entire set.

Tool Count5/5

With 9 tools covering export, process, validate, replace, and server info for both XLIFF and TMX, the count is well-scoped for a file processing server. No tools feel extraneous or missing.

Completeness4/5

The tool surface covers the core lifecycle for XLIFF and TMX: export, process, validate, and replace. Minor gaps exist, such as missing import or merge tools, but for a focused XLIFF processor, it is largely complete.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    MCP server for managing translation projects in Weblate. With the ability to search, read and write transltaions.
    20
    97
    23
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    An MCP server for internationalization (i18n) tasks, providing tools to translate, move, list, and remove translation keys in JSON files for the Kilo Code extension.
    26
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/langlink-localization/xliff-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server