使用说明

项目简介

本项目 'MCP Google 文档工具' 是一个基于 Model Context Protocol (MCP) 构建的服务器实现,旨在通过标准化的 MCP 协议,为大型语言模型 (LLM) 客户端提供访问和操作 Google Sheets 和 Google Drive 的能力。它将 Google Sheets 和 Google Drive 的各种功能封装成易于 LLM 调用的工具,使得 LLM 应用能够方便地利用云端文档数据,扩展其应用场景。

主要功能点

  • Google Drive 文件管理:
    • 列出指定 Google Drive 文件夹中的文件。
    • 复制 Google Drive 文件。
    • 重命名 Google Drive 文件。
    • 创建空白 Google Sheets 文档。
    • 基于模板创建 Google Sheets 文档。
    • 复制现有 Google Sheets 文档。
  • Google Sheets 表格操作:
    • 列出 Google Sheets 文档中的所有工作表。
    • 复制 Google Sheets 工作表。
    • 重命名 Google Sheets 工作表。
    • 获取 Google Sheets 工作表的数据。
    • 在 Google Sheets 工作表中添加/删除行。
    • 在 Google Sheets 工作表中添加/删除列。
    • 更新 Google Sheets 工作表中的单元格数据,支持HTML格式文本和单元格格式设置。
    • 在 Google Sheets 工作表中创建、更新和删除图表。
    • 更新 Google Sheets 工作表中的单元格格式。

安装步骤

  1. 环境准备: 确保已安装 Python 3.7 或更高版本。
  2. 克隆仓库: 将 'mcp-google-docs' 仓库克隆到本地。
    git clone https://github.com/dev-ithitchhiker/mcp-google-docs.git
    cd mcp-google-docs
  3. 创建并激活虚拟环境 (推荐):
    • macOS/Linux:
      python3 -m venv venv
      source venv/bin/activate
    • Windows:
      python -m venv venv
      venv\Scripts\activate
  4. 安装依赖包: 安装 'requirements.txt' 文件中列出的 Python 包。
    pip install -r requirements.txt
  5. 配置 Google Cloud Console:
    • 登录 Google Cloud Console 并创建一个新的项目。
    • 在项目中,启用以下 API:
      • Google Sheets API
      • Google Drive API
    • 创建 OAuth 2.0 客户端 ID,下载客户端密钥 JSON 文件 ('client_secret.json')。
  6. 配置环境变量:
    • 设置以下环境变量:

      • 'MCPGD_CLIENT_SECRET_PATH': Google OAuth 2.0 客户端密钥 JSON 文件的完整路径,例如 '/path/to/client_secret.json'。 [必填]
      • 'MCPGD_FOLDER_ID': 你的 Google Drive 文件夹 ID。文件和电子表格将在此文件夹中创建和管理。 [必填]
      • 'MCPGD_TOKEN_PATH': (可选) 用于保存 OAuth 2.0 令牌的文件路径。 默认值为 '~/.mcp_google_spreadsheet.json'。 如果不设置,将使用默认路径。
    • 设置环境变量方法 (示例):

      • Linux/macOS: 在终端中使用 'export' 命令,例如:
        export MCPGD_CLIENT_SECRET_PATH="/path/to/client_secret.json"
        export MCPGD_FOLDER_ID="your_folder_id"
      • Windows: 在命令提示符或 PowerShell 中使用 'set' 命令,例如:
        set MCPGD_CLIENT_SECRET_PATH="C:\path\to\client_secret.json"
        set MCPGD_FOLDER_ID="your_folder_id"
        或者在系统环境变量中永久设置。

服务器配置

以下 JSON 配置信息用于 MCP 客户端连接到此 MCP 服务器。请根据实际情况修改 'command' 和 'args' 字段。

{
  "server_name": "mcp-google-docs",
  "command": "python",
  "args": ["main.py"],
  "transport": "stdio"
}

配置参数说明:

  • 'server_name': 服务器名称,可以自定义,用于在 MCP 客户端中标识该服务器。
  • 'command': 启动 MCP 服务器的命令,这里是 'python',假设您的 Python 环境已配置到 PATH 环境变量中。
  • 'args': 命令的参数,这里是 '["main.py"]',指定运行 'main.py' 文件来启动服务器。
  • 'transport': 传输协议,这里使用 'stdio',即标准输入输出流进行通信。

注意:

  • 确保 MCP 客户端能够找到 'python' 命令,或者将 'command' 配置为 Python 解释器的完整路径。
  • 'args' 字段中的 'main.py' 路径是相对于 MCP 客户端的执行环境而言的。如果 MCP 客户端和 'main.py' 不在同一目录下,请根据实际情况调整 'args' 中的路径。
  • 如果您修改了 'main.py' 的文件名或存放位置,请相应地更新 'args' 配置。

基本使用方法

  1. 启动 MCP 服务器: 在终端中,进入 'mcp-google-docs' 仓库目录,并运行以下命令启动服务器:

    python main.py

    服务器成功启动后,会显示日志信息。保持服务器运行。

  2. 配置 MCP 客户端: 在您的 MCP 客户端应用中,根据上述 "服务器配置" 部分提供的 JSON 配置信息,添加或配置该 MCP 服务器。

  3. 使用 MCP 客户端调用工具: 通过 MCP 客户端,您可以调用 'MCP Google 文档工具' 提供的各种工具,例如:

    • 列出 Google Drive 文件: 调用 'list_files' 工具。
    • 获取 Sheet 数据: 调用 'get_sheet_data' 工具,并提供 'spreadsheet_id', 'sheet_name', 'range_name' 等参数。
    • 创建图表: 调用 'create_chart' 工具,并提供 'chart_type', 'range_name', 'sheet_name', 'spreadsheet_id', 'title' 等参数。

    具体的工具调用方法和参数,请参考 MCP 客户端的文档和工具的函数签名(可以通过 MCP 客户端查询工具列表和工具详情)。

示例工具调用 (在 MCP 客户端中可能的调用方式,非命令行):

# 调用 list_files 工具,列出 Google Drive 文件
mcp.call_tool("mcp-google-docs", "list_files", {})

# 调用 get_sheet_data 工具,获取 Sheet1!A1:B2 区域的数据
mcp.call_tool("mcp-google-docs", "get_sheet_data", {
    "spreadsheet_id": "your_spreadsheet_id",
    "sheet_name": "Sheet1",
    "range_name": "A1:B2"
})

# 调用 create_chart 工具,创建折线图
mcp.call_tool("mcp-google-docs", "create_chart", {
    "chart_type": "LINE",
    "range_name": "A1:B10",
    "sheet_name": "Sheet1",
    "spreadsheet_id": "your_spreadsheet_id",
    "title": "Sales Trend"
})

请根据您的 MCP 客户端的具体使用方式,参照上述示例进行工具调用。

信息

分类

生产力应用