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_sizeinteger

    Размер пакета для обработки на GPU (1-64). Больше = быстрее, но требует больше памяти. По умолчанию: 8

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

    Пожалуйста, укажите пары исходного и переведённого текста, которые нужно оценить. Я готов проанализировать их на соответствие правилам перевода (точность, естественность, отсутствие канцелярита и т.д.).

  • response_formatenum

    Формат вывода

  • source_langstring

    Код исходного языка

  • target_langstring

    ru

  • use_gpuboolean

    Использовать GPU для инференса (быстрее, если доступно). По умолчанию: false (только CPU)

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

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

Обнаружение ошибок перевода

Параметры
  • min_severityenum

    Минимальный уровень серьезности для отчета (незначительный, значительный, критический)

  • referencestring

    Необязательный эталонный перевод

  • response_formatenum

    Формат вывода

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

    Исходный текст

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

    Пока нет текста для анализа. Пришлите текст, который нужно перевести, и я его переведу.

  • use_gpuboolean

    Использовать GPU для инференса (быстрее, если доступно). По умолчанию: false (только CPU)

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

Оценивает качество перевода с помощью модели xCOMET. Этот инструмент анализирует исходный текст и его перевод и предоставляет: - Оценку качества от 0 до 1 (чем выше, тем лучше) - Обнаруженные фрагменты ошибок с уровнями серьёзности (minor/major/critical) - Удобочитаемую сводку качества Аргументы: - source (string): Исходный текст для перевода - translation (string): Переведённый текст для оценки - reference (string, optional): Эталонный перевод для сравнения - source_lang (string, optional): Код исходного языка (ISO 639-1) - target_lang (string, optional): Код целевого языка (ISO 639-1) - response_format ('json' | 'markdown'): Формат вывода (по умолчанию: 'json') - use_gpu (boolean, optional): Использует GPU для инференса, если он доступен (по умолчанию: false) Возвращает: Для формата JSON: { "score": number, // Оценка качества 0-1 "errors": [ // Обнаруженные ошибки { "text": string, "start": number, "end": number, "severity": "minor" | "major" | "critical" } ], "summary": string // Удобочитаемая сводка } Примеры: - Оценить качество перевода EN→JA - Проверить, нуждается ли вывод машинного перевода в постредактировании - Сравнить перевод с эталоном

Похоже, вы забыли приложить сам перевод для оценки. Пришлите, пожалуйста, текст перевода, и я проверю его на соответствие правилам. Например, на использование длинного тире, канцелярита, калькированных оборотов и естественность языка.

Параметры
  • referencestring

    Вы не прислали текст для перевода. Добавьте его в следующем сообщении, и я переведу его по этим правилам.

  • response_formatenum

    Формат вывода: 'json' для структурированных данных или 'markdown' для удобочитаемого представления.

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

    Исходный текст

  • source_langstring

    Код исходного языка (ISO 639-1, например, 'en', 'ja')

  • target_langstring

    Код целевого языка (ISO 639-1, например, 'en', 'ja')

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

    Переведённый текст для оценки.

  • use_gpuboolean

    Использовать GPU для инференса (быстрее, если доступно). По умолчанию: false (только CPU)

0.7.0основная
0.6.3
0.6.2
0.6.1
0.6.0
0.5.0
0.4.0
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.3
0.2.2
0.2.1

Выберите клиент, чтобы установить shuji-bonji/xcomet-mcp-server:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "shuji-bonji-xcomet-mcp-server-4d1dgzsqlu": {
      "command": "npx",
      "args": [
        "-y",
        "xcomet-mcp-server"
      ],
      "env": {
        "XCOMET_PYTHON_PATH": "~/.xcomet-venv/bin/python3"
      }
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "shuji-bonji-xcomet-mcp-server-4d1dgzsqlu": {
      "command": "npx",
      "args": [
        "-y",
        "xcomet-mcp-server"
      ],
      "env": {
        "XCOMET_PYTHON_PATH": "~/.xcomet-venv/bin/python3"
      }
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "shuji-bonji-xcomet-mcp-server-4d1dgzsqlu": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "xcomet-mcp-server"
      ],
      "env": {
        "XCOMET_PYTHON_PATH": "~/.xcomet-venv/bin/python3"
      }
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"shuji-bonji-xcomet-mcp-server-4d1dgzsqlu\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"xcomet-mcp-server\"],\"env\":{\"XCOMET_PYTHON_PATH\":\"~/.xcomet-venv/bin/python3\"}}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "shuji-bonji-xcomet-mcp-server-4d1dgzsqlu": {
      "command": "npx",
      "args": [
        "-y",
        "xcomet-mcp-server"
      ],
      "env": {
        "XCOMET_PYTHON_PATH": "~/.xcomet-venv/bin/python3"
      }
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add shuji-bonji-xcomet-mcp-server-4d1dgzsqlu --env XCOMET_PYTHON_PATH=~/.xcomet-venv/bin/python3 -- npx -y xcomet-mcp-server

Либо через JSON-конфиг:

claude mcp add-json shuji-bonji-xcomet-mcp-server-4d1dgzsqlu "{\"command\":\"npx\",\"args\":[\"-y\",\"xcomet-mcp-server\"],\"env\":{\"XCOMET_PYTHON_PATH\":\"~/.xcomet-venv/bin/python3\"}}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add shuji-bonji-xcomet-mcp-server-4d1dgzsqlu --env XCOMET_PYTHON_PATH=~/.xcomet-venv/bin/python3 -- npx -y xcomet-mcp-server

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.shuji-bonji-xcomet-mcp-server-4d1dgzsqlu]
command = "npx"
args = ["-y", "xcomet-mcp-server"]

[mcp_servers.shuji-bonji-xcomet-mcp-server-4d1dgzsqlu.env]
XCOMET_PYTHON_PATH = "~/.xcomet-venv/bin/python3"
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите shuji-bonji/xcomet-mcp-server, а в поле команды запуска — строку ниже:
npx -y xcomet-mcp-server

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "shuji-bonji-xcomet-mcp-server-4d1dgzsqlu": {
      "command": "npx",
      "args": [
        "-y",
        "xcomet-mcp-server"
      ],
      "env": {
        "XCOMET_PYTHON_PATH": "~/.xcomet-venv/bin/python3"
      }
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "shuji-bonji-xcomet-mcp-server-4d1dgzsqlu": {
      "command": "npx",
      "args": [
        "-y",
        "xcomet-mcp-server"
      ],
      "env": {
        "XCOMET_PYTHON_PATH": "~/.xcomet-venv/bin/python3"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например shuji-bonji-xcomet-mcp-server-4d1dgzsqlu.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: shuji-bonji-xcomet-mcp-server-4d1dgzsqlu
    command: npx
    args:
      - "-y"
      - "xcomet-mcp-server"
    env:
      XCOMET_PYTHON_PATH: ~/.xcomet-venv/bin/python3
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "shuji-bonji-xcomet-mcp-server-4d1dgzsqlu": {
      "command": "npx",
      "args": [
        "-y",
        "xcomet-mcp-server"
      ],
      "env": {
        "XCOMET_PYTHON_PATH": "~/.xcomet-venv/bin/python3"
      }
    }
  }
}

Похожие MCP-сервера

prompeteer/prompeteer-mcp

prompeteer/prompeteer-mcp

от prompeteer

Подбирает и генерирует промпты для 140+ сервисов, оценивает их качество по 16 параметрам и хранит готовые в PromptDrive.

JavaScript⭐ 1
zenml-io/mcp-zenml

zenml-io/mcp-zenml

официальный

от zenml-io

MCP-сервер для интеграции ZenML с AI-ассистентами. Позволяет просматривать и запускать ML-пайплайны, управлять стеками, компонентами и моделями. Полезен ML-инженерам для оперативного доступа к данн...

Python⭐ 49
us-all/mlflow-mcp-server

us-all/mlflow-mcp-server

от us-all

Полнофункциональный MCP-сервер для MLflow с 82 инструментами - от экспериментов до трейсов и оптимизации. Агрегация данных и токен-экономия ускоряют отладку AI-пайплайнов.

TypeScript⭐ 1
stabgan/openrouter-mcp-multimodal

stabgan/openrouter-mcp-multimodal

от stabgan

Мультимодальный MCP-сервер для анализа и генерации текста, изображений, аудио и видео. Интегрируется с Claude Desktop, Cursor и другими клиентами через OpenRouter, давая доступ к 300+ моделям. Вклю...

TypeScript⭐ 99
VoxellInc/forge-mcp

VoxellInc/forge-mcp

от voxellinc

MCP сервер для генерации векторных эмбеддингов текста через Forge от Voxell. Дает инструменты embed и list_models. Полезен разработчикам, внедряющим семантический поиск, RAG или анализ схожести — б...

TypeScript⭐ 1
gwbischof/outsource-mcp

gwbischof/outsource-mcp

от gwbischof

Сервер Outsource MCP даёт AI-приложениям единый доступ к 20+ модельным провайдерам для генерации текста и изображений. Работает с любыми MCP-клиентами, включая Claude Desktop и Cline. Подходит разр...

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

Лука Никитин