MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

Multilingual translation for ADK-Rust Enterprise agents. Provides 5 MCP tools across 200+ languages — zero configuration, no API keys required. ADK-Rust Enterprise

Created 5/27/2026
Updated about 5 hours ago
Repository documentation and setup instructions

Translation MCP Server

Crates.io Docs.rs License ADK-Rust Enterprise Registry Ready

Multilingual translation for ADK-Rust Enterprise agents. Provides 5 MCP tools across 200+ languages — zero configuration, no API keys required.

Architecture

Translation MCP Architecture

Key Principles

  • Zero configuration — works out of the box with no API keys or environment variables.
  • 200+ languages — covers every major language including African, Asian, and indigenous languages.
  • Translation memory — leverages millions of human-verified translations from MyMemory.
  • Quality scoring — every translation includes a confidence/quality score.
  • Batch support — translate into multiple languages in a single call.
  • Registry-ready — ships with mcp-server.toml for automatic ADK-Rust Enterprise onboarding.

Tools

| Tool | Purpose | Risk Class | |------|---------|------------| | translate | Translate text between any two languages | Read-only | | detect_language | Detect the language of input text | Read-only | | batch_translate | Translate text into multiple target languages at once | Read-only | | search_translation_memory | Search human-verified translation memory | Read-only | | list_languages | List supported languages with ISO 639-1 codes | Read-only |

Backends

| Backend | Purpose | Rate Limit | |---------|---------|-----------| | MyMemory | Primary translation engine | 5,000 words/day (anonymous) | | MyMemory (with email) | Extended quota | 30,000 words/day |

Installation

From crates.io

cargo install mcp-translate

Build from source

git clone https://github.com/zavora-ai/mcp-translate
cd mcp-translate
cargo build --release

The binary is at target/release/mcp-translate.

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "translate": {
      "command": "mcp-translate"
    }
  }
}

Kiro

Add to your project's .kiro/settings/mcp.json:

{
  "mcpServers": {
    "translate": {
      "command": "mcp-translate"
    }
  }
}

Cursor

Add to .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "translate": {
      "command": "mcp-translate"
    }
  }
}

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "translate": {
      "command": "mcp-translate"
    }
  }
}

Codex (OpenAI)

Add to ~/.codex/config.json:

{
  "mcpServers": {
    "translate": {
      "command": "mcp-translate"
    }
  }
}

Open Code

Add to ~/.config/opencode/config.json:

{
  "mcp": {
    "translate": {
      "command": "mcp-translate"
    }
  }
}

Any MCP Client (Streamable HTTP)

mcp-translate --transport http --port 8080

Then connect your client to http://localhost:8080/mcp.

Docker

docker run -p 8080:8080 ghcr.io/zavora-ai/mcp-translate:latest

Quick Start

Translate text

{
  "name": "translate",
  "arguments": {
    "text": "The future of artificial intelligence is bright",
    "source": "en",
    "target": "sw"
  }
}

Response:

{
  "translation": "Mustakabali wa akili bandia ni mzuri",
  "source_lang": "en",
  "target_lang": "sw",
  "quality": 0.85,
  "alternatives": [
    {
      "translation": "Mustakabali wa akili bandia ni mzuri",
      "quality": "85",
      "source": "Machine Translation"
    }
  ]
}

Detect language

{
  "name": "detect_language",
  "arguments": {
    "text": "Bonjour le monde, comment allez-vous?"
  }
}

Response:

{
  "detected_language": "fr",
  "text_sample": "Bonjour le monde, comment allez-vous?"
}

Batch translate

{
  "name": "batch_translate",
  "arguments": {
    "text": "Hello world",
    "source": "en",
    "targets": ["fr", "de", "ja", "ar", "sw"]
  }
}

Response:

{
  "source": "en",
  "original": "Hello world",
  "translations": [
    { "language": "fr", "translation": "Bonjour le monde" },
    { "language": "de", "translation": "Hallo Welt" },
    { "language": "ja", "translation": "こんにちは、世界。" },
    { "language": "ar", "translation": "مرحبا بكم" },
    { "language": "sw", "translation": "Jambo dunia!" }
  ]
}

Search translation memory

{
  "name": "search_translation_memory",
  "arguments": {
    "text": "Terms and conditions",
    "source": "en",
    "target": "fr"
  }
}

