Paraglide Messages MCP logo

Paraglide Messages MCP

Translates and manages Paraglide JS message files with validated MCP tools and locale-aware batch workflows.

Install Paraglide Messages MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "paraglide-messages-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "paraglide-messages-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

npx -y paraglide-messages-mcp

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 12d ago.

Overview

The paraglide-messages-mcp MCP server connects AI agents to Paraglide JS and inlang message-format projects stored as locale JSON files. It reads project metadata, supplies translation or retranslation batches, validates placeholders and message structure, and writes accepted translations directly to disk. Use it when you need agent-assisted localization across multiple locales, message-key maintenance, or targeted translation reviews without network access. It requires a standard Paraglide JS setup using the inlang message format plugin and one message file per locale.

Use cases

  • Translate all locales in a Paraglide JS project
  • Refresh existing translations after terminology changes
  • Review missing or invalid locale messages
  • Find and remove orphaned translation keys
  • Inspect message coverage by locale

Key features

  • Validated translation writes
  • Locale-specific translation batches
  • Cursor-paged retranslation batches
  • Message search and key management
  • Offline direct JSON file access
  • Read-only MCP resources and translation prompts

Tools9

What Paraglide Messages MCP lets your agent do. Expand a tool for its parameters.

Self-reported~128 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 2d ago

Recent health check succeeded.

10/10 checks healthy over the last 57d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 9h ago via OSV.dev · paraglide-messages-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

npm downloads319Package downloads in the last 30 days.
Last commit26d agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Tools exposed9Callable tools this server registers over MCP.
Directory activity1 viewsConfig copies, upvotes, and views on AllMCPs.

How Paraglide Messages MCP works

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.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Paraglide Messages MCP

paraglide-messages-mcp is an MCP server that connects AI agents to Paraglide JS and inlang message-format projects. Its main tools inspect locale coverage, provide translation and retranslation batches, validate and save translations, search messages, manage keys, remove orphaned entries, and add locales in settings.json.

Add it to an MCP client configuration with `npx -y paraglide-messages-mcp`. Pass `--project` to select a project.inlang directory, or omit it to use the server’s project discovery. Node.js 20 or newer is required.

It supports Paraglide JS projects using the inlang message format plugin, one message file per locale, and a supported path pattern. It does not support i18next, next-intl, ICU plugins, or multi-file namespaces.

It checks each submitted translation against its source for required placeholders, markup, and plural variants before writing it. Results are returned per item, allowing valid entries to be saved while invalid entries are rejected.

Yes. It uses the standard MCP server protocol and can be configured in Cursor. The provided setup also supports Claude Desktop, Claude Code, and other MCP clients that accept standard stdio servers.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewParaglide Messages MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/paraglide-messages-mcp?style=directory)](https://allmcps.com/mcp/paraglide-messages-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/paraglide-messages-mcp"><img src="https://allmcps.com/api/badge/paraglide-messages-mcp?style=directory" alt="Paraglide Messages MCP on AllMCPs" /></a>