使用说明

项目简介

CEDARScript MCP Server 是一个基于 Model Context Protocol (MCP) 的后端服务器,它使用 CEDARScript 语言提供代码操作工具。CEDARScript 是一种类似 SQL 的语言,用于代码操作,支持代码的查询、修改等功能。此服务器提供了一个 'edit_file' 工具,允许 LLM 客户端通过执行 CEDARScript 命令来编辑代码文件。

主要功能点

  • 代码编辑工具: 提供 'edit_file' 工具,允许 LLM 客户端发送 CEDARScript 脚本来编辑指定文件。
  • CEDARScript 语法: 使用类似 SQL 的 CEDARScript 语法定义代码操作命令,包括 'UPDATE', 'CREATE', 'RM', 'MV' 等,支持基于模式匹配和条件判断的代码转换和修改。
  • 文件操作: 支持创建、删除、移动和更新文件,以及对文件内容进行查找、替换、插入等操作。
  • 可扩展性: 基于 MCP 协议,易于集成到支持 MCP 协议的 LLM 客户端,扩展 LLM 的代码操作能力。

安装步骤

  1. 前提条件: 确保已安装 Node.js 和 npm。
  2. 克隆仓库: 将仓库克隆到本地:
    git clone https://github.com/th3w1zard1/cedarscript-mcp.git
  3. 进入项目目录:
    cd cedarscript-mcp
  4. 安装依赖:
    npm install
  5. 构建项目:
    npm run build
    构建成功后,会在 'build' 目录下生成 'index.js' 文件,这是服务器的入口文件。

服务器配置

要将 CEDARScript MCP 服务器与 MCP 客户端(例如 Claude Desktop)连接,需要在客户端的配置文件中添加服务器配置信息。以 Claude Desktop 为例,配置文件通常位于:

  • MacOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
  • Windows: '%APPDATA%/Claude/claude_desktop_config.json'

在配置文件中,添加 'mcpServers' 字段,并配置 'cedardiff' 服务器:

{
  "mcpServers": {
    "cedardiff": {
      "command": "/path/to/cedardiff/build/index.js" // 请替换为 cedarscript-mcp 项目 build 目录下的 index.js 文件的绝对路径
    }
  }
}

注意:

  • 'command' 字段的值需要替换为 'cedarscript-mcp' 项目 'build' 目录下 'index.js' 文件的实际绝对路径。例如,如果你的项目位于 '/Users/yourname/cedarscript-mcp',则 'command' 应该配置为 '/Users/yourname/cedarscript-mcp/build/index.js'。

基本使用方法

  1. 启动服务器: 构建项目后,服务器即可通过配置的 'command' 启动。当 Claude Desktop 等 MCP 客户端连接时,服务器会自动运行。

  2. 客户端调用 'edit_file' 工具: 在 MCP 客户端中,可以使用 'edit_file' 工具来编辑代码文件。调用该工具需要提供以下参数:

    • 'script': CEDARScript 命令字符串,用于描述代码编辑操作。例如:
      UPDATE FILE 'main.py'
      REPLACE ALL
      CASE
          WHEN REGEX r'console.log\((.*?)\)' THEN SUB r'logger.debug(\1)'
          WHEN PREFIX 'TODO:' THEN DELETE
      END;
    • 'workingDir': 工作目录,用于解析 'script' 中指定的文件路径。例如,如果 'script' 中 'FILE 'src/main.py'',并且 'workingDir' 设置为 '/path/to/your/project',则实际操作的文件路径为 '/path/to/your/project/src/main.py'。

    客户端发送请求后,服务器会解析 CEDARScript 脚本,执行相应的代码编辑操作,并将结果返回给客户端。

示例 CEDARScript 命令:

  • 替换 'console.log' 为 'logger.debug':
    UPDATE FILE 'example.js' REPLACE ALL CASE WHEN REGEX r'console.log\((.*?)\)' THEN SUB r'logger.debug(\1)' END;
  • 删除以 'TODO:' 开头的行:
    UPDATE FILE 'example.js' REPLACE ALL CASE WHEN PREFIX 'TODO:' THEN DELETE END;
  • 创建新文件:
    CREATE FILE 'new_file.js' WITH CONTENT 'console.log("Hello, world!");';

请根据 CEDARScript 的语法规则编写更复杂的代码编辑脚本,以实现更强大的代码操作功能。

信息

分类

开发者工具