项目简介

Sapling MCP Server 是一个基于 Node.js 实现的 Model Context Protocol (MCP) 服务器,专为 Sapling SCM (Source Code Management) 工具设计。它作为 LLM (大型语言模型) 客户端和 Sapling SCM 之间的桥梁,使得 LLM 能够通过标准化的 MCP 协议,安全、可扩展地访问和操作 Sapling SCM 的各项功能。

主要功能点

  • 版本库状态查询: 获取 Sapling 版本库的当前状态,例如已修改、已暂存和未跟踪的文件。
  • 差异比较: 查看工作区、暂存区与不同目标(如分支、提交)之间的代码差异。
  • 代码提交: 将代码变更提交到 Sapling 版本库,并支持自定义提交信息和指定提交文件。
  • 文件添加与还原: 添加未跟踪文件到暂存区,以及还原工作区的修改。
  • 提交历史查看: 查看 Sapling 版本库的提交历史记录,支持指定最大记录数。
  • 书签和跳转: 创建和跳转到 Sapling 书签,方便在不同版本之间快速切换。
  • 版本显示: 查看指定版本(revision)的详细信息。
  • 版本库初始化: 在指定路径初始化一个新的 Sapling 版本库。
  • 代码推送: 将本地提交推送到远程仓库。
  • 合并请求处理: 支持与 GitHub Stack (ghstack) 集成,进行代码 Land (合并) 和查看 Pull Request 列表。
  • Web 界面访问: 打开 Sapling SCM 的 Web 界面。

安装步骤

  1. 安装 npm 包: 确保你的环境中已安装 Node.js 和 npm (Node Package Manager)。在命令行终端中执行以下命令安装 Sapling MCP Server:
    npm install @opqrapp/sapling-mcp

服务器配置

MCP 服务器配置信息(JSON 格式)用于告知 MCP 客户端如何连接和启动 Sapling MCP Server。以下是 Cursor 编辑器集成的配置示例,其他 MCP 客户端的配置方式类似。

{
  "mcpServers": {
    "sapling": {  // 服务器名称 (server name):  自定义,用于在客户端中标识该服务器,例如 "sapling"。
      "command": "npx", // 启动命令 (command):  通常为 "npx",用于执行 Node.js 包。
      "args": ["-y", "@opqrapp/sapling-mcp"] // 启动参数 (args):  
                                            // - "-y":  可选参数,用于跳过 npm 提示,自动确认执行。
                                            // - "@opqrapp/sapling-mcp":  要执行的 npm 包名称,即 Sapling MCP 服务器。
    }
  }
}

配置说明:

  • server name: 服务器名称,例如 "sapling",可以自定义,用于在 MCP 客户端中唯一标识该服务器。
  • command: 启动服务器的命令,通常使用 'npx',它允许你直接运行安装在 npm registry 上的包,而无需全局安装。
  • args: 启动命令的参数列表。
    • '"-y"': 可选参数,传递给 'npx',用于在执行 npm 包时跳过任何提示信息,例如包安装确认等。
    • '"@opqrapp/sapling-mcp"': 指定要通过 'npx' 执行的 npm 包的名称,这里是 '@opqrapp/sapling-mcp',即 Sapling MCP 服务器的 npm 包名。

MCP 客户端配置: 将上述 JSON 配置添加到你的 MCP 客户端(例如 Cursor 编辑器)的 MCP 服务器配置中。具体的配置位置和方法请参考你使用的 MCP 客户端的文档。配置完成后,客户端应该能够检测到并连接到 Sapling MCP Server。

基本使用方法

  1. 启动 MCP 客户端: 启动配置了 Sapling MCP Server 的 MCP 客户端,例如 Cursor 编辑器。
  2. 连接服务器: 客户端会自动根据配置尝试连接到 Sapling MCP Server。连接成功后,客户端通常会显示服务器已连接的提示。
  3. 使用 MCP 功能: 在 MCP 客户端中,你可以通过预定义好的 "工具 (Tools)" 来调用 Sapling SCM 的功能。例如,在 Cursor 中,你可以通过命令面板或者快捷键来触发与 Sapling SCM 相关的操作,例如查看版本库状态、比较代码差异、提交代码等。具体可用的工具列表和使用方式取决于 MCP 客户端的界面和功能设计。

注意: Sapling MCP Server 依赖于系统中已安装并配置好的 'sl' (Sapling SCM 命令行工具)。请确保你的环境中 'sl' 命令可用,并且已经正确配置了 Sapling SCM 的相关环境。

信息

分类

开发者工具