xliff-processor
This server processes, validates, and manipulates translation files in XLIFF and TMX formats. It provides tools to extract translation units, preserve inline tags, validate file integrity, replace target translations, and export data to CSV/JSON. Additionally, it offers automated, AI-guided translation workflows via skills such as preparing XLIFF for translation, translating with tags, merging translations, and inspecting TMX memory.
Capabilities:
Process XLIFF: Extract translation units with metadata (
process_xliff) and preserve inline tags for AI translation (process_xliff_with_tags).Process TMX: Extract translation units from TMX translation memory (
process_tmx).Validate XLIFF and TMX: Check format validity and unit count (
validate_xliff,validate_tmx).Replace XLIFF targets: Merge translated segments back into the original file (
replace_xliff_targets).Export to CSV or JSON: Convert XLIFF or TMX files, with optional tag preservation for XLIFF (
export_xliff_file,export_tmx_file).Server info: Retrieve server metadata (
get_server_info).Guided workflows: Predefined skills like
prepare_xliff_for_translation,translate_xliff_with_tags,replace_xliff_targets_from_translations, and TMX inspection for efficient AI-assisted localization.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@xliff-processorValidate this XLIFF file and extract translation units"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Automatic Setup (Recommended)
python setup.pyManual Installation
Using pip
pip install -e .Using the install script
./install.sh # Unix/Linux/macOS
install.bat # WindowsConfiguration
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 filecontent(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 filecontent(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 contenttranslations(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 filecontent(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 filecontent(string): XLIFF file contentoutput_format(string):csvorjsonpreserve_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 filecontent(string): TMX file contentoutput_format(string):csvorjson
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 resourcesAgent Skills Module: The top-level
skills/directory that AI agents can read directlyRuntime 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://catalogand per-skill detail resources atskills://{skill_name}
For agent usage inside the repository:
start with skills/README.md
use skills/catalog.json as the machine-readable index
open the referenced skill markdown file for detailed workflow instructions
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:
Process an XLIFF file: "Please process this XLIFF file and show me the translation units"
Validate XLIFF format: "Can you validate if this XLIFF content is properly formatted?"
Replace translations: "Replace the target translations in this XLIFF file with these new translations"
Process TMX file: "Extract all translation units from this TMX file"
Generate a CSV export: "Export this XLIFF file as CSV and give me the file content"
Generate a JSON export: "Export this TMX file as JSON so I can save it locally"
Use a runtime workflow prompt: "Use the
translate_xliff_with_tagsprompt to help me translate this XLIFF safely"
Development
Running lint
ruff check .Running tests
python -m pytestRunning the smoke test script
python test_server.pyRunning the server directly
python -m xliff_mcp.serverRequirements
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 toolsexport_tmx_fileD
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | ||
| content | Yes | ||
| file_name | Yes | ||
| output_format | No | csv |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | ||
| content | Yes | ||
| file_name | Yes | ||
| output_format | No | csv | |
| preserve_tags | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | ||
| content | Yes | ||
| file_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | ||
| content | Yes | ||
| file_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | ||
| content | Yes | ||
| file_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | ||
| content | Yes | ||
| translations | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | ||
| content | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | ||
| content | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
9 tool updates
v0.1.1- First observed
export_tmx_file - First observed
export_xliff_file - First observed
get_server_info - First observed
process_tmx - First observed
process_xliff - First observed
process_xliff_with_tags - First observed
replace_xliff_targets - First observed
validate_tmx - First observed
validate_xliff
TDQS
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.
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.
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.
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
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
MCP server for Translation Services
MCP server for Crowdin — projects, files, strings, translation progress, tasks, and members.
Phrase MCP server: language intelligence platform for translation, terminology, and quality.
Lingo.dev MCP Server - World-class i18n implementation with ICU MessageFormat.
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP server for managing translation projects in Weblate. With the ability to search, read and write transltaions.209723MIT
- AlicenseAqualityBmaintenanceMCP server for AI-powered translation management in i18n projects, enabling automated locale detection, translation status checks, and sync via LangAPI.4391MIT

kilo-dev-mcp-serverofficial
AlicenseNot gradedqualityFmaintenanceAn MCP server for internationalization (i18n) tasks, providing tools to translate, move, list, and remove translation keys in JSON files for the Kilo Code extension.26MIT- AlicenseNot gradedqualityAmaintenanceMCP server for translating JSON localization files via DeepL API or local LLMs, enabling agents to estimate, check, and run translations.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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