JsonMcpTool(Go版本)
一个完整的MCP(模型上下文协议)工具,用于高效处理JSON文件,专为I18Next翻译文件和其他大型JSON文档而设计。这是 去重写 为了获得更好的性能和更容易的部署,我们使用了原始Python实现。
🚀 性能和优势
Go版本提供:
- 执行速度更快 -原生Go性能与Python解释代码
- 降低内存使用率 -更高效的内存管理
- 单个二进制 -无Python依赖,易于部署
- 更好的并发性 -Go内置的并发支持
- 100%API兼容性 -Python版本的插入式替换
这个工具做什么
JsonMcpTool允许您通过以下方式与JSON翻译文件交互 克劳德代码 使用自然语言。您可以要求Claude执行以下操作,而不是手动编辑大型翻译文件:
- “从我的translations.json获取仪表板标题”
- “设置登录表单验证文本”
- “删除已弃用的翻译”
专为 i18next翻译文件 使用不会弄乱LLM上下文窗口的最小工具集。
主要特点
- 🎯 I18Next已优化:非常适合带插值的翻译文件(
{{name}}) - ✨ 最小工具集:只有3个核心工具(设置、获取、删除)-不会扰乱LLM上下文
- 📝 压痕保存:自动检测并保留JSON格式(2/4空格、制表符)
- 🔍 智能路径解析:适用于点标记路径,如
section.subsection.key - 💾 安全操作:原子文件写入防止损坏
- ⚡ 快:原生Go性能,针对高达100MB的文件进行了优化+
- 🛡️ 错误处理:清除调试错误消息
安装和设置
1.先决条件
您需要安装Go(1.23或更高版本):
# Check if Go is installed
go version
# If not installed, download from https://golang.org/dl/2.构建JsonMcpTool
# Clone or download this repository
git clone /path/to/JsonMcpTool
cd /path/to/JsonMcpTool
# Build the binary
go build -o jsonmcptool ./cmd/server
# Or install directly
go install ./cmd/server3.配置克劳德代码
将JsonMcpTool添加到您的Claude Code MCP配置中:
# Using the built binary
claude mcp add jsonmcptool -- /PATH/TO/JsonMcpTool/jsonmcptool
# Or if installed globally
claude mcp add jsonmcptool -- jsonmcptool替代手动配置:
{
"mcpServers": {
"jsonmcptool": {
"type": "stdio",
"command": "/PATH/TO/JsonMcpTool/jsonmcptool"
}
}
}4.重新启动克劳德代码
重新启动Claude Code以加载新的MCP工具。
5.测试它是否有效
创建一个简单的JSON文件并询问Claude:
"I have a translations.json file at /path/to/translations.json with this content:
{
"dashboard": {
"title": "Dashboard"
}
}
Can you get the dashboard title for me?"Claude应使用值“Dashboard”进行响应。
开发与测试
从源头构建
# Clone the repository
git clone
cd JsonMcpTool
# Build
go build ./cmd/server
# Run tests
go test ./... -v
# Run benchmarks
go test ./... -bench=. -benchmem项目结构
JsonMcpTool/
├── cmd/server/main.go # MCP server entry point
├── internal/
│ ├── jsonhandler/ # File I/O, parsing, caching, indent detection
│ ├── pathresolver/ # Dot-notation path handling
│ ├── operations/ # Core JSON operations (set/get/remove)
│ └── mcpserver/ # MCP server setup
├── testdata/ # Test fixtures
├── go.mod # Go module definition
└── README.md # This file可用工具
针对i18next翻译工作流程优化的三个重点工具:
| 工具 | 说明 | 示例用法 |
|---|---|---|
| 集 | 在路径处设置字符串值(根据需要创建嵌套对象) | *“将dashboard.title设置为“新标题””* |
| 得到 | 在路径处获取值(返回字符串或对象) | *“获取仪表板.title”* |
| 移除 | 删除路径上的密钥 | *“删除已弃用的部分”* |
设计说明
- 仅字符串值:The
set该工具只接受字符串值,匹配i18next转换模式 - 自动排料:设置
a.b.c将创建中间对象{ "a": { "b": { "c": "value" } } } - 压痕保存:该工具自动检测并保留2-space、4-space或制表符缩进
从Python版本迁移
此Go版本是 简化实施 专注于i18next翻译工作流程。工具集已从8个操作简化为3个操作:
| 旧工具 | 新工具 | 注释 |
|---|---|---|
get_key | get | 功能相同 |
add_key, update_key | set | 统一为单一工具 |
remove_key | remove | 功能相同 |
rename_key, list_keys, key_exists, validate_json | -- | 已删除(很少需要) |
性能改进
- 启动时间:约50ms vs约200ms(快75%)
- 内存使用:约5MB对比约15MB(减少67%)
- JSON 解析:对于大文件,速度快2~3倍
- 文件 操作:由于高效的I/O,速度提高了约40%
版本中的新功能
- 最小工具集 -只有3个工具,不会弄乱LLM上下文窗口
- 压痕保存 -自动检测并保留2/4个空格或制表符
- Native Go性能 -单一二进制文件,无运行时依赖关系
- 更简单的心智模型 -设置/获取/移除99%的用例
- 增强的错误消息 具有精确的位置信息
故障排除
常见问题
“找不到工具”:
- 添加MCP配置后重新启动Claude Code
- 检查二进制文件的路径是否绝对正确
- 确保二进制文件已成功构建
“权限被拒绝”:
- 确保二进制文件可执行:
chmod +x jsonmcptool - 在macOS/Linux上,您可能需要在安全设置中允许二进制文件
构建错误:
- 确保你有Go 1.23或更高版本:
go version - 跑
go mod tidy确保依赖关系正确
是什么让这个特别
与通用文本编辑工具不同,JsonMcpTool:
✅ 最小工具集 -只有3个工具,不会扰乱LLM上下文 ✅ 压痕保存 -保持您的首选格式 ✅ 了解JSON结构 -没有破坏语法的风险 ✅ 高效处理大文件 -支持100MB+的翻译文件 ✅ Native Go性能 -比Python版本快2-3倍 ✅ 单二进制部署 -无运行时依赖关系 ✅ 支持I18Next模式 -专为翻译工作流程而构建 ✅ 安全操作 -原子写入防止文件损坏 ✅ 自然语言界面 -问问克劳德你想做什么
非常适合通过Claude Code管理翻译文件、配置文件或任何JSON数据!
许可证
MIT许可证-在您的项目中自由使用!
