项目简介

MCPApp 是一个基于 Google Apps Script (GAS) 的 MCP 服务器实现库。它允许开发者在 Google Apps Script 环境中构建符合 Model Context Protocol (MCP) 标准的应用后端,从而使大型语言模型 (LLM) 客户端能够安全、标准化地访问用户的 Google Workspace 数据(如 Google Drive 文件、Google Calendar 日程等)以及通过 GAS 实现的自定义功能(工具)。

主要功能点

  • MCP协议支持: 实现MCP的核心协议方法,包括处理客户端发来的 'initialize', 'tools/list', 'tools/call', 'resources/list', 'resources/read', 'prompts/list', 'prompts/get' 等请求。
  • 工具 (Tools) 定义与执行: 允许您定义可在 Google Apps Script 中执行的函数作为 MCP 工具,LLM 客户端可通过 'tools/call' 方法调用这些函数,实现与 Google Workspace 或其他外部服务的交互。
  • 资源 (Resources) 定义与访问: 支持定义静态或动态生成的资源,LLM 客户端可通过 'resources/read' 方法访问这些资源获取上下文信息。
  • Prompt 模板 (Prompts) 定义: 可以定义预设的 Prompt 模板,指导 LLM 如何与服务器交互或处理特定任务。
  • Google Apps Script 集成: 利用 GAS 的特性,方便地访问 Google Drive、Google Calendar 等 Google Workspace 服务的数据。
  • Web App部署: 作为 GAS Web App 运行,通过 HTTP POST 接收 JSON-RPC 请求。
  • 日志功能: 可选地将客户端与服务器之间的通信日志记录到 Google Sheets,便于调试和监控。

安装步骤

  1. 创建 Google Apps Script 项目: 在 Google Drive 中创建一个新的 Google Apps Script 项目(独立脚本或绑定到 Google Docs/Sheets/Forms/Slides 的脚本均可)。
  2. 安装 MCPApp 库:
    • 打开新创建的 GAS 项目的脚本编辑器。
    • 在左侧菜单中找到“库”(Libraries),点击“+”号。
    • 在“脚本ID”(Script ID)字段输入本项目库的ID:'1TlX_L9COAriBlAYvrMLiRFQ5WVf1n0jChB6zHamq2TNwuSbVlI5sBUzh'。
    • 点击“查找”,然后点击“添加”并保存项目。
    • (或者,您也可以选择直接将本项目的 'MCPApp.js' 代码复制粘贴到您的脚本项目中)。
  3. 添加业务逻辑: 将本项目 README 中提供的示例脚本(例如 'sample1.js' 的内容)复制到您的 GAS 项目中。这些脚本定义了 'doPost', 'getserverResponse_', 'getFunctions_' 函数,以及实际执行工具/资源操作的函数(如 'search_files_on_Google_Drive', 'get_today_schedule' 等)。您可以根据自己的需求修改或添加新的工具和资源函数。

服务器配置 (for MCP客户端)

部署为 Web App 后,您的 MCP 服务器将有一个唯一的 URL(例如:'https://script.google.com/macros/s/###/exec')。您的 MCP 客户端需要知道这个 URL 才能连接。

通常,MCP 客户端的配置会包含服务器名称、用于启动或连接服务器的命令及其参数。对于使用 'mcp-remote' 代理连接到基于 HTTP 的 MCP 服务器的客户端(例如 Claude Desktop),配置信息类似如下:

  • 服务器名称: 您自定义的、用于在客户端标识此服务器的名称 (例如: 'google_workspace_server')
  • 命令 (command): 'npx' (用于执行 Node.js 包)
  • 参数 (args): 'mcp-remote', 您的 GAS Web App URL (例如: 'https://script.google.com/macros/s/###/exec')。如果启用了访问密钥,参数将是 'mcp-remote', 'https://script.google.com/macros/s/###/exec?accessKey=sample'。

客户端会使用此配置来通过 'mcp-remote' 代理访问您的 Google Apps Script Web App MCP服务器。

基本使用方法

  1. 按照安装步骤设置您的 Google Apps Script 项目,并添加或修改工具、资源和 Prompt 的定义及实现函数。
  2. 将您的 GAS 项目部署为 Web App。在部署设置中,“执行身份”选择“我”(您的Google账号),“有权访问的用户”选择“任何人”。请注意保存生成的 Web App URL。
  3. 在您的 MCP 客户端(如支持 MCP 的 LLM 应用或工具)中,配置一个新的 MCP 服务器连接,使用您部署的 Web App URL 和任何必要的访问密钥(如果配置了)。
  4. 启动 MCP 客户端。客户端将通过 MCP 协议与您的 GAS Web App 交互,发现服务器提供的工具、资源和 Prompt。
  5. 在客户端中,LLM 或用户可以调用这些工具或访问资源,从而与您的 Google Workspace 数据进行交互。例如,您可以指示LLM使用“搜索文件”工具查找 Google Drive 中的文件,或者读取“今日日程”资源获取日历信息。
  6. 当您修改了 GAS 脚本后,必须重新部署 Web App 并创建新的版本,以确保更改生效。

信息

分类

生产力应用