shuji-bonji/xcomet-mcp-server

shuji-bonji/xcomet-mcp-server

от shuji-bonji
MCP сервер для оценки качества машинного перевода на базе xCOMET. Предоставляет AI-агентам скоринг (0-1), детекцию ошибок с указанием серьёзности и пакетную обработку до 500 пар текстов. Полезен для автоматизации контроля качества в пайплайнах перевода.

xCOMET MCP Server

npm version CI MCP License: MIT

日本語版 README はこちら

⚠️ This is an unofficial community project, not affiliated with Unbabel.

Translation quality evaluation MCP Server powered by xCOMET (eXplainable COMET).

🎯 Overview

xCOMET MCP Server provides AI agents with the ability to evaluate machine translation quality. It integrates with the xCOMET model from Unbabel to provide:

  • Quality Scoring: Scores between 0-1 indicating translation quality
  • Error Detection: Identifies error spans with severity levels (minor/major/critical)
  • Batch Processing: Evaluate multiple translation pairs efficiently (optimized single model load)
  • GPU Support: Optional GPU acceleration for faster inference
graph LR
    A[AI Agent] --> B[Node.js MCP Server]
    B -- stdio JSON-RPC --> C[Python Worker]
    C --> D[xCOMET Model<br/>Persistent in Memory]
    D --> C
    C --> B
    B --> A

    style D fill:#9f9

🔧 Prerequisites

Python Environment

  • Python 3.9 - 3.12 recommended (3.13+ is not yet supported by xCOMET dependencies)

xCOMET requires Python with several packages. We recommend using a virtual environment:

xcomet_batch_evaluateтолько чтениеидемпотентный

Оценивает несколько пар перевода в одном пакете. Этот инструмент обрабатывает несколько пар исходного текста и перевода и возвращает сводную статистику вместе с результатами по каждой паре. Args: - pairs (array): Массив пар перевода, каждая включает: - source (string): Исходный текст - translation (string): Перевод - reference (string, optional): Эталонный перевод - source_lang (string, optional): Код исходного языка - target_lang (string, optional): Код целевого языка - response_format ('json' | 'markdown'): Формат вывода (по умолчанию 'json') - use_gpu (boolean, optional): Использовать GPU для выполнения, если доступен (по умолчанию false) - batch_size (number, optional): Размер батча для выполнения, 1-64 (по умолчанию 8). Больше - быстрее, но требует больше памяти. Returns: { "average_score": number, "total_pairs": number, "results": [ { "index": number, "score": number, "error_count": number, "has_critical_errors": boolean } ], "summary": string } Examples: - Оценить полный переведённый документ - Сравнить качество систем машинного перевода на тестовом наборе - Выявить сегменты, требующие внимания

Batch Evaluate Translations

Оценивает несколько пар перевода в одном пакете. Этот инструмент обрабатывает несколько пар исходного текста и перевода и возвращает сводную статистику вместе с результатами по каждой паре. Args: - pairs (array): Массив пар перевода, каждая включает: - source (string): Исходный текст - translation (string): Перевод - reference (string, optional): Эталонный перевод - source_lang (string, optional): Код исходного языка - target_lang (string, optional): Код целевого языка - response_format ('json' | 'markdown'): Формат вывода (по умолчанию 'json') - use_gpu (boolean, optional): Использовать GPU для выполнения, если доступен (по умолчанию false) - batch_size (number, optional): Размер батча для выполнения, 1-64 (по умолчанию 8). Больше - быстрее, но требует больше памяти. Returns: { "average_score": number, "total_pairs": number, "results": [ { "index": number, "score": number, "error_count": number, "has_critical_errors": boolean } ], "summary": string } Examples: - Оценить полный переведённый документ - Сравнить качество систем машинного перевода на тестовом наборе - Выявить сегменты, требующие внимания

Параметры

  • pairsobject[]обязательный

    Array of translation pairs to evaluate

  • source_langstring

    Source language code

  • target_langstring

    Target language code

  • response_formatenum

    Output format

    jsonmarkdown
  • use_gpuboolean

    Use GPU for inference (faster if available). Default: false (CPU only)

  • batch_sizeinteger

    Batch size for GPU processing (1-64). Larger = faster but uses more memory. Default: 8

xcomet_detect_errorsтолько чтениеидемпотентный

Обнаруживает и категоризирует ошибки в переводе. Этот инструмент нацелен на обнаружение ошибок и выдаёт подробную информацию об ошибках перевода с указанием уровней серьёзности и позиций. Args: - source (string): Исходный текст (оригинал) - translation (string): Переведённый текст для анализа - reference (string, optional): Эталонный перевод - min_severity ('minor' | 'major' | 'critical'): Минимальный уровень серьёзности для отчёта (по умолчанию: 'minor') - response_format ('json' | 'markdown'): Формат вывода (по умолчанию: 'json') - use_gpu (boolean, optional): Использовать GPU для инференса, если доступен (по умолчанию: false) Returns: { "total_errors": number, "errors_by_severity": { "minor": number, "major": number, "critical": number }, "errors": [ { "text": string, "start": number, "end": number, "severity": "minor" | "major" | "critical", "suggestion": string | null } ] } Examples: - Поиск критических ошибок перед публикацией - Выявление областей, требующих пост-редактирования - Контроль качества результата машинного перевода

Detect Translation Errors

