Weblate MCP by usefulapi
Server Details
Read Weblate projects, strings, stats and changes; translate, suggest, comment and autotranslate.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP ยท MCP 2025-06-18
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Score is being calculated.
Available Tools
23 toolsweblate_accept_suggestionAccept a suggestionDestructiveInspect
WRITE: apply a suggestion to its string (replaces the current translation). approve also marks it approved (review workflow and permission needed). Weblate 2026.8+. POST /api/suggestions/{id}/accept/.
| Name | Required | Description | Default |
|---|---|---|---|
| approve | No | Also mark the translation approved. | |
| suggestion_id | Yes | Suggestion id (from weblate_list_suggestions). |
weblate_add_suggestionAdd a suggestionDestructiveInspect
WRITE: propose a translation for one string; normally a reviewer accepts it later, but the author's automatic upvote (or an existing identical suggestion) can reach the project's auto-accept threshold and apply it at once. Needs the Add suggestion permission and suggestions enabled (Weblate 2026.8+). POST /api/units/{id}/suggestions/.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | The text as a list of plural forms; use a one-element list for a string without plurals. | |
| unit_id | Yes | Weblate unit id (from weblate_list_units). |
weblate_add_unit_commentAdd a string commentInspect
WRITE: add a comment to one string (Markdown, @username mentions notify users). scope is global (all languages), translation (this language) or report (a source-string issue report; needs the review workflow). Weblate 5.12+. POST /api/units/{id}/comments/.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | Comment scope (default global). | |
| comment | Yes | The comment text (max 1000 characters). | |
| unit_id | Yes | Weblate unit id (from weblate_list_units). |
weblate_autotranslateRun automatic translationDestructiveInspect
WRITE: fill a translation automatically from other components (auto_source others, default) or from machine translation (mt, needs engines). mode suggest only adds suggestions (default), translate writes translations, fuzzy marks them needing edit. q limits it to strings matching a search (default state:<translated, the strings that are not translated yet); threshold is the minimum match score (default 80). Use background to schedule a task instead of waiting. POST /api/translations/{project}/{component}/{language}/autotranslate/.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Only strings matching this search (default 'state:<translated'). | |
| mode | No | suggest (default), translate, fuzzy or approved. | |
| engines | No | Machine translation engine ids; required when auto_source is mt. | |
| project | Yes | Project slug (the URL name, for example 'hello'). | |
| language | Yes | Language code as Weblate names it (for example 'cs', 'pt_BR', 'zh_Hans'). | |
| component | Yes | Component slug. A component inside a category is 'category/component'. | |
| threshold | No | Minimum match score, 1-100 (default 80). | |
| background | No | Schedule as a background task and return a task url (Weblate 2026.10+). | |
| auto_source | No | others = other components (default), mt = machine translation engines (needs engines). |
weblate_get_componentGet componentRead-onlyInspect
One component: repository, branch, file mask, template, source language, commit and merge settings, lock state. GET /api/components/{project}/{component}/.
| Name | Required | Description | Default |
|---|---|---|---|
| project | Yes | Project slug (the URL name, for example 'hello'). | |
| component | Yes | Component slug. A component inside a category is 'category/component'. |
weblate_get_projectGet projectRead-onlyInspect
One project by slug: name, website, settings, instructions and links. GET /api/projects/{project}/.
| Name | Required | Description | Default |
|---|---|---|---|
| project | Yes | Project slug (the URL name, for example 'hello'). |
weblate_get_repository_statusGet repository statusRead-onlyInspect
Version-control status: pending changes to commit, upstream changes to merge, changes to push, remote commit, merge failure. For a project (summary of all its repositories) or one component. GET /api/projects/{project}/repository/ or /api/components/{project}/{component}/repository/.
| Name | Required | Description | Default |
|---|---|---|---|
| project | Yes | Project slug (the URL name, for example 'hello'). | |
| component | No | Component slug. A component inside a category is 'category/component'. |
weblate_get_statisticsGet translation statisticsRead-onlyInspect
Translation progress: strings and words total, translated, needing edit, with percentages and checks. Scope by project; add a component for per-language statistics of a component, add a language too for one translation. GET /api/projects/{project}/statistics/, /api/components/{project}/{component}/statistics/ or /api/translations/{project}/{component}/{language}/statistics/.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, from 1 (default 1). Pass the previous reply's next_page. | |
| project | Yes | Project slug (the URL name, for example 'hello'). | |
| language | No | Language code as Weblate names it (for example 'cs', 'pt_BR', 'zh_Hans'). | |
| component | No | Component slug. A component inside a category is 'category/component'. | |
| page_size | No | Results per page, 1-100 (default 25). |
weblate_get_translationGet translationRead-onlyInspect
One translation (a component in one language): statistics, language, file name, revision and links. GET /api/translations/{project}/{component}/{language}/.
| Name | Required | Description | Default |
|---|---|---|---|
| project | Yes | Project slug (the URL name, for example 'hello'). | |
| language | Yes | Language code as Weblate names it (for example 'cs', 'pt_BR', 'zh_Hans'). | |
| component | Yes | Component slug. A component inside a category is 'category/component'. |
weblate_get_unitGet string (unit)Read-onlyInspect
One string by id: source and target forms, state, context, location, flags, labels, explanation, suggestions/comments flags, web link. GET /api/units/{id}/.
| Name | Required | Description | Default |
|---|---|---|---|
| unit_id | Yes | Weblate unit id (from weblate_list_units). |
weblate_list_changesList changesRead-onlyInspect
The activity log: who changed or translated what, when, with the action name and the changed text. Scope by project, component or translation (language), or filter by user, action id and time range. GET /api/changes/ or the project/component/translation changes endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, from 1 (default 1). Pass the previous reply's next_page. | |
| user | No | Only changes by this username. | |
| action | No | Only these action ids (see Weblate's change actions). | |
| project | No | Project slug (the URL name, for example 'hello'). | |
| language | No | Language code as Weblate names it (for example 'cs', 'pt_BR', 'zh_Hans'). | |
| component | No | Component slug. A component inside a category is 'category/component'. | |
| page_size | No | Results per page, 1-100 (default 25). | |
| timestamp_after | No | Only changes after this ISO 8601 time. | |
| timestamp_before | No | Only changes before this ISO 8601 time. |
weblate_list_componentsList componentsRead-onlyInspect
List translation components (one translatable file set in a repository), with repository, file mask, source language and status flags. Give a project to list only its components. Repository URLs have embedded credentials removed. GET /api/components/ or /api/projects/{project}/components/.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, from 1 (default 1). Pass the previous reply's next_page. | |
| project | No | Only this project's components. | |
| page_size | No | Results per page, 1-100 (default 25). |
weblate_list_languagesList languagesRead-onlyInspect
List the languages known to this Weblate instance: code, name, text direction, plural forms. GET /api/languages/.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, from 1 (default 1). Pass the previous reply's next_page. | |
| page_size | No | Results per page, 1-100 (default 25). |
weblate_list_project_languagesList project languagesRead-onlyInspect
Per-language translation statistics for a whole project (code, total, translated, percentages). GET /api/projects/{project}/languages/.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, from 1 (default 1). Pass the previous reply's next_page. | |
| project | Yes | Project slug (the URL name, for example 'hello'). | |
| page_size | No | Results per page, 1-100 (default 25). |
weblate_list_projectsList projectsRead-onlyInspect
List the projects visible to this token: name, slug, website and settings (review workflow, access control). GET /api/projects/.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, from 1 (default 1). Pass the previous reply's next_page. | |
| page_size | No | Results per page, 1-100 (default 25). |
weblate_list_suggestionsList suggestionsRead-onlyInspect
List suggestions (proposed translations waiting for review), newest first (Weblate 2026.8+). Give a unit id for one string's suggestions. GET /api/suggestions/ or /api/units/{id}/suggestions/.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, from 1 (default 1). Pass the previous reply's next_page. | |
| unit_id | No | Weblate unit id (from weblate_list_units). | |
| page_size | No | Results per page, 1-100 (default 25). |
weblate_list_translationsList translationsRead-onlyInspect
List the translations (one language each) of a component with their statistics: total, translated, fuzzy, percent, last change. GET /api/components/{project}/{component}/translations/.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, from 1 (default 1). Pass the previous reply's next_page. | |
| project | Yes | Project slug (the URL name, for example 'hello'). | |
| component | Yes | Component slug. A component inside a category is 'category/component'. | |
| page_size | No | Results per page, 1-100 (default 25). |
weblate_list_unit_commentsList string commentsRead-onlyInspect
Comments on one string (Weblate 5.15+). GET /api/units/{id}/comments/.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, from 1 (default 1). Pass the previous reply's next_page. | |
| unit_id | Yes | Weblate unit id (from weblate_list_units). | |
| page_size | No | Results per page, 1-100 (default 25). |
weblate_list_unitsList strings (units)Read-onlyInspect
List or search translation strings (units): source, target, state (0 untranslated, 10 needs editing, 20 translated, 30 approved, 100 read-only), context, location, failing checks. Search with Weblate's query syntax, for example state:<translated or has:suggestion. Give project + component + language to read one translation; without them all visible strings are searched. GET /api/translations/{project}/{component}/{language}/units/ or /api/units/.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Weblate search query (https://docs.weblate.org/en/latest/user/search.html), for example 'state:<translated' or 'source:hello'. | |
| page | No | Page number, from 1 (default 1). Pass the previous reply's next_page. | |
| project | No | Project slug (the URL name, for example 'hello'). | |
| language | No | Language code as Weblate names it (for example 'cs', 'pt_BR', 'zh_Hans'). | |
| component | No | Component slug. A component inside a category is 'category/component'. | |
| page_size | No | Results per page, 1-100 (default 25). |
weblate_lookup_memoryLook up translation memoryRead-onlyInspect
Find translation memory matches (exact or fuzzy) for up to 20 source strings in one language pair. Read-only: nothing is stored. POST /api/memory/lookup/.
| Name | Required | Description | Default |
|---|---|---|---|
| exact | No | Return exact matches only, skipping fuzzy matching. | |
| project | No | Restrict to this project's memory. | |
| strings | Yes | Source strings to look up. | |
| source_language | Yes | Source language code. | |
| target_language | Yes | Target language code. |
weblate_repository_operationRun a repository operationDestructiveInspect
WRITE: commit (write pending translations into the local repository), pull (merge upstream changes) or push (publish committed changes to the remote repository) for a project or one component. Push changes the remote repository. reset and cleanup are not offered. POST /api/projects/{project}/repository/ or /api/components/{project}/{component}/repository/.
| Name | Required | Description | Default |
|---|---|---|---|
| project | Yes | Project slug (the URL name, for example 'hello'). | |
| component | No | Omit to run the operation on every component of the project. | |
| operation | Yes |
weblate_search_memorySearch translation memoryRead-onlyInspect
Browse the translation memory entries visible to the token, filtered by source text (substring), languages or project. GET /api/memory/.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number, from 1 (default 1). Pass the previous reply's next_page. | |
| source | No | Case-insensitive substring of the source text. | |
| project | No | Project slug (the URL name, for example 'hello'). | |
| page_size | No | Results per page, 1-100 (default 25). | |
| source_language | No | ||
| target_language | No |
weblate_update_translationUpdate a translationDestructiveIdempotentInspect
WRITE: set the translation of one string (replaces the current target). target is the list of plural forms. state is required (Weblate rejects a partial update without both): 0 untranslated with an empty target, 10 needs editing, 20 translated or 30 approved (approval needs the review workflow and permission). The number of plural forms must match the language. Changes are committed to the repository by Weblate's normal schedule. PATCH /api/units/{id}/.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | New state: 0 untranslated (target must be empty), 10 needs editing, 20 translated, 30 approved. | |
| target | Yes | The text as a list of plural forms; use a one-element list for a string without plurals. | |
| unit_id | Yes | Weblate unit id (from weblate_list_units). |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
23 tool updates
- First observed
weblate_accept_suggestion - First observed
weblate_add_suggestion - First observed
weblate_add_unit_comment - First observed
weblate_autotranslate - First observed
weblate_get_component - First observed
weblate_get_project - First observed
weblate_get_repository_status - First observed
weblate_get_statistics - First observed
weblate_get_translation - First observed
weblate_get_unit - First observed
weblate_list_changes - First observed
weblate_list_components - First observed
weblate_list_languages - First observed
weblate_list_project_languages - First observed
weblate_list_projects - First observed
weblate_list_suggestions - First observed
weblate_list_translations - First observed
weblate_list_unit_comments - First observed
weblate_list_units - First observed
weblate_lookup_memory - First observed
weblate_repository_operation - First observed
weblate_search_memory - First observed
weblate_update_translation
Related MCP Connectors
Read Localazy projects, files, keys and glossary; submit translations, import keys, AI suggestions.
171Manage Universally website translations: sites, languages, strings, glossary rules and analytics.
1Manage app translations: find missing or duplicate phrases, add languages and export dictionaries.
MCP server for Crowdin โ projects, files, strings, translation progress, tasks, and members.
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP server for managing translation projects in Weblate. With the ability to search, read and write transltaions.20215 npm22MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Crowdin translation projects with tools for listing projects, files, source strings, translations, and performing bulk search-and-replace operations.MIT
- AlicenseAqualityDmaintenanceEnables interaction with POEditor's translation management API to create terms, add translations, and manage multilingual content. Supports operations like adding translations, updating existing ones, and listing terms and languages for translation projects.1118 npm3MIT
- AlicenseBqualityDmaintenanceProvides tools for working with iOS Localizable.xcstrings files, enabling automated translation workflows and localization management for iOS/macOS projects using Xcode String Catalogs.75MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.