# paraglide-messages-mcp [Health: Active]

**Category:** 🌎 Translation Services  
**Repository:** https://github.com/whazeted/paraglide-messages-mcp  
**GitHub Stars:** 0  
**npm Downloads (last month):** 319  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/paraglide-messages-mcp

## Description
Validated, sub-agent per-locale translation of Paraglide JS / inlang message-format projects.

## Tools
Capabilities this server exposes over MCP:

- **project_info** — Locales, source, counts and startup style brief
- **list_message_keys** — Flat keys filtered by prefix/status; cursor pagination
- **get_messages** — Message values by key or prefix
- **search_messages** — Search text and key substrings
- **save_translations** — Validated corrections to existing keys
- **start_translation_job** — Submit a durable OpenAI Batch job
- **get_translation_job** — Reconcile, collect and clean up a job
- **list_translation_jobs** — Local job summaries, cursor pagination
- **cancel_translation_job** — Request cancellation, retaining partial results

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "paraglide-messages-mcp": {
    "command": "npx",
    "args": ["-y","paraglide-messages-mcp"]
  }
}
```

## Documentation

## What paraglide-messages-mcp MCP server does

The paraglide-messages-mcp MCP server gives an MCP client access to Paraglide JS and inlang message-format projects. It works with `messages/{locale}.json` files and coordinates translation work at the locale level. Agents remain responsible for producing the translated text; the server supplies source content, checks submitted values, and persists valid results.

Project inspection includes the base locale, configured locales, total message counts, translatable source entries, translated and missing counts by locale, and extra keys that do not exist in the source locale. When configured, the server also exposes the translation-style brief supplied at startup.

## How it works

The server accesses JSON files directly and uses a cache that checks file metadata before reusing data. It does not require network access. Each locale can be handled independently, allowing separate agents or subagents to work on different target locales without writing to one another’s files.

Translation work is paged through batches. `get_translation_batch` returns untranslated entries, source text, and required placeholders; the default batch size is 50. A caller can include the preceding batch’s translations in the same request, reducing the workflow to one round trip per batch. `get_retranslation_batch` provides cursor-based access to entries that already have translations, which supports terminology or copy refreshes.

Before saving, submitted translations are checked against the source for placeholders, markup, and plural variants. Results are reported per item, so invalid entries can be rejected without discarding valid entries in the same batch.

## Setup and configuration

Run the package through `npx` in an MCP client configuration. The `--project` option can point to a specific `project.inlang` directory. If it is omitted, the server searches the working directory and up to one directory level above it for a single matching project directory.

The optional `--translation-style` argument provides guidance about tone, formality, and terminology. The project must use the inlang message format plugin, with one message file per locale and a supported `pathPattern`. i18next, next-intl, ICU plugins, and multi-file namespaces are not supported.

The package requires Node.js 20 or newer. An optional Agent Skills package is available for compatible agents, including a `paraglide-translation` skill that points the agent to the MCP server.

## Tools and capabilities

The paraglide-messages-mcp MCP server exposes these operations:

- `project_info` reports project and locale translation status.
- `get_translation_batch` and `get_retranslation_batch` provide paged translation work, with optional autosave.
- `save_translations` validates and writes translations, replacing existing values when accepted.
- `list_message_keys` lists keys with prefix, status, and pagination filters.
- `get_messages` retrieves full messages by key or prefix.
- `search_messages` searches message text or key substrings.
- `delete_messages` manages message keys across locales.
- `remove_orphan_messages` removes target-locale keys missing from the source locale.
- `add_locale` updates locale configuration in `settings.json`.

Read-only MCP resources expose project information, missing messages for a locale, and individual locale messages. Prompts support whole-project translation, single-locale or prefix-scoped translation, retranslation, and locale review.

## Limitations and notes

Support is limited to the stated Paraglide JS and inlang message-format arrangement. Projects using other localization plugins or multiple namespace files fall outside the supported setup. The server validates structural translation requirements, but the agent calling the tools supplies the linguistic content.

Translation throughput depends on the agent’s work rather than only on server execution. The repository reports a benchmark of about three seconds of server time for a 10-locale, 5,000-message project on an M1 Max Mac Studio; this is a project-specific performance result, not a universal guarantee.

_Full upstream README: https://allmcps.com/mcp/paraglide-messages-mcp/readme_