Response:

{
  "query": "Terms and conditions",
  "langpair": "en|fr",
  "matches": 5,
  "results": [
    {
      "segment": "Terms and Conditions",
      "translation": "Termes et conditions",
      "quality": "100",
      "source": "European Commission",
      "last_updated": "2024-03-15"
    }
  ]
}

Configuration

Environment Variables

| Variable | Required | Purpose | |----------|:--------:|---------| | MYMEMORY_EMAIL | No | Increases daily quota from 5,000 to 30,000 words | | RUST_LOG | No | Log level (default: info) |

MCP Server Manifest

server_id = "mcp_translate"
display_name = "Translate"
version = "1.0.0"
domain = "translation"
risk_level = "low"
writes_allowed = "none"
transports = ["stdio"]
governance_gates = []

Supported Languages

Major Languages

| Code | Language | Code | Language | Code | Language | |:----:|----------|:----:|----------|:----:|----------| | en | English | fr | French | de | German | | es | Spanish | pt | Portuguese | it | Italian | | nl | Dutch | ru | Russian | zh | Chinese | | ja | Japanese | ko | Korean | ar | Arabic | | hi | Hindi | bn | Bengali | ur | Urdu | | tr | Turkish | pl | Polish | uk | Ukrainian | | vi | Vietnamese | th | Thai | id | Indonesian |

African Languages

| Code | Language | Code | Language | Code | Language | |:----:|----------|:----:|----------|:----:|----------| | sw | Swahili | am | Amharic | ha | Hausa | | yo | Yoruba | ig | Igbo | zu | Zulu | | af | Afrikaans | rw | Kinyarwanda | so | Somali |

Nordic Languages

| Code | Language | Code | Language | Code | Language | |:----:|----------|:----:|----------|:----:|----------| | sv | Swedish | no | Norwegian | da | Danish | | fi | Finnish | et | Estonian | lv | Latvian |

Special Codes

| Code | Meaning | |:----:|---------| | auto | Autodetect source language |

Full list of 200+ languages available via the list_languages tool or at mymemory.translated.net.

Use Cases

Multilingual Customer Support

Agent receives message in unknown language
→ detect_language → "sw" (Swahili)
→ translate (sw→en) → English for agent processing
→ translate (en→sw) → Reply in customer's language

Document Localization

Agent has English documentation
→ batch_translate (en → [fr, de, es, ja, zh])
→ 5 localized versions in one call

Legal/Compliance Translation

Agent needs official translation reference
→ search_translation_memory ("Terms and conditions", en→fr)
→ Returns EU Commission verified translation (quality: 100%)

Content Quality Assurance

Agent receives translation from external source
→ translate (same text, same pair)
→ Compare quality scores and alternatives
→ Flag discrepancies for human review

Testing

# Build
cargo build

# Run (zero config)
cargo run

# Test with MCP client
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"0.1"}}}' | cargo run 2>/dev/null

Documentation

| Document | Description | |----------|-------------| | mcp-server.toml | ADK-Rust Enterprise registry manifest | | CHANGELOG.md | Version history | | Rust Docs | Generated API documentation |

Contributing

Contributions welcome. Priority areas:

  • Additional translation backends (DeepL, Google Translate with API key)
  • Glossary/terminology management
  • Translation caching layer
  • Document-level translation with formatting preservation

Contributors

| jkmaina - MCP Translate by zavora-ai
James Karanja Maina
| |:---:|

License

Apache-2.0 — see LICENSE for details.


Part of the ADK-Rust Enterprise MCP server ecosystem.

Built with ❤️ by Zavora AI

Registry Compliance

This server implements the ADK MCP SDK contract:

  • HealthCheck — async health probe for registry monitoring
  • mcp-server.toml — manifest declaring tools, risk classes, and credentials
  • Structured tracingRUST_LOG env-filter for observability
Quick Setup
Installation guide for this server

Installation Command (package not published)

git clone https://github.com/zavora-ai/mcp-translate
Manual Installation: Please check the README for detailed setup instructions and any additional dependencies required.

Cursor configuration (mcp.json)

{ "mcpServers": { "zavora-ai-mcp-translate": { "command": "git", "args": [ "clone", "https://github.com/zavora-ai/mcp-translate" ] } } }