项目简介

clasp (Command Line Apps Script Projects) 是一个用于在本地开发和管理 Google Apps Script 项目的命令行工具。它允许开发者使用自己喜欢的编辑器和版本控制系统来编写和管理 Apps Script 代码,然后通过命令行同步到 Google 的 Apps Script 服务器。其实验性 MCP 模式是将部分核心功能以 Model Context Protocol (MCP) 服务器的形式暴露出来,使得兼容 MCP 的 LLM 客户端可以直接调用这些功能,实现通过 AI 进行 Apps Script 项目的管理和操作。

主要功能点

  • 项目文件同步: 允许将本地修改推送到 Google Apps Script 服务器,或从服务器拉取最新代码到本地。
  • 项目创建与克隆: 支持创建新的 Apps Script 项目或克隆现有的项目到本地工作目录。
  • 项目列表: 能够列出用户在 Google Drive 中拥有的 Apps Script 项目。
  • MCP 工具接口: 通过标准的 MCP JSON-RPC 协议(使用 Stdio 传输)提供上述功能的接口,供 LLM 客户端调用。
  • 无需额外授权 (依赖clasp授权): MCP 模式沿用 clasp CLI 已有的 Google 授权凭证,无需单独授权步骤。

安装步骤

  1. 确保您的系统中已安装 Node.js (版本 >= 22.0.0)。您可以通过运行 'node -v' 命令检查。
  2. 通过 npm 全局安装 clasp:
    npm install -g @google/clasp
  3. 首次使用需要启用 Google Apps Script API。访问 https://script.google.com/home/usersettings ,找到 "Apps Script API" 选项并启用它。
  4. 在命令行运行 'clasp login' 并按照提示完成 Google 账号授权,以便 clasp 访问您的 Apps Script 项目。如果您计划使用 MCP 模式的 Run Function 等需要 GCP 项目的功能,可能还需要关联 GCP 项目并配置凭证,请参考 clasp 的官方文档了解详细步骤。

服务器配置 (for MCP Client)

为了让支持 MCP 的 LLM 客户端能够连接和使用 clasp MCP 服务器,您需要在客户端中配置启动该服务器的信息。配置通常是一个 JSON 格式的对象,包含服务器的名称、启动命令及其参数等信息。

以下是 Clasp MCP 服务器的典型配置信息(供 LLM 客户端参考,请根据您的客户端要求填写):

  • 'name': MCP 服务器的标识名称,例如 "Clasp Apps Script Server"。
  • 'command': 用于启动 clasp MCP 服务器的命令,通常是 '"clasp"'。
  • 'args': 传递给 'command' 的参数列表。启动 MCP 模式的参数是 '"start-mcp-server"' 或 '"mcp"'。例如:'["start-mcp-server"]'。
  • 'description': 对该 MCP 服务器功能的简要描述。
  • 'transport': 指定 MCP 通信协议,Clasp MCP 服务器目前支持 '"stdio"'。例如:'{"type": "stdio"}'。

一个完整的配置示例 (JSON 格式,请注意客户端可能需要特定的结构):

{
  "name": "Clasp Apps Script Server",
  "command": "clasp",
  "args": ["start-mcp-server"],
  "description": "Provides tools for Google Apps Script project management (push, pull, create, clone, list) via MCP.",
  "transport": {
    "type": "stdio"
  }
}

LLM 客户端将使用这些信息在需要时启动 clasp 进程,并通过标准输入/输出来与 MCP 服务器进行 JSON-RPC 通信。

基本使用方法

  1. 完成上述安装和授权步骤。
  2. 在支持 MCP 客户端功能的 LLM 应用中,根据上一节的配置信息添加 "Clasp Apps Script Server"。
  3. LLM 客户端通常会显示该服务器提供的工具列表(例如:push_files, pull_files, create_project, clone_project, list_projects)。
  4. 您可以通过 LLM 客户端的界面或交互方式来触发这些工具,例如让 AI 执行 "将当前项目推送到 Apps Script" 的操作,LLM 客户端会通过 MCP 调用 clasp 的 push_files 工具,从而完成任务。具体交互方式完全取决于您使用的 LLM 客户端。

请注意,'clasp start-mcp-server' 命令设计为由 MCP 客户端启动,用户通常无需直接手动运行此命令。

信息

分类

开发者工具