json-editor-mcp

编码与调试

by peternagy1332

A Model Context Protocol (MCP) server for editing JSON files with read, write, and deep merge capabilities. Perfect for managing multilingual Next.js projects and other JSON-based configurations.

什么是 json-editor-mcp

A Model Context Protocol (MCP) server for editing JSON files with read, write, and deep merge capabilities. Perfect for managing multilingual Next.js projects and other JSON-based configurations.

README

JSON Editor MCP

A Model Context Protocol (MCP) server for editing JSON files with read, write, and deep merge capabilities. Perfect for managing multilingual Next.js projects and other JSON-based configurations.

Note: This is an actively developed tool. Feature requests and bug reports are welcome! File issues on GitHub.

Problems This Solves

  • 💰 Significant token savings: Edit specific JSON paths instead of reading/writing entire files
  • Efficient operations: ~100 tokens per edit vs 4,000+ tokens for full file operations
  • 📦 Handles large files: Large translation files may not fit into context windows; targeted operations work regardless of file size
  • 🚀 Faster edits: Avoids slow network round-trips from reading/writing entire files
  • 🔑 Prevents duplicate keys: AI can't see full translation JSON and creates duplicates; targeted operations avoid this issue
  • 🔍 Targeted reads: Read only the values you need using dot notation paths
  • ✏️ Targeted writes: Update only specific paths, automatically creates missing nested structures
  • 🗑️ Targeted deletes: Remove specific paths from JSON files
  • 🔀 Deep merge support: Merge duplicate keys with recursive object merging
  • 📚 Multi-file operations: Read, write, or delete the same path from multiple JSON files efficiently
  • 📘 TypeScript support: Full type definitions included
  • 🤖 MCP compliant: Works with AI assistants (Cursor, Claude, ChatGPT) and development tools

Installation

bash
bun add json-editor-mcp

Usage

MCP Server Configuration

Add to your MCP client configuration:

json
{
  "mcpServers": {
    "json-editor": {
      "command": "bunx",
      "args": ["json-editor-mcp"]
    }
  }
}

Cursor Rules Integration

Copy the rule file to your project to ensure AI assistants use MCP tools:

bash
cp .cursor/rules/json-editor-mcp.mdc /path/to/your/project/.cursor/rules/

Tools

read_multiple_json_values

Reads the same dot notation path from one or more JSON files in a single operation. Returns a map with file paths as keys and the extracted values as values. Useful for comparing translations across language files or reading from a single file.

Note: For single file operations, pass an array with one file path: ["messages/en.json"]

Input JSON files:

messages/en.json:

json
{
  "common": {
    "welcome": "Welcome"
  }
}

messages/es.json:

json
{
  "common": {
    "welcome": "Bienvenido"
  }
}

Tool call:

code
read_multiple_json_values(["messages/en.json", "messages/es.json"], "common.welcome")

Output:

json
{
  "messages/en.json": "Welcome",
  "messages/es.json": "Bienvenido"
}

Single file example:

code
read_multiple_json_values(["messages/en.json"], "common.welcome")

Output:

json
{
  "messages/en.json": "Welcome"
}

write_json_values

Writes a value to a JSON file at a specified dot notation path. Automatically creates missing nested paths and preserves existing structure.

Input JSON (messages/en.json):

json
{
  "common": {
    "welcome": "Welcome"
  }
}

Tool call:

code
write_json_values("/absolute/path/to/messages/en.json", "pages.about.title", "About Us")

Output JSON (messages/en.json):

json
{
  "common": {
    "welcome": "Welcome"
  },
  "pages": {
    "about": {
      "title": "About Us"
    }
  }
}

Output:

code
Successfully wrote to /absolute/path/to/messages/en.json

delete_multiple_json_values

Deletes a value at a specified dot notation path from one or more JSON files. Returns a map with file paths as keys and deletion results as values.

Note: For single file operations, pass an array with one file path: ["messages/en.json"]

Input JSON files:

messages/en.json:

json
{
  "common": {
    "welcome": "Welcome",
    "goodbye": "Goodbye"
  }
}

messages/es.json:

json
{
  "common": {
    "welcome": "Bienvenido",
    "goodbye": "Adiós"
  }
}

Tool call:

code
delete_multiple_json_values(["messages/en.json", "messages/es.json"], "common.goodbye")

