Skip to main content
Glama
tbitu

TartuNLP MCP Server

by tbitu

TartuNLP MCP Server

Docker Python License

A Model Context Protocol (MCP) server that provides seamless access to TartuNLP translation services from the University of Tartu. This server enables AI assistants and applications to perform high-quality machine translation across 700+ language pairs, with specialized support for European and Finno-Ugric languages.

Features

  • 🌍 700+ Language Pairs - Comprehensive translation coverage including European languages and rare Finno-Ugric languages

  • 🚀 Docker-First Deployment - Pre-built Docker images for easy deployment across platforms

  • 🔧 Simple Integration - Standard MCP protocol support for seamless integration with AI assistants

  • 🎯 Specialized Language Support - Expert translation for Estonian, Finnish, Sami languages, and other minority languages

  • 📦 Zero Configuration - Works out of the box with sensible defaults

Quick Start

The easiest way to use this MCP server is via Docker. Pre-built images are automatically published to GitHub Container Registry and support both linux/amd64 and linux/arm64 platforms.

Add this configuration to your MCP settings file (e.g., ~/.vscode-server/data/User/mcp.json or Claude Desktop config):

{
  "mcpServers": {
    "TartuNLP": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/tbitu/tartunlp-mcp:latest"
      ]
    }
  }
}
TIP

The Docker approach requires no local Python installation or dependency management. The image is kept minimal (~150MB) for fast downloads.

Using Python (Local Development)

For local development or if you prefer not to use Docker:

  1. Install the package:

    pip install -e .
  2. Add to your MCP configuration:

    Linux/Mac:

    {
      "mcpServers": {
        "TartuNLP": {
          "command": "python3",
          "args": ["-m", "tartunlp_mcp_server"]
        }
      }
    }

    Windows:

    {
      "mcpServers": {
        "TartuNLP": {
          "command": "python",
          "args": ["-m", "tartunlp_mcp_server"]
        }
      }
    }
NOTE

Requires Python 3.8 or higher. Usepython3 on systems where both Python 2 and 3 are installed.

Available Tools

Once configured, the MCP server exposes the following tools to AI assistants:

translate_text

Translate text between any supported language pair.

Parameters:

  • text (string): The text to translate

  • source_lang (string): Source language code (e.g., 'eng', 'est', 'fin')

  • target_lang (string): Target language code (e.g., 'eng', 'est', 'fin')

  • model (string, optional): Specific translation model/domain to use

get_supported_languages

Retrieve the complete list of supported language pairs and available translation models.

Returns: List of all 700+ available translation pairs with source/target language information.

Development

Local Testing

# Install dependencies
pip install -e .

# Run the server locally
python -m tartunlp_mcp_server

Building Docker Images

# Build locally
docker build -t tartunlp-mcp .

# Test the Docker image
docker run -i --rm tartunlp-mcp

CI/CD

Docker images are automatically built and published to GitHub Container Registry on every push to the main branch. The workflow:

  1. Builds multi-platform images (linux/amd64, linux/arm64)

  2. Tags images with branch name, commit SHA, and latest

  3. Publishes to ghcr.io/tbitu/tartunlp-mcp

See .github/workflows/docker-build-push.yml for details.

Supported Languages

The server supports 700 translation pairs as provided by TartuNLP's API. Based on the actual API response, the supported language pairs are:

Core European Languages with Full Coverage

  • English (eng) ↔ Estonian, German, Lithuanian, Latvian, Finnish, Russian, Ukrainian + all minority languages

  • Estonian (est) ↔ English, German, Lithuanian, Latvian, Finnish, Russian, Ukrainian + all minority languages

  • Finnish (fin) ↔ English, Estonian, German, Lithuanian, Latvian, Russian + all minority languages

  • Russian (rus) ↔ English, Estonian, German, Lithuanian, Latvian, Finnish, Ukrainian + all minority languages

  • Latvian (lav) ↔ English, Estonian, German, Lithuanian, Finnish, Russian + all minority languages

Limited European Language Support

  • German (ger) ↔ English, Estonian, Lithuanian, Latvian, Finnish, Russian (no minority language pairs)

  • Lithuanian (lit) ↔ English, Estonian, German, Latvian, Finnish, Russian (no minority language pairs)

  • Ukrainian (ukr) ↔ English, Estonian, Russian only

  • Norwegian (nor) ↔ All minority languages only (no major European languages except through minority languages)

  • Hungarian (hun) ↔ All minority languages only (no major European languages except through minority languages)

Finno-Ugric & Minority Languages (Full Matrix)

All minority languages can translate to/from each other and to/from: eng, est, fin, rus, lav, nor, hun

  • Karelian (krl) - Karelian language

  • Ludian (lud) - Ludic language

  • Veps (vep) - Vepsian language

  • Livonian (liv) - Livonian language (critically endangered)

  • Võro (vro) - Võro language (South Estonian)

  • Mari (mhr) - Eastern Mari

  • Hill Mari (mrj) - Western Mari

  • Udmurt (udm) - Udmurt language

  • Komi-Permyak (koi) - Komi-Permyak language

  • Komi-Zyrian (kpv) - Komi-Zyrian language

  • Moksha (mdf) - Moksha Mordvin

  • Erzya (myv) - Erzya Mordvin

  • Olonets (olo) - Olonets Karelian

  • Mansi (mns) - Mansi language

  • Khanty (kca) - Khanty language

Sami Languages (Full Matrix)

  • Southern Sami (sma) - Åarjelsaemien gïele

  • Northern Sami (sme) - Davvisámegiella

  • Inari Sami (smn) - Anarâškielâ

  • Skolt Sami (sms) - Sääʹmǩiõll

  • Lule Sami (smj) - Julevsámegiella

Key Translation Patterns

Major European Language Pairs:

  • eng ↔ est, ger, lit, lav, fin, rus, ukr

  • est ↔ eng, ger, lit, lav, fin, rus, ukr

  • fin ↔ eng, est, ger, lit, lav, rus

  • rus ↔ eng, est, ger, lit, lav, fin, ukr

  • lav ↔ eng, est, ger, lit, fin, rus

  • ger ↔ eng, est, lit, lav, fin, rus (limited)

  • lit ↔ eng, est, ger, lav, fin, rus (limited)

  • ukr ↔ eng, est, rus (very limited)

Minority Language Hub: All 20 minority/indigenous languages form a complete translation matrix with each other and connect to: eng, est, fin, rus, lav, nor, hun

Note: The exact language pairs are determined by TartuNLP's API and may be updated. Use the get_supported_languages tool to get the current list.

Tools

  • translate_text: Translate text between supported languages

  • get_supported_languages: List all supported language pairs

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.

Appeared in Searches

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tbitu/tartunlp-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server