# io.github.fabkho/nuxt-i18n-mcp (npm · nuxt-i18n-mcp)

MCP server for managing i18n translations in Nuxt projects.

- Trust score: 66/100 (medium)
- Change this week: +20
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `nuxt-i18n-mcp`: 66/100 (this document), [markdown](https://verifymcp.io/servers/fabkho-nuxt-i18n-mcp/nuxt-i18n-mcp.md), [page](https://verifymcp.io/servers/fabkho-nuxt-i18n-mcp/nuxt-i18n-mcp)

## Channel facts

- Registry: `npm`
- Package: `nuxt-i18n-mcp`
- Version: `1.0.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (98 of 102), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (98 of 102), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 19/100
  - Repository check failed: the declared repository URL redirects; it must resolve directly.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 117 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 83/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1632 tokens (~125/item across 13 items; 13 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add fabkho-nuxt-i18n-mcp -- npx -y nuxt-i18n-mcp
```

### Codex

```bash
codex mcp add fabkho-nuxt-i18n-mcp -- npx -y nuxt-i18n-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "fabkho-nuxt-i18n-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "nuxt-i18n-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add fabkho-nuxt-i18n-mcp --command npx --arg -y --arg nuxt-i18n-mcp
```

### Hermes

```yaml
mcp_servers:
  fabkho-nuxt-i18n-mcp:
    command: "npx"
    args: ["-y", "nuxt-i18n-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "fabkho-nuxt-i18n-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "nuxt-i18n-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 66, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-02 (score 65, +45)

- [security regression] Provenance: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Malware scan: unverified → pass
- [functional regression] Security disclosure: fail → unverified
- [functional improvement] Stability: unverified → 0.23
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] License: unverified → pass
- [functional improvement] Schema quality: unverified → excellent
- [functional] Licence: MIT

### 2026-07-31 (score 20, −26)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 46, +27)

- [functional regression] Dependency health: partial → unverified
- [functional improvement] Schema quality: unverified → 100
- [functional improvement] Tool coverage: unverified → 100

### 2026-07-28 (score 19, −27)

- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Schema quality: 100 → unverified
- [functional improvement] Dependency health: unverified → partial

### 2026-07-27 (score 46)

First indexed and scored.

## MCP tools (13)

### `detect_i18n_config` (~65 tokens)

Detect i18n Config

Detect the Nuxt i18n configuration from the project. Returns locales, locale directories, default locale, and fallback chain. Call this first before using other tools.

Input parameters:

- `projectDir` (string): Absolute path to the Nuxt project root. Defaults to server cwd.

### `list_locale_dirs` (~56 tokens)

List Locale Directories

List all i18n locale directories in the project, grouped by layer. Shows file count and top-level key namespaces per layer.

Input parameters:

- `projectDir` (string): Absolute path to the Nuxt project root. Defaults to server cwd.

### `get_translations` (~123 tokens)

Get Translations

Get translation values for given key paths from a specific locale and layer. Use "*" as locale to read from all locales.

Input parameters:

- `keys` (array, required): Dot-separated key paths (e.g., ["common.actions.save"])
- `layer` (string, required): Layer name (e.g., "root", "app-admin")
- `locale` (string, required): Locale code, file name, or "*" for all locales (e.g., "en", "en-US.json", "*")
- `projectDir` (string): Absolute path to the Nuxt project root. Defaults to server cwd.

### `add_translations` (~101 tokens)

Add Translations

Add new translation keys to the specified layer. Provide translations per locale file name. Keys are inserted in alphabetical order. Fails if a key already exists (use update_translations instead).

Input parameters:

- `layer` (string, required): Layer name (e.g., "root", "app-admin")
- `projectDir` (string): Absolute path to the Nuxt project root. Defaults to server cwd.
- `translations` (object, required): Map of key paths to locale-value pairs

### `update_translations` (~96 tokens)

Update Translations

Update existing translation keys in the specified layer. Provide new values per locale file name. Fails if a key does not exist (use add_translations instead).

Input parameters:

- `layer` (string, required): Layer name (e.g., "root", "app-admin")
- `projectDir` (string): Absolute path to the Nuxt project root. Defaults to server cwd.
- `translations` (object, required): Map of key paths to locale-value pairs

### `get_missing_translations` (~118 tokens)

Get Missing Translations

Find translation keys that exist in the reference locale but are missing in other locales. Scans a specific layer or all layers.

Input parameters:

- `layer` (string): Layer name to scan. If omitted, scans all layers.
- `projectDir` (string): Absolute path to the Nuxt project root. Defaults to server cwd.
- `referenceLocale` (string): Reference locale code to compare against. Defaults to the project default locale.
- `targetLocales` (array): Locale codes to check for missing keys. Defaults to all locales except the reference.

### `search_translations` (~122 tokens)

Search Translations

Search translation files by key pattern (glob/regex) or value substring. Useful for finding existing translations before adding duplicates.

Input parameters:

- `layer` (string): Layer to search in. If omitted, searches all layers.
- `locale` (string): Locale to search in. If omitted, searches all locales.
- `projectDir` (string): Absolute path to the Nuxt project root. Defaults to server cwd.
- `query` (string, required): Search query — matched against keys and/or values
- `searchIn` (string): Where to search. Default: "both"

### `remove_translations` (~117 tokens)

Remove Translations

Remove one or more translation keys from ALL locale files in the specified layer. Use dryRun to preview changes before applying them.

Input parameters:

- `dryRun` (boolean): If true, return a preview of changes without writing. Default: false.
- `keys` (array, required): Dot-separated key paths to remove (e.g., ["common.actions.save"])
- `layer` (string, required): Layer name (e.g., "root", "app-admin")
- `projectDir` (string): Absolute path to the Nuxt project root. Defaults to server cwd.

### `rename_translation_key` (~145 tokens)

Rename Translation Key

Rename/move a translation key across ALL locale files in a layer. Preserves the value in every locale. Use dryRun to preview changes before applying them.

Input parameters:

- `dryRun` (boolean): If true, return a preview of changes without writing. Default: false.
- `layer` (string, required): Layer name (e.g., "root", "app-admin")
- `newKey` (string, required): New dot-separated key path (e.g., "common.buttons.save")
- `oldKey` (string, required): Current dot-separated key path (e.g., "common.actions.save")
- `projectDir` (string): Absolute path to the Nuxt project root. Defaults to server cwd.

### `translate_missing` (~198 tokens)

Translate Missing

Find keys missing in target locales and translate them. Uses the host LLM via MCP sampling if available, otherwise returns context for the agent to translate inline. Uses project config (glossary, translation prompt, locale notes, examples) if available.

Input parameters:

- `batchSize` (number): Max keys per sampling request. Default: 50.
- `dryRun` (boolean): If true, return what would be translated without writing. Default: false.
- `keys` (array): Specific keys to translate. If omitted, translates all missing keys.
- `layer` (string, required): Layer name to translate (e.g., "root", "app-admin")
- `projectDir` (string): Absolute path to the Nuxt project root. Defaults to server cwd.
- `referenceLocale` (string): Reference locale code. Defaults to the project default locale.
- `targetLocales` (array): Locale codes to translate into. Defaults to all locales except the reference.

### `find_orphan_keys` (~158 tokens)

Find Orphan Translation Keys

Find translation keys that exist in locale JSON files but are not referenced in any Vue/TS source code. Scans a specific layer or all layers. Reports keys that can potentially be removed.

Input parameters:

- `excludeDirs` (array): Additional directory names to skip when scanning (e.g., ["storybook", "__tests__"]).
- `layer` (string): Layer name to check. If omitted, checks all layers.
- `locale` (string): Locale code to read keys from. Defaults to the project default locale.
- `projectDir` (string): Absolute path to the Nuxt project root. Defaults to server cwd.
- `scanDirs` (array): Directories to scan for source code (absolute paths). Defaults to all layer root directories.

### `scan_code_usage` (~140 tokens)

Scan Code for Translation Key Usage

Scan Vue/TS source files to find where translation keys are referenced. Shows file paths and line numbers for each key. Useful for understanding where a key is used before renaming or removing it.

Input parameters:

- `excludeDirs` (array): Additional directory names to skip (e.g., ["storybook", "__tests__"]).
- `keys` (array): Specific dot-path keys to search for. If omitted, returns all key usages found in code.
- `projectDir` (string): Absolute path to the Nuxt project root. Defaults to server cwd.
- `scanDirs` (array): Directories to scan (absolute paths). Defaults to all layer root directories.

### `cleanup_unused_translations` (~193 tokens)

Cleanup Unused Translations

Find translation keys not referenced in source code and remove them. Combines find_orphan_keys + remove_translations in one step. Always does a dry run first unless dryRun is explicitly set to false.

Input parameters:

- `dryRun` (boolean): If true (default), only report what would be removed. Set to false to actually delete the keys.
- `excludeDirs` (array): Additional directory names to skip when scanning (e.g., ["storybook", "__tests__"]).
- `layer` (string): Layer name to clean up. If omitted, cleans all layers.
- `locale` (string): Locale code to read keys from for orphan detection. Defaults to the project default locale.
- `projectDir` (string): Absolute path to the Nuxt project root. Defaults to server cwd.
- `scanDirs` (array): Directories to scan for source code (absolute paths). Defaults to all layer root directories.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/fabkho-nuxt-i18n-mcp/nuxt-i18n-mcp#diagnostics

## Score history

- 2026-08-03: 66
- 2026-08-02: 65
- 2026-08-01: 20
- 2026-07-31: 20
- 2026-07-30: 46
- 2026-07-28: 19
- 2026-07-27: 46

## Links

- npm package: https://www.npmjs.com/package/nuxt-i18n-mcp
- Socket report: https://socket.dev/npm/package/nuxt-i18n-mcp
- Changelog RSS feed: https://verifymcp.io/servers/fabkho-nuxt-i18n-mcp/nuxt-i18n-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/fabkho-nuxt-i18n-mcp/nuxt-i18n-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/fabkho-nuxt-i18n-mcp/nuxt-i18n-mcp