Output:

json
{
  "messages/en.json": "Successfully deleted",
  "messages/es.json": "Successfully deleted"
}

Output JSON files:

messages/en.json:

json
{
  "common": {
    "welcome": "Welcome"
  }
}

messages/es.json:

json
{
  "common": {
    "welcome": "Bienvenido"
  }
}

merge_duplicate_keys

Performs a deep merge of duplicate keys in a JSON file. Primitives use last-value-wins, objects merge recursively, and arrays use last-value-wins. Useful when AI assistants create duplicate keys because they can't see the full file structure.

Input JSON (messages/en.json):

json
{
  "common": {
    "welcome": "Welcome"
  },
  "common": {
    "goodbye": "Goodbye"
  }
}

Tool call:

code
merge_duplicate_keys("messages/en.json")

Output JSON (messages/en.json):

json
{
  "common": {
    "welcome": "Welcome",
    "goodbye": "Goodbye"
  }
}

API Reference

Path Notation: Dot notation for nested paths (e.g., "common.welcome", "pages.home.title")

Error Handling:

  • File not found: Creates empty object {} for reads
  • Invalid JSON: Returns error message
  • Path not found: Error for reads, auto-creates for writes

Deep Merge: Primitives last-value-wins, objects merge recursively, arrays last-value-wins

Development

bash
git clone https://github.com/peternagy1332/json-editor-mcp.git
cd json-editor-mcp
bun install
bun run build

License

MIT License - see LICENSE file for details.

Support

File issues on GitHub.

常见问题

json-editor-mcp 是什么?

A Model Context Protocol (MCP) server for editing JSON files with read, write, and deep merge capabilities. Perfect for managing multilingual Next.js projects and other JSON-based configurations.

相关 Skills

网页构建器

by anthropics

Universal
热门

面向复杂 claude.ai HTML artifact 开发,快速初始化 React + Tailwind CSS + shadcn/ui 项目并打包为单文件 HTML,适合需要状态管理、路由或多组件交互的页面。

在 claude.ai 里做复杂网页 Artifact 很省心,多组件、状态和路由都能顺手搭起来,React、Tailwind 与 shadcn/ui 组合效率高、成品也更精致。

编码与调试
未扫描114.1k

前端设计

by anthropics

Universal
热门

面向组件、页面、海报和 Web 应用开发,按鲜明视觉方向生成可直接落地的前端代码与高质感 UI,适合做 landing page、Dashboard 或美化现有界面,避开千篇一律的 AI 审美。

想把页面做得既能上线又有设计感,就用前端设计:组件到整站都能产出,难得的是能避开千篇一律的 AI 味。

编码与调试
未扫描114.1k

网页应用测试

by anthropics

Universal
热门

用 Playwright 为本地 Web 应用编写自动化测试,支持启动开发服务器、校验前端交互、排查 UI 异常、抓取截图与浏览器日志,适合调试动态页面和回归验证。

借助 Playwright 一站式验证本地 Web 应用前端功能,调 UI 时还能同步查看日志和截图,定位问题更快。

编码与调试
未扫描114.1k

相关 MCP Server

GitHub

编辑精选

by GitHub

热门

GitHub 是 MCP 官方参考服务器,让 Claude 直接读写你的代码仓库和 Issues。

这个参考服务器解决了开发者想让 AI 安全访问 GitHub 数据的问题,适合需要自动化代码审查或 Issue 管理的团队。但注意它只是参考实现,生产环境得自己加固安全。

编码与调试
83.4k

by Context7

热门

Context7 是实时拉取最新文档和代码示例的智能助手,让你告别过时资料。

它能解决开发者查找文档时信息滞后的问题,特别适合快速上手新库或跟进更新。不过,依赖外部源可能导致偶尔的数据延迟,建议结合官方文档使用。

编码与调试
52.2k

by tldraw

热门

tldraw 是让 AI 助手直接在无限画布上绘图和协作的 MCP 服务器。

这解决了 AI 只能输出文本、无法视觉化协作的痛点——想象让 Claude 帮你画流程图或白板讨论。最适合需要快速原型设计或头脑风暴的开发者。不过,目前它只是个基础连接器,你得自己搭建画布应用才能发挥全部潜力。

编码与调试
46.3k

评论