New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

@shipi18n/mcp

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@shipi18n/mcp

MCP server for i18n quality assurance — check, diff and review locale files from any MCP client. Validation needs no API key.

latest
Source
npmnpm
Version
2.3.0
Version published
Weekly downloads
36
-93.19%
Maintainers
1
Weekly downloads
 
Created
Source

@shipi18n/mcp

mcp-name: io.github.Shipi18n/shipi18n

A Model Context Protocol server for i18n quality assurance — check, diff and review your locale files straight from any MCP client (Claude Desktop, Cursor, …).

The validation tools need no API key and make no model call. Translation is also available, with your own provider key.

Install

Install in VS Code

Claude Code — one line:

claude mcp add shipi18n -- npx -y @shipi18n/mcp

Claude Desktop — add it to claude_desktop_config.json:

{
  "mcpServers": {
    "shipi18n": {
      "command": "npx",
      "args": ["-y", "@shipi18n/mcp"]
    }
  }
}

That is the whole setup for validation — no env block, no key. Then ask:

"Check ./locales against English and tell me what's broken in Spanish."

To translate as well, add your provider key:

"env": { "ANTHROPIC_API_KEY": "sk-ant-..." }

You will also need the matching SDK available (@anthropic-ai/sdk or openai) for translation.

How meaning-level review works without a key

review_locales does not call a model. It runs the structural checks, then returns the surviving source/translation pairs plus the review criteria — and your agent judges them with the model it is already running. Nothing is sent to us, and nothing extra is billed.

A note on MCP sampling. Earlier versions of this README advertised a "zero-key" translation mode built on sampling/createMessage. Sampling was deprecated in MCP spec 2026-07-28 (SEP-2577: "New implementations SHOULD NOT adopt it") and Claude Desktop never supported it, so that claim was wrong for the client most people use. The sampling path still exists as a silent fallback for clients that do implement it, but it is not the documented way to translate — a provider key is.

Tools

No API key required:

ToolDescription
check_localesStructural QA over a locale tree: missing/orphan keys, dropped placeholders, collapsed plurals, empty values, untranslated copy.
check_glossaryEnforce do-not-translate terms and locked per-language translations.
diff_localesWhat still needs translating, per language.
review_localesReturns translation pairs + criteria so your agent judges meaning with its own model.
check_placeholdersCompare two strings for placeholder drift.
list_languagesKnown language codes.

Requires your own provider key:

ToolDescription
translate_jsonTranslate a locale JSON string to one or more languages (returns the translated JSON).
translate_fileRead a .json locale file, translate it, and write <lang>.json files. Supports incremental.
list_languagesList the language codes/names with friendly names (any BCP-47 code works).
check_placeholdersVerify a translation preserves a source string's placeholders (no LLM call).

All translation tools accept optional provider (anthropic/openai) and model arguments to override auto-detection.

Why

Built on @shipi18n/core: structure-preserving JSON translation with placeholder preservation/validation, batching, and incremental (only-changed) mode. Open-source, no Shipi18n account, no hosted API.

License

Apache-2.0

Keywords

mcp

FAQs

Package last updated on 13 Sep 2026

Related posts