Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_PORT | No | Port when using HTTP transport | 8080 |
| MCP_TRANSPORT | No | Transport: stdio or streamable-http | stdio |
| LEVELANG_API_KEY | No | Service key (sk_xxx) for backend auth. Required when connecting to a remote backend. | |
| LEVELANG_API_BASE_URL | No | Levelang backend URL | http://localhost:8000/api/v1 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| translate | Translate text to a target language at a specific proficiency level. Unlike standard translators that produce native-speaker complexity, this translates at the learner's level -- beginner translations use simple grammar, intermediate uses more complex structures, etc. Args: text: The text to translate (any length, any source language) target_language: Target language code -- use list_languages to see available codes (e.g. fra, deu, cmn, yue, ita) level: Proficiency level -- proficiency levels available for the target language (e.g. beginner, intermediate, advanced, and/or fluent) source_language: Source language code (default: eng for English) mood: Tone -- tones available for the target language mode: Language mode (spoken/written) -- controls whether the translation targets written or spoken register. Use list_languages to see available modes per language. Returns: The translated text with metadata about the translation. |
| list_languages | List all languages supported by Levelang with their available levels and moods. Use this to discover valid language codes, proficiency levels, mood options, and mode options before calling the translate tool. Returns: Formatted list of supported languages and their configurations. |
| translate_compare | Translate text at multiple proficiency levels to compare complexity differences. Shows how the same text is translated differently at different levels -- useful for understanding how grammar and vocabulary constraints change across proficiency. Args: text: The text to translate (any length, any source language) target_language: Target language code -- use list_languages to see available codes (e.g. fra, deu, cmn, yue, ita) source_language: Source language code (default: eng for English) mood: Tone -- tones available for the target language levels: Optional list of proficiency level codes to compare (e.g. ["beginner", "advanced"]). If omitted, compares all available levels. Use list_languages to see valid codes per language. mode: Optional language mode (spoken/written) -- controls whether the translation targets written or spoken register. If omitted, compares all available levels. Use list_languages to see valid codes per language. Returns: The same text translated at each requested level, formatted for comparison. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| compare_levels | Create a prompt for comparing how the same text is translated at different levels. Args: language: Target language name |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| languages_resource | List of all supported languages with their levels and moods. |