Name | xliff-mcp-server JSON |
Version |
0.1.1
JSON |
| download |
home_page | None |
Summary | MCP server for processing XLIFF translation files |
upload_time | 2025-08-13 10:26:00 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | MIT License
Copyright (c) 2024 XLIFF MCP Server Contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. |
keywords |
localization
mcp
translation
xliff
|
VCS |
 |
bugtrack_url |
|
requirements |
mcp
translate-toolkit
lxml
pydantic
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# 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
## Installation
### Automatic Setup (Recommended)
```bash
python setup.py
```
### Manual Installation
#### Using pip
```bash
pip install -r requirements.txt
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
## 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"
## Development
### Running tests
```bash
python -m pytest tests/
```
### Running the server directly
```bash
python -m xliff_mcp.server
```
## Requirements
- Python 3.10+
- mcp[cli] >= 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.
Raw data
{
"_id": null,
"home_page": null,
"name": "xliff-mcp-server",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "localization, mcp, translation, xliff",
"author": null,
"author_email": "floydy <floydy@langlinking.com>",
"download_url": "https://files.pythonhosted.org/packages/6f/3b/79dce022f26baa4971181e705fe6c93ca44b6fd5dde34a35e2c5a0fe4059/xliff_mcp_server-0.1.1.tar.gz",
"platform": null,
"description": "# XLIFF MCP Server\n\nAn 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.\n\n## Features\n\n- **XLIFF Processing**: Parse and extract translation units from XLIFF files\n- **TMX Processing**: Parse and extract translation units from TMX files \n- **Tag Preservation**: Special processing mode that preserves inline tags for AI translation\n- **Validation**: Validate XLIFF and TMX file formats\n- **Translation Replacement**: Replace target translations in XLIFF files\n\n## Installation\n\n### Automatic Setup (Recommended)\n\n```bash\npython setup.py\n```\n\n### Manual Installation\n\n#### Using pip\n\n```bash\npip install -r requirements.txt\npip install -e .\n```\n\n#### Using the install script\n\n```bash\n./install.sh # Unix/Linux/macOS\ninstall.bat # Windows\n```\n\n## Configuration\n\n### For Claude Desktop\n\nAdd the server to your Claude Desktop configuration file:\n\n**macOS/Linux**: `~/Library/Application Support/Claude/claude_desktop_config.json`\n**Windows**: `%AppData%\\Claude\\claude_desktop_config.json`\n\n```json\n{\n \"mcpServers\": {\n \"xliff-processor\": {\n \"command\": \"python\",\n \"args\": [\"-m\", \"xliff_mcp.server\"],\n \"cwd\": \"/absolute/path/to/xliff-mcp-server\"\n }\n }\n}\n```\n\nOr if using uv:\n\n```json\n{\n \"mcpServers\": {\n \"xliff-processor\": {\n \"command\": \"uv\",\n \"args\": [\"run\", \"python\", \"-m\", \"xliff_mcp.server\"],\n \"cwd\": \"/absolute/path/to/xliff-mcp-server\"\n }\n }\n}\n```\n\n## Available Tools\n\n### process_xliff\nProcess XLIFF content and extract translation units.\n\n**Parameters:**\n- `file_name` (string): Name of the XLIFF file\n- `content` (string): XLIFF file content\n\n**Returns:** JSON with translation units including:\n- fileName, segNumber, unitId, percent, source, target, srcLang, tgtLang\n\n### process_xliff_with_tags\nProcess XLIFF preserving inline tags for AI translation.\n\n**Parameters:**\n- `file_name` (string): Name of the XLIFF file\n- `content` (string): XLIFF file content\n\n**Returns:** JSON with translation units preserving original formatting tags\n\n### validate_xliff\nValidate XLIFF content format.\n\n**Parameters:**\n- `content` (string): XLIFF file content to validate\n\n**Returns:** JSON with validation status, message, and unit count\n\n### replace_xliff_targets\nReplace target translations in XLIFF file.\n\n**Parameters:**\n- `content` (string): Original XLIFF file content\n- `translations` (string): JSON array of translations with segNumber/unitId and aiResult/mtResult\n\n**Returns:** JSON with updated XLIFF content and replacement count\n\n### process_tmx\nProcess TMX content and extract translation units.\n\n**Parameters:**\n- `file_name` (string): Name of the TMX file\n- `content` (string): TMX file content\n\n**Returns:** JSON with translation units including metadata\n\n### validate_tmx\nValidate TMX content format.\n\n**Parameters:**\n- `content` (string): TMX file content to validate\n\n**Returns:** JSON with validation status and unit count\n\n## Usage Examples\n\nOnce configured in Claude Desktop, you can use the tools like this:\n\n1. **Process an XLIFF file:**\n \"Please process this XLIFF file and show me the translation units\"\n\n2. **Validate XLIFF format:**\n \"Can you validate if this XLIFF content is properly formatted?\"\n\n3. **Replace translations:**\n \"Replace the target translations in this XLIFF file with these new translations\"\n\n4. **Process TMX file:**\n \"Extract all translation units from this TMX file\"\n\n## Development\n\n### Running tests\n\n```bash\npython -m pytest tests/\n```\n\n### Running the server directly\n\n```bash\npython -m xliff_mcp.server\n```\n\n## Requirements\n\n- Python 3.10+\n- mcp[cli] >= 1.2.0\n- translate-toolkit >= 3.0.0\n- lxml >= 4.9.0\n- pydantic >= 2.0.0\n\n## License\n\nMIT\n\n## Support\n\nFor issues and questions, please open an issue on the GitHub repository.",
"bugtrack_url": null,
"license": "MIT License\n \n Copyright (c) 2024 XLIFF MCP Server Contributors\n \n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n \n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n \n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.",
"summary": "MCP server for processing XLIFF translation files",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://github.com/langlink-localization/xliff-mcp-server",
"Issues": "https://github.com/langlink-localization/xliff-mcp-server/issues",
"Repository": "https://github.com/langlink-localization/xliff-mcp-server"
},
"split_keywords": [
"localization",
" mcp",
" translation",
" xliff"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "f5875705e5f51fb9d39f9488611861c245d66df2d0cb440d1e30c3d6ebf1a7a6",
"md5": "5a2413a98eccb9c6008ac9e9513d7940",
"sha256": "3f366ab2de0372bcc8e1cec95b47bca6495332e15effdef720da8e2f70803be6"
},
"downloads": -1,
"filename": "xliff_mcp_server-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5a2413a98eccb9c6008ac9e9513d7940",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 14622,
"upload_time": "2025-08-13T10:25:58",
"upload_time_iso_8601": "2025-08-13T10:25:58.926734Z",
"url": "https://files.pythonhosted.org/packages/f5/87/5705e5f51fb9d39f9488611861c245d66df2d0cb440d1e30c3d6ebf1a7a6/xliff_mcp_server-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6f3b79dce022f26baa4971181e705fe6c93ca44b6fd5dde34a35e2c5a0fe4059",
"md5": "430cce51f141603f99689396f4f8217f",
"sha256": "9c5192b498d320f1e47ca71db2e811e5927aa219aaba42f903cdcad193c9b7d0"
},
"downloads": -1,
"filename": "xliff_mcp_server-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "430cce51f141603f99689396f4f8217f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 32034,
"upload_time": "2025-08-13T10:26:00",
"upload_time_iso_8601": "2025-08-13T10:26:00.266842Z",
"url": "https://files.pythonhosted.org/packages/6f/3b/79dce022f26baa4971181e705fe6c93ca44b6fd5dde34a35e2c5a0fe4059/xliff_mcp_server-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-13 10:26:00",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "langlink-localization",
"github_project": "xliff-mcp-server",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "mcp",
"specs": [
[
">=",
"1.2.0"
]
]
},
{
"name": "translate-toolkit",
"specs": [
[
">=",
"3.0.0"
]
]
},
{
"name": "lxml",
"specs": [
[
">=",
"4.9.0"
]
]
},
{
"name": "pydantic",
"specs": [
[
">=",
"2.0.0"
]
]
}
],
"lcname": "xliff-mcp-server"
}