Полиглот - Модель Контекстов Протокола для Перевода
Polyglot — это реализация Model Contexts Protocol (MCP) с открытым исходным кодом, ориентированная на услуги перевода. Она обеспечивает стандартизированный способ обработки запросов на перевод на нескольких языках с использованием Claude Sonnet 3.5.
Поддерживаемые языки
Арабский (ар)
Китайский (чж)
Английский (en)
Французский (фр)
Русский (ру)
Испанский (исп)
Related MCP server: Lara Translate MCP Server
Функции
Стандартизированный формат запроса на перевод
Поддержка нескольких доменов (юридический, медицинский, общий)
Контроль уровня формальности (формальный/неформальный)
Интеграция Клода Соннета 3.5
Сервер протокола MCP (через FastMCP)
Аутентификация API-ключа
Установка
Использование УФ (рекомендуется)
# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install the package and its dependencies
uv pip install .
# For development, install with dev dependencies
uv pip install ".[dev]"Использование пипа
# Install the package and its dependencies
pip install .
# For development, install with dev dependencies
pip install ".[dev]"Конфигурация
Создайте файл
.envв корневом каталоге вашего проекта:
ANTHROPIC_API_KEY=your_api_key_hereОбязательно храните свой ключ API в безопасности и никогда не передавайте его в систему контроля версий.
Запуск сервера MCP
Сервер Polyglot MCP использует FastMCP для предоставления инструментов и ресурсов перевода по протоколу MCP (транспорт SSE).
Чтобы запустить сервер:
python -m polyglot.serverПо умолчанию сервер будет работать на порту 8001 с использованием транспорта SSE.
Тестирование сервера MCP
Использование MCP Inspector (рекомендуется)
Установите MCP Inspector:
npx @modelcontextprotocol/inspectorОткройте пользовательский интерфейс Inspector (терминал покажет локальный адрес).
Установите следующие параметры в пользовательском интерфейсе инспектора:
Тип транспорта: ЮЮВ
URL-адрес:
http://localhost:8001/sse(Необязательно) При необходимости задайте адрес прокси-сервера инспектора.
Теперь вы можете взаимодействовать с инструментом перевода и ресурсами через пользовательский интерфейс инспектора.
Использование клиента Python MCP
Вы также можете взаимодействовать с сервером программно, используя MCP Python SDK:
from mcp.client.sse import sse_client
import asyncio
async def main():
async with sse_client(url="http://localhost:8001/sse") as (read, write):
# Example: call the translate tool
request = {
"tool": "translate",
"args": {
"request": {
"version": "1.0",
"type": "translation_request",
"metadata": {
"source_language": "fr",
"target_language": "en",
"domain": "legal",
"formality": "formal",
"api_key": "your_api_key_here" # Required for authentication
},
"data": {"text": "Le contrat a été signé hier à Genève."}
}
}
}
await write(request)
response = await read()
print(response)
asyncio.run(main())Спецификация протокола
Запрос на перевод имеет следующую структуру JSON:
{
"version": "1.0",
"type": "translation_request",
"metadata": {
"source_language": "fr",
"target_language": "en",
"domain": "legal",
"formality": "formal",
"api_key": "your_api_key_here" // Required for authentication
},
"data": {
"text": "Le contrat a été signé hier à Genève."
}
}Разработка
Чтобы настроить среду разработки:
# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create and activate a virtual environment
uv venv
source .venv/bin/activate # On Unix/macOS
# or
.venv\Scripts\activate # On Windows
# Install development dependencies
uv pip install ".[dev]"Лицензия
Лицензия Массачусетского технологического института