Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
作者提供的说明(英文原文)
Inspect, audit and safely edit i18n locale JSON files from AI agents.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
WORKSPACE_ROOT, I18N_GLOB, I18N_CODE_GLOB你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 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"
}
}
}
}在终端中运行这条命令
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运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.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"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"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"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
WORKSPACE_ROOT envI18N_GLOB envI18N_CODE_GLOB env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 hepter 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(2.0.0)于2个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Agent-Native Google Calendar - manage events, sync, and public booking
Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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.
limit/includeValues everywhere. A typical read costs 50-200 tokens.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.
npx -y i18n-codelens-mcp
npm install -g i18n-codelens-mcp
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 reportsunknown option '-y'. If that happens, quote the separator as'--', or run the command fromcmd, Git Bash or WSL.
# for the whole team: writes .mcp.json in the repo
claude mcp add --scope project i18n-codelens -- npx -y i18n-codelens-mcp
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"] } } }
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 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.
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"]
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 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 } } }
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": ["*"] } } }
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": [] } } }
Commit a project-level configuration so every teammate and every agent picks up the same server without touching global settings.
| Client | Project-level file | One-liner |
|---|---|---|
| Claude Code | .mcp.json | claude 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 CLI | project settings | gemini mcp add -s project i18n-codelens npx -y i18n-codelens-mcp |
| OpenCode | opencode.json | opencode 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 |
Resolution order:
workspaceDir argument (must be inside the configured root, see below)--workspaceRoot / --workspace-root WORKSPACE_ROOTCLAUDE_PROJECT_DIR (set by Claude Code)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.
| Variable | Default | Description |
|---|---|---|
WORKSPACE_ROOT | cwd | Project root to scan and edit |
I18N_GLOB | **/locales/**/*.json | Locale JSON glob |
I18N_CODE_GLOB | **/*.{ts,tsx,js,jsx} | Source glob for key scans |
I18N_CODE_REGEX | built-in | Regex with a named group key; the default matches t("key"), T('key'), i18n.t("key") and /** @i18n */ "key" |
I18N_IGNORE | node_modules, .git, dist, build, out, coverage, .next, .turbo, .cache | JSON array or comma/semicolon list of globs; .gitignore is honoured as well |
I18N_STRUCTURE | auto | Write shape: auto (keep), flat, nested |
I18N_INSERT_ORDER | nearby | Where new keys go: nearby, append, sort |
I18N_NS_SEPARATOR | : | Separator between namespace and key for {locale}/{namespace}.json layouts |
I18N_DEFAULT_NS | unset | Namespace used for keys written without one in a namespaced project |
I18N_ALLOW_ANY_WORKSPACE | unset | Let workspaceDir escape the configured root |
I18N_MCP_LOG_PORT | unset | Log relay used by the VS Code extension |
| Tool | Writes | Purpose |
|---|---|---|
i18n_project_info | No | Locales, key format, counts, config, warnings. Call once per session. |
i18n_get_translations | No | Values of keys per locale; nav. returns a namespace; includeValues:false for presence only |
i18n_search_keys | No | Substring search in keys or values, optional keyPrefix; marks keys missing in some locales |
i18n_file_keys | No | Keys one source file uses and the locales lacking each |
i18n_key_references | No | Where keys are used in code (path:line:col) |
i18n_audit | No | missing, placeholders, code (used but untranslated), unused; pick checks |
i18n_upsert_translations | Yes | Create/update keys with a value per locale; writes immediately, never deletes, conflicts unless overwrite:true |
| i18n_delete_keys | Yes | Remove keys; previews unless
只显示了开头部分;其余内容请在仓库中阅读