article
README
🚀 CEDAR diff MCP 服务器
这是一个基于 TypeScript 的 MCP 服务器,实现了 CEDARScript 语言(类似于 SQL)用于代码操作。它提供了全面的代码操作语法、执行 CEDARScript 操作的工具,还支持复杂模式匹配和转换,为代码操作带来了便利。
✨ 主要特性
语法
- 采用类似于 SQL 的代码操作语法,涵盖数据定义语言和数据操作语言。
- 支持在文件、函数、类和方法级别进行目标定位。
- 可使用正则表达式、前缀/后缀规则以及缩进规则进行模式匹配。
- 具备块级代码操作功能。
工具
edit_file:用于执行 CEDARScript 命令。- 可接受脚本和工作目录作为参数。
- 支持文件的创建、删除、移动和更新操作。
- 提供基于模式的代码转换功能。
🔧 技术细节
经过测试,我们发现:
- 命令解析功能正常。
- 语法支持复杂的操作。
- 文件写入机制需要改进。
- 虽然返回成功消息,但更改未被持久化。
📦 安装指南
开发依赖安装
安装项目所需的依赖项:
npm install
服务器构建
构建服务器:
npm run build
自动重建开发
使用 watch 进行自动重建开发:
npm run watch
在 Claude Desktop 上安装
要在 Claude Desktop 上使用,请添加以下配置:
- 在 MacOS 上:
~/Library/Application Support/Claude/claude_desktop_config.json - 在 Windows 上:
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"cedardiff": {
"command": "/path/to/cedardiff/build/index.js"
}
}
}
💻 使用示例
调试
由于 MCP 服务器通过标准输入和输出进行通信,调试可能较为困难。我们推荐使用 MCP Inspector,这是一个作为包脚本提供的工具:
npm run inspector
Inspector 将提供一个访问调试工具的 URL,您可以在浏览器中打开。
📚 详细文档
ES 模块迁移
该项目已迁移到使用 ES 模块。主要改动包括:
- 在
package.json中添加了"type": "module"。 - 更新
tsconfig.json以使用"module": "ESNext"。 - 将导入/导出语句转换为 ES 模块语法。
- 更新类型定义以兼容 ES 模块。
兼容性注意事项
⚠️ 重要提示
- 确保使用 Node.js 版本 12 或更高版本。
- 使用
import而不是require()进行模块导入。- 在导入本地文件时使用
.js扩展名。
微信扫一扫