Polyglot
An MCP server that provides standardized translation services across six languages (Arabic, Chinese, English, French, Russian, Spanish) using Claude Sonnet 3.5, with support for different domains and formality levels.
README Documentation
Polyglot - Model Contexts Protocol for Translation
Polyglot is an open-source implementation of the Model Contexts Protocol (MCP) focused on translation services. It provides a standardized way to handle translation requests across multiple languages using Claude Sonnet 3.5.
Supported Languages
- Arabic (ar)
- Chinese (zh)
- English (en)
- French (fr)
- Russian (ru)
- Spanish (es)
Features
- Standardized translation request format
- Support for multiple domains (legal, medical, general)
- Formality level control (formal/informal)
- Claude Sonnet 3.5 integration
- MCP protocol server (via FastMCP)
- API key authentication
Installation
Using uv (Recommended)
# 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]"
Using pip
# Install the package and its dependencies
pip install .
# For development, install with dev dependencies
pip install ".[dev]"
Configuration
- Create a
.env
file in your project root:
ANTHROPIC_API_KEY=your_api_key_here
- Make sure to keep your API key secure and never commit it to version control.
Running the MCP Server
To run the MCP server, use the following command:
uv run polyglot/server.py
This will start the server on the configured port (default: 8001).
Testing the MCP Server
You can test the MCP server using a simple client script. For example, to test the health check resource, create a file named test_client.py
with the following content:
import requests
response = requests.get("http://localhost:8001/health")
print(response.text)
Run the test client with:
uv run test_client.py
You should see the output: "Service is healthy".
Environment Variables
Make sure to set your Anthropic API key in a .env
file in the project root:
ANTHROPIC_API_KEY=your_api_key_here
Additional Notes
- The server uses the Model Context Protocol (MCP) to expose tools and resources.
- Ensure all dependencies are installed using
uv
orpip
. - For more details, refer to the project documentation.
Protocol Specification
The translation request follows this JSON structure:
{
"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."
}
}
Development
To set up the development environment:
# 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]"
License
MIT License