Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"paraglide": {
"args": [
"-y",
"paraglide-messages-mcp",
"--project",
"./project.inlang",
"--translation-style",
"Concise product UI; informal address; keep brand terms untranslated."
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
An MCP server that turns AI agents into a parallel translation team for Paraglide JS / inlang messages/{locale}.json files.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'skills' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked skills against OSV.dev.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in writing
Define task-specific AI sub-agents in Markdown for any MCP-compatible tool.
URL to LLM-ready markdown — plus per-page category, page_structure, and query-driven highlights.
Fonto documentation for AI tools. Converts DITA XML to Markdown on demand.
AI prompt optimization for 58+ platforms across 7 categories with custom platforms
MCP Security Weekly
Get CVE alerts and security updates for io.github.whazeted/paraglide-messages-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
An MCP server that turns AI agents into a parallel translation team for
Paraglide JS /
inlang messages/{locale}.json files.
The agent calling the tools is the translator. The server makes that safe and fast:
No installation — add this to your .mcp.json (Claude Code) or
claude_desktop_config.json:
{
"mcpServers": {
"paraglide": {
"command": "npx",
"args": [
"-y",
"paraglide-messages-mcp",
"--project",
"./project.inlang",
"--translation-style",
"Concise product UI; informal address; keep brand terms untranslated."
]
}
}
}
--project is optional: the server finds project.inlang in the working
directory (or a single *.inlang directory up to one level deep) by itself.
--translation-style is optional but recommended: it gives agents the
linguistic brief to use for tone, formality, and terminology instead of
deriving style from existing translations.
Then ask your agent to translate — or use the translate_project prompt to
translate every locale at once with one subagent per locale.
| Tool | Purpose |
|---|---|
project_info | Locales, base locale, totalKeys across all locales, translatableKeys from non-empty base messages, per-locale translated/missing counts, extra non-source keys, and the startup translation style brief when configured. |
get_translation_batch | Next batch of untranslated messages for a locale (default 50), with source text and required placeholders. Optionally autosaves the previous batch in the same call (pass translations), so the loop is one round-trip per batch and the final batch is saved by the call that reports done. |
get_retranslation_batch | Cursor-paged batch over already-translated messages too — refresh stale entries after source/terminology changes. Same optional autosave as get_translation_batch. |
save_translations | Validate and persist translations for one locale; per-item results — overwrites existing values. (The batch tools share this save core for their autosave.) |
list_message_keys | Keys only, filterable by prefix and status, paginated. |
get_messages | Full message content by keys or prefix. |
search_messages | Find messages by text or key substring. |
delete_messages / rename_message | Key management across all locales. |
remove_orphan_messages | Delete target-locale keys that are absent from the source locale (base locale by default), optionally scoped by locale or prefix. |
add_locale / remove_locale | Locale management in settings.json. |
| Prompt | Purpose |
|---|---|
translate_project | Translate every locale: the main agent uses the startup translation style brief (or asks the user for one), then fans out one subagent per locale in parallel. |