MCP

View Weblate projects and search translations in chat

For people who want to view Weblate projects in chat and search translation units with native filter syntax, but only after they bring their own instance API URL and token.

Official source · weblate-mcp

Install

npx -y @mmntm/weblate-mcp

Who it is for

This guide is for people who already have a Weblate instance with a reachable API and want to view projects and search translation units in chat. The official main path is start @mmntm/weblate-mcp with npx and configure WEBLATE_API_URL and WEBLATE_API_TOKEN. Do not call anything without an instance URL and a token.

It fits people who first show projects, then find translations with Weblate native filter syntax. The tools this page names in full are listProjects and searchUnitsWithFilters. It does not fit treating unmentioned write tools as a free pass to change translations; do not invent tool names that are not written here.

First try in 3 minutes

The official install command is below. Prerequisites: npx runnable on this machine (the development notes also mention Node.js 18+ and pnpm), plus a Weblate instance with API access. Configuration is the client MCP item: command is npx, args are -y and @mmntm/weblate-mcp, and env holds WEBLATE_API_URL and WEBLATE_API_TOKEN. The URL must be the API root of your own Weblate; do not use example hostnames from the documentation.

npx -y @mmntm/weblate-mcp

Official page:

https://github.com/mmntm/weblate-mcp

For the first try, use the official tool listProjects: show all available Weblate projects with their URL and metadata. Success is a set of projects coming back, not a rejected token. listProjects reaches the Weblate instance you configured; do not read that as no-network or no privacy boundary.

Usage examples

Example 1: See which projects exist on the instance. This is listProjects. Official text says it includes URLs and metadata and does not name paging or filter parameters; use only what the client actually shows. Success is seeing the project names.

Example 2: Find translation units by filter. This is searchUnitsWithFilters. Official text says it uses Weblate's native filtering syntax and calls that an efficient way to find translations. This page does not give a copyable filter expression; do not invent syntax. Success is matching translation units coming back.

Limits

Transports named on this page include HTTP/SSE, Streamable HTTP, and STDIO; no default port is written, so do not invent one. Tokens and instance URLs go only into the local env. This page does not give rate limits, a table of writable tools, or steps to undo a translation. Development notes also mention pnpm; that is not a substitute primary installer for the npx path, so do not treat them as two equal first choices.

Before calling searchUnitsWithFilters, confirm the filter comes from Weblate native syntax, not an improvised keyword. listProjects only answers which projects exist on the instance; it does not change any translation by itself.