返回 MCP 目录
public公开dns本地运行

CEDARScript File Manipulation

基于TypeScript的MCP服务器,实现CEDARScript语法规则进行代码操作

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 扩展名。
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端