Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

I18n Codelens MCP

by hepterversion 2.0.0i★ –iRuns on your computer
Registry nameio.github.hepter/i18n-codelens-mcp

Install

Overview

Description from the maker (original English)

Inspect, audit and safely edit i18n locale JSON files from AI agents.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Other

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: WORKSPACE_ROOT, I18N_GLOB, I18N_CODE_GLOB

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "i18n-codelens": {
      "command": "npx",
      "args": [
        "-y",
        "i18n-codelens-mcp"
      ],
      "env": {
        "WORKSPACE_ROOT": "your-value",
        "I18N_GLOB": "your-value",
        "I18N_CODE_GLOB": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add i18n-codelens --env WORKSPACE_ROOT=your-value --env I18N_GLOB=your-value --env I18N_CODE_GLOB=your-value -- npx -y i18n-codelens-mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "i18n-codelens": {
      "command": "npx",
      "args": [
        "-y",
        "i18n-codelens-mcp"
      ],
      "env": {
        "WORKSPACE_ROOT": "your-value",
        "I18N_GLOB": "your-value",
        "I18N_CODE_GLOB": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "i18n-codelens": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "i18n-codelens-mcp"
      ],
      "env": {
        "WORKSPACE_ROOT": "your-value",
        "I18N_GLOB": "your-value",
        "I18N_CODE_GLOB": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • WORKSPACE_ROOT env
    Absolute path of the project whose locale files should be managed. Defaults to CLAUDE_PROJECT_DIR or the working directory.
  • I18N_GLOB env
    Glob for locale JSON files (default **/locales/**/*.json).
  • I18N_CODE_GLOB env
    Glob for source files scanned for t("key") references (default **/*.{ts,tsx,js,jsx}).

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account hepter, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Otheri

  • More stars than 0% of the other 32742 servers in this category
  • Published to the registry more recently than 32% of the other 32742 servers in this category
  • Basic checks equal to or better than 100% of the other 32742 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is I18n Codelens MCP safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (2.0.0) reached the registry 2 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, Asset Notation

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated 2 days ago
Install

Asset Notation

by assetnotation

Read and maintain an Asset Notation file on disk: net worth, holdings, valuations, CSV import.

Runs on your computerUpdated today
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

i18n-codelens-mcp

Model Context Protocol (MCP) server for i18n translation files. It lets AI agents (Claude Code, Cursor, Antigravity, GitHub Copilot, Codex, Gemini CLI and any other MCP client) inspect, audit and safely edit locale JSON files without ever loading a whole locale file into the model context.

  • Compact by design. Ten tools, single-line JSON results, no echoed input, limit/includeValues everywhere. A typical read costs 50-200 tokens.
  • Safe by construction. No write path can reduce a locale file's key set; mixed flat/nested files are edited in place, never converted; upserts report conflicts instead of overwriting.
  • Current MCP. Built on the TypeScript SDK v2: protocol revision 2026-07-28 and the 2025 revisions, server instructions, prompts (slash commands), cache hints and elicitation-based confirmation for destructive tools.
  • Any layout. locales/en.json, locales/en-US.json, messages.en.json and i18next-style locales/en/common.json (namespace files, keys as common:nav.home).

This package is also the MCP backend of the i18n CodeLens VS Code extension.

Requirements

  • Node.js 20 or newer
  • Locale resources as JSON files
  • An MCP client that supports stdio servers

Install

npx -y i18n-codelens-mcp

or

npm install -g i18n-codelens-mcp

Client setup

Every command below registers the same thing: a stdio server named i18n-codelens running npx -y i18n-codelens-mcp. Pick your client, run one line, done.

The server needs to know which project to work on. Most clients start it in the project directory, and Claude Code passes the project root explicitly, so nothing else is needed. When your client starts the server from somewhere else, add the project path with the client's env flag, for example -e WORKSPACE_ROOT=/absolute/path/to/project.

Windows PowerShell: PowerShell can swallow a bare -- before it reaches the CLI, which then reports unknown option '-y'. If that happens, quote the separator as '--', or run the command from cmd, Git Bash or WSL.

Claude Code
# for the whole team: writes .mcp.json in the repo

claude mcp add --scope project i18n-codelens -- npx -y i18n-codelens-mcp

just for you, in every project

claude mcp add --scope user i18n-codelens -- npx -y i18n-codelens-mcp

Claude Code sets CLAUDE_PROJECT_DIR for stdio servers, so the server always finds the right project. Its tool-search feature defers MCP tools; i18n_upsert_translations and i18n_get_translations are marked anthropic/alwaysLoad so the two everyday tools need no lookup. The prompts show up as /i18n-codelens:audit, /i18n-codelens:add-key and /i18n-codelens:translate-missing.

Manual configuration

Project scope is .mcp.json in the repository root:

{

"mcpServers": { "i18n-codelens": { "type": "stdio", "command": "npx", "args": ["-y", "i18n-codelens-mcp"] } } }

Google Antigravity
agy mcp add i18n-codelens -- npx -y i18n-codelens-mcp

agy mcp list, agy mcp disable i18n-codelens and agy mcp remove i18n-codelens manage it afterwards. Inside the IDE, /mcp opens the MCP manager.

Manual configuration

Global is ~/.gemini/config/mcp_config.json (Windows: %USERPROFILE%\.gemini\config\mcp_config.json), per project .agents/mcp_config.json. In the IDE: … → MCP Servers → Manage MCP Servers → View raw config.

{

"mcpServers": { "i18n-codelens": { "command": "npx", "args": ["-y", "i18n-codelens-mcp"], "cwd": "/absolute/path/to/project", "env": { "WORKSPACE_ROOT": "/absolute/path/to/project" } } } }

Antigravity also accepts disabled: true and disabledTools: ["i18n_format_resources"] per server.

Gemini CLI
gemini mcp add -s user i18n-codelens npx -y i18n-codelens-mcp

Use -s project to write the project's settings instead. Gemini takes the command and its arguments positionally, so no -- is needed.

OpenAI Codex CLI
codex mcp add i18n-codelens -- npx -y i18n-codelens-mcp

Manual configuration

~/.codex/config.toml:

[mcp_servers.i18n-codelens]

command = "npx" args = ["-y", "i18n-codelens-mcp"]

VS Code and Copilot Chat
code --add-mcp "{\"name\":\"i18n-codelens\",\"command\":\"npx\",\"args\":[\"-y\",\"i18n-codelens-mcp\"]}"

That writes the user profile. MCP: Add Server in the Command Palette does the same through a guided flow and can target the workspace.

Manual configuration

.vscode/mcp.json in the repository, which you can commit:

{

"servers": { "i18n-codelens": { "type": "stdio", "command": "npx", "args": ["-y", "i18n-codelens-mcp"], "env": { "WORKSPACE_ROOT": "${workspaceFolder}" } } } }

OpenCode
opencode mcp add i18n-codelens -- npx -y i18n-codelens-mcp

Manual configuration

opencode.json in the project root, or ~/.config/opencode/opencode.json:

{

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

GitHub Copilot CLI

Copilot CLI adds servers from inside a session rather than from the shell. Start copilot, then:

/mcp add

Fill in the form: Server Name i18n-codelens, Server Type STDIO, Command npx -y i18n-codelens-mcp. /mcp, /mcp show i18n-codelens and /mcp delete i18n-codelens manage it afterwards.

Manual configuration

User level is ~/.copilot/mcp-config.json; for a repository commit .github/mcp.json, or drop an uncommitted .mcp.json at the project root.

{

"mcpServers": { "i18n-codelens": { "type": "local", "command": "npx", "args": ["-y", "i18n-codelens-mcp"], "env": {}, "tools": ["*"] } } }

Cursor, Windsurf, Claude Desktop, Kiro, Cline and Roo Code

These clients have no command to add a server, so the configuration file is the way in. The shape is the same everywhere; only the path differs.

Cursor and Windsurf

.cursor/mcp.json in the project or ~/.cursor/mcp.json; Windsurf uses ~/.codeium/windsurf/mcp_config.json.

{

"mcpServers": { "i18n-codelens": { "command": "npx", "args": ["-y", "i18n-codelens-mcp"], "env": { "WORKSPACE_ROOT": "/absolute/path/to/project" } } } }

cursor-agent mcp list and cursor-agent mcp enable i18n-codelens manage it from the terminal once it is configured.

Claude Desktop

Open Settings → Developer → Edit Config.

{

"mcpServers": { "i18n-codelens": { "command": "npx", "args": ["-y", "i18n-codelens-mcp"], "env": { "WORKSPACE_ROOT": "/absolute/path/to/project" } } } }

Kiro

Command palette: Kiro: Open workspace MCP config (JSON) for .kiro/settings/mcp.json, or the user config at ~/.kiro/settings/mcp.json.

{

"mcpServers": { "i18n-codelens": { "command": "npx", "args": ["-y", "i18n-codelens-mcp"], "env": { "WORKSPACE_ROOT": "/absolute/path/to/project" }, "disabled": false, "autoApprove": ["i18n_project_info", "i18n_get_translations", "i18n_search_keys", "i18n_file_keys", "i18n_key_references", "i18n_audit"] } } }

Zed

~/.config/zed/settings.json, or .zed/settings.json for the team. Zed calls MCP servers context_servers.

{

"context_servers": { "i18n-codelens": { "source": "custom", "command": "npx", "args": ["-y", "i18n-codelens-mcp"], "env": { "WORKSPACE_ROOT": "/absolute/path/to/project" } } } }

Cline and Roo Code

Open the extension panel → MCP Servers → Configure MCP Servers. Cline writes cline_mcp_settings.json, Roo Code mcp_settings.json or .roo/mcp.json per project.

{

"mcpServers": { "i18n-codelens": { "command": "npx", "args": ["-y", "i18n-codelens-mcp"], "env": { "WORKSPACE_ROOT": "/absolute/path/to/project" }, "disabled": false, "autoApprove": [] } } }

Sharing with a team

Commit a project-level configuration so every teammate and every agent picks up the same server without touching global settings.

ClientProject-level fileOne-liner
Claude Code.mcp.jsonclaude mcp add --scope project i18n-codelens -- npx -y i18n-codelens-mcp
Antigravity.agents/mcp_config.json
GitHub Copilot CLI.github/mcp.json or .mcp.json
VS Code / Copilot Chat.vscode/mcp.json
Gemini CLIproject settingsgemini mcp add -s project i18n-codelens npx -y i18n-codelens-mcp
OpenCodeopencode.jsonopencode mcp add i18n-codelens -- npx -y i18n-codelens-mcp
Cursor.cursor/mcp.json
Kiro.kiro/settings/mcp.json
Zed.zed/settings.json
Roo Code.roo/mcp.json

Workspace root

Resolution order:

  1. Per-tool workspaceDir argument (must be inside the configured root, see below)
  2. CLI --workspaceRoot / --workspace-root
  3. WORKSPACE_ROOT
  4. CLAUDE_PROJECT_DIR (set by Claude Code)
  5. Current working directory
  6. Server package directory

The workspaceDir tool argument can only select a sub-directory of the configured root. A model cannot point the server at another directory on disk unless the server is started with I18N_ALLOW_ANY_WORKSPACE=1.

Configuration

VariableDefaultDescription
WORKSPACE_ROOTcwdProject root to scan and edit
I18N_GLOB**/locales/**/*.jsonLocale JSON glob
I18N_CODE_GLOB**/*.{ts,tsx,js,jsx}Source glob for key scans
I18N_CODE_REGEXbuilt-inRegex with a named group key; the default matches t("key"), T('key'), i18n.t("key") and /** @i18n */ "key"
I18N_IGNOREnode_modules, .git, dist, build, out, coverage, .next, .turbo, .cacheJSON array or comma/semicolon list of globs; .gitignore is honoured as well
I18N_STRUCTUREautoWrite shape: auto (keep), flat, nested
I18N_INSERT_ORDERnearbyWhere new keys go: nearby, append, sort
I18N_NS_SEPARATOR:Separator between namespace and key for {locale}/{namespace}.json layouts
I18N_DEFAULT_NSunsetNamespace used for keys written without one in a namespaced project
I18N_ALLOW_ANY_WORKSPACEunsetLet workspaceDir escape the configured root
I18N_MCP_LOG_PORTunsetLog relay used by the VS Code extension

Tools

ToolWritesPurpose
i18n_project_infoNoLocales, key format, counts, config, warnings. Call once per session.
i18n_get_translationsNoValues of keys per locale; nav. returns a namespace; includeValues:false for presence only
i18n_search_keysNoSubstring search in keys or values, optional keyPrefix; marks keys missing in some locales
i18n_file_keysNoKeys one source file uses and the locales lacking each
i18n_key_referencesNoWhere keys are used in code (path:line:col)
i18n_auditNomissing, placeholders, code (used but untranslated), unused; pick checks
i18n_upsert_translationsYesCreate/update keys with a value per locale; writes immediately, never deletes, conflicts unless overwrite:true

| i18n_delete_keys | Yes | Remove keys; previews unless

Only the beginning is shown; read the rest in the repo

Ask PopNx