Back to Browse

Glot MCP Server

Developer ToolsLow Risk10.0MCP RegistryLocal
Free

Server data from the Official MCP Registry

AI-native i18n: live string context, validated translations, glossary for your app catalogs

About

AI-native i18n: live string context, validated translations, glossary for your app catalogs

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (2 strong, 2 medium validity signals). No known CVEs in dependencies. ⚠️ Package registry links to a different repository than scanned source. Imported from the Official MCP Registry. Trust signals: trusted author (4/4 approved). 1 finding(s) downgraded by scanner intelligence.

13 files analyzed · 1 issue found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

file_system

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

LLM key used by the translate tool (or OPENAI_API_KEY, per glot.toml). Not needed for context, check or add.Required

Environment variable: ANTHROPIC_API_KEY

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-mattjeff-glot": {
      "env": {
        "ANTHROPIC_API_KEY": "your-anthropic-api-key-here"
      },
      "args": [
        "-y",
        "glot-i18n"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

glot

Your coding agent localizes your app. Deterministic code guarantees that nothing broken or too long lands in your catalogs.

glot translate refuses a Polish plural without few/many, a {nom} placeholder the source does not have and a German label 276px wide for a 120px button, then writes the corrected retries

The real glot translate binary. The LLM is scripted to get three strings wrong on its first pass; every refusal and message is glot's. Reproduce it, or rerun it with a real model doing the retries: docs/launch/record/refusal.sh.

npx glot-i18n init        # detect your i18n stack, write glot.toml + rules for your coding agent
npx glot-i18n i18nize     # hardcoded UI strings -> keys, components rewritten (next-intl, react-i18next)
npx glot-i18n translate   # translate only the delta; invalid output is refused, retried, never written

Or all of it in one idempotent step: npx glot-i18n localize --yes --targets fr,de (init if needed → i18nize → translate → check).

Guarantees

Checked by code on every LLM output, on glot set, in the overlay and in CI (glot check). A refused string goes back to the model with the exact reason (2 retries, then the fallback model); if it still fails, nothing is written.

Placeholders{name}, {{name}}, tags: same set as the source, none invented, none translated. ICU, i18next and MessageFormat 2 syntax parsed.
CLDR pluralsEvery category the target locale needs (pl: one, few, many, other; ar: six of them).
Glossaryglossary.toml in your repo: required and forbidden translations, do-not-translate terms.
Pixel widthglot measure records each key's box and font from your running app; translations are shaped with that font and refused if wider. glot fit shortens what already overflows.
Lockfileglot.lock hashes source and target: only the delta is translated, and a hand edit is never overwritten without --force.
MCP for your agentglot mcp gives Claude Code, Cursor or Codex your keys, their usages (file:line, UI role), the glossary, and tools that add strings through the same validator.

Works with the i18n library you already use, adds no runtime, bring your own LLM key (Anthropic, OpenAI, any OpenAI-compatible endpoint). MIT.

More: Docs (concepts, CLI, MCP, integrations & GitHub Action, agent skill, AI-translation provenance, FAQ & costs) · Labs (SEO, database content, emails/images, task parity, plural coverage…) · Self-hosted server (experimental) · Demo app · Architecture

Reviews

No reviews yet

Be the first to review this server!