# Xliff Mcp Server

> MCP server for processing XLIFF translation files

- **Type:** MCP server
- **Install:** `agentstack add mcp-langlink-localization-xliff-mcp-server`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [langlink-localization](https://agentstack.voostack.com/s/langlink-localization)
- **Installs:** 0
- **Category:** [Integrations](https://agentstack.voostack.com/c/integrations)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [langlink-localization](https://github.com/langlink-localization)
- **Source:** https://github.com/langlink-localization/xliff-mcp-server

## Install

```sh
agentstack add mcp-langlink-localization-xliff-mcp-server
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 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

## Installation

### Automatic Setup (Recommended)

```bash
python setup.py
```

### Manual Installation

#### Using pip

```bash
pip install -e .
```

#### Using the install script

```bash
./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`

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

Or if using uv:

```json
{
  "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:

- start with [skills/README.md](/home/user/projects/xliff-mcp-server/skills/README.md)
- use [skills/catalog.json](/home/user/projects/xliff-mcp-server/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:

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

```bash
ruff check .
```

### Running tests

```bash
python -m pytest
```

### Running the smoke test script

```bash
python test_server.py
```

### Running the server directly

```bash
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.

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [langlink-localization](https://github.com/langlink-localization)
- **Source:** [langlink-localization/xliff-mcp-server](https://github.com/langlink-localization/xliff-mcp-server)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-langlink-localization-xliff-mcp-server
- Seller: https://agentstack.voostack.com/s/langlink-localization
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
