CEDARScript File Manipulation

CEDARScript File Manipulation

🚀 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 扩展名。
  • 0 关注
  • 0 收藏,7 浏览
  • system 提出于 2025-09-29 15:15

相似服务问题