Polyglot - Protocolo de contextos modelo para la traducción
Polyglot es una implementación de código abierto del Protocolo de Contextos de Modelo (MCP) centrada en servicios de traducción. Proporciona una forma estandarizada de gestionar solicitudes de traducción en varios idiomas mediante Claude Sonnet 3.5.
Idiomas compatibles
Árabe (ar)
Chino (zh)
Inglés (en)
francés (fr)
ruso (ru)
Español (es)
Related MCP server: Lara Translate MCP Server
Características
Formato estandarizado de solicitud de traducción
Soporte para múltiples dominios (legal, médico, general)
Control del nivel de formalidad (formal/informal)
Integración de Claude Sonnet 3.5
Servidor de protocolo MCP (a través de FastMCP)
Autenticación de clave API
Instalación
Uso de uv (recomendado)
# 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]"Usando pip
# Install the package and its dependencies
pip install .
# For development, install with dev dependencies
pip install ".[dev]"Configuración
Crea un archivo
.enven la raíz de tu proyecto:
ANTHROPIC_API_KEY=your_api_key_hereAsegúrese de mantener segura su clave API y nunca comprometerla con el control de versiones.
Ejecución del servidor MCP
El servidor MCP de Polyglot utiliza FastMCP para exponer herramientas y recursos de traducción a través del protocolo MCP (transporte SSE).
Para iniciar el servidor:
python -m polyglot.serverDe forma predeterminada, el servidor se ejecutará en el puerto 8001 utilizando el transporte SSE.
Prueba del servidor MCP
Uso de MCP Inspector (recomendado)
Instalar el Inspector MCP:
npx @modelcontextprotocol/inspectorAbra la interfaz de usuario del Inspector (la terminal mostrará una dirección local).
Establezca lo siguiente en la interfaz de usuario del Inspector:
Tipo de transporte: SSE
URL:
http://localhost:8001/sse(Opcional) Establezca la dirección del proxy del inspector si es necesario
Ahora puede interactuar con la herramienta de traducción y los recursos a través de la interfaz de usuario del Inspector.
Uso de un cliente MCP de Python
También puede interactuar con el servidor mediante programación utilizando el SDK de Python de MCP:
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())Especificación del protocolo
La solicitud de traducción sigue esta estructura 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."
}
}Desarrollo
Para configurar el entorno de desarrollo:
# 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]"Licencia
Licencia MIT