Обнаруживает и категоризирует ошибки в переводе. Этот инструмент нацелен на обнаружение ошибок и выдаёт подробную информацию об ошибках перевода с указанием уровней серьёзности и позиций. Args: - source (string): Исходный текст (оригинал) - translation (string): Переведённый текст для анализа - reference (string, optional): Эталонный перевод - min_severity ('minor' | 'major' | 'critical'): Минимальный уровень серьёзности для отчёта (по умолчанию: 'minor') - response_format ('json' | 'markdown'): Формат вывода (по умолчанию: 'json') - use_gpu (boolean, optional): Использовать GPU для инференса, если доступен (по умолчанию: false) Returns: { "total_errors": number, "errors_by_severity": { "minor": number, "major": number, "critical": number }, "errors": [ { "text": string, "start": number, "end": number, "severity": "minor" | "major" | "critical", "suggestion": string | null } ] } Examples: - Поиск критических ошибок перед публикацией - Выявление областей, требующих пост-редактирования - Контроль качества результата машинного перевода

Параметры

  • sourcestringобязательный

    Original source text

  • translationstringобязательный

    Translated text to analyze

  • referencestring

    Optional reference translation

  • min_severityenum

    Minimum severity level to report (minor, major, critical)

    minormajorcritical
  • response_formatenum

    Output format

    jsonmarkdown
  • use_gpuboolean

    Use GPU for inference (faster if available). Default: false (CPU only)

xcomet_evaluateтолько чтениеидемпотентный

Evaluate the quality of a translation using xCOMET model. This tool analyzes a source text and its translation, providing: - A quality score between 0 and 1 (higher is better) - Detected error spans with severity levels (minor/major/critical) - A human-readable quality summary Args: - source (string): Original source text to translate from - translation (string): Translated text to evaluate - reference (string, optional): Reference translation for comparison - source_lang (string, optional): Source language code (ISO 639-1) - target_lang (string, optional): Target language code (ISO 639-1) - response_format ('json' | 'markdown'): Output format (default: 'json') - use_gpu (boolean, optional): Use GPU for inference if available (default: false) Returns: For JSON format: { "score": number, // Quality score 0-1 "errors": [ // Detected errors { "text": string, "start": number, "end": number, "severity": "minor" | "major" | "critical" } ], "summary": string // Human-readable summary } Examples: - Evaluate EN→JA translation quality - Check if MT output needs post-editing - Compare translation against reference

Evaluate Translation Quality

Evaluate the quality of a translation using xCOMET model. This tool analyzes a source text and its translation, providing: - A quality score between 0 and 1 (higher is better) - Detected error spans with severity levels (minor/major/critical) - A human-readable quality summary Args: - source (string): Original source text to translate from - translation (string): Translated text to evaluate - reference (string, optional): Reference translation for comparison - source_lang (string, optional): Source language code (ISO 639-1) - target_lang (string, optional): Target language code (ISO 639-1) - response_format ('json' | 'markdown'): Output format (default: 'json') - use_gpu (boolean, optional): Use GPU for inference if available (default: false) Returns: For JSON format: { "score": number, // Quality score 0-1 "errors": [ // Detected errors { "text": string, "start": number, "end": number, "severity": "minor" | "major" | "critical" } ], "summary": string // Human-readable summary } Examples: - Evaluate EN→JA translation quality - Check if MT output needs post-editing - Compare translation against reference

Параметры

  • sourcestringобязательный

    Original source text

  • translationstringобязательный

    Translated text to evaluate

  • referencestring

    Optional reference translation for comparison

  • source_langstring

    Source language code (ISO 639-1, e.g., 'en', 'ja')

  • target_langstring

    Target language code (ISO 639-1, e.g., 'en', 'ja')

  • response_formatenum

    Output format: 'json' for structured data or 'markdown' for human-readable

    jsonmarkdown
  • use_gpuboolean

    Use GPU for inference (faster if available). Default: false (CPU only)

Другие проверенные MCP-сервера

buildkite/buildkite-mcp-server

buildkite/buildkite-mcp-server

официальный

MCP-сервер для интеграции данных Buildkite (пайплайны, сборки, задания, тесты) с AI-инструментами и редакторами. Разработчики могут анализировать CI/CD-процессы через ИИ-ассистентов.

Go53
jau123/MeiGen-AI-Design-MCP

jau123/MeiGen-AI-Design-MCP

MCP-сервер для генерации изображений и видео через ИИ. Работает в Claude Code, Cursor и других AI-инструментах, поддерживает 9 моделей и 1446 промптов. Параллельная генерация, управление стилями и ...

TypeScript1584
manusa/Kubernetes MCP Server

manusa/Kubernetes MCP Server

MCP сервер для Kubernetes и OpenShift на Go: AI-агенты управляют кластерами — CRUD, Pods, Helm, Tekton. Не требует kubectl, работает с несколькими кластерами, лёгкий и быстрый.

Go1827
ahujasid/blender-mcp

ahujasid/blender-mcp

BlenderMCP подключает Claude AI к Blender через Model Context Protocol, позволяя управлять 3D-сценами голосом или текстом. Создавайте, редактируйте объекты, применяйте материалы и выполняйте Python...

Python24437
wso2/fhir-mcp-server

wso2/fhir-mcp-server

официальный

MCP сервер для FHIR API. Интегрирует AI-инструменты с медицинскими данными: поиск, чтение и запись ресурсов. Поддерживает SMART-on-FHIR аутентификацию и FHIRPath-фильтрацию. Для разработчиков и инт...

Python129
runapi-ai/mcp

runapi-ai/mcp

официальный

RunAPI MCP Server открывает 130+ моделей генерации медиа, музыки, речи и поиска промптов прямо из MCP-хостов — Claude Code, Cursor, VS Code. Идеально для быстрых экспериментов с генерацией без пере...

TypeScript52
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин