使用说明

这是一个实现了 Model Context Protocol (MCP) 的服务器,旨在为大型语言模型 (LLM) 客户端提供与 Google 服务交互的能力。

主要功能点

  • Gmail: 列出、搜索、发送和修改邮件状态。
  • Google 日历: 列出、创建、更新和删除事件。
  • Google 云端硬盘 (Drive): 搜索文件和读取文件内容。
  • Google 搜索: 执行网页搜索。

安装步骤

  1. 环境准备:
    • 安装 Python 3.12 或更高版本。
    • 安装 'uv' 包管理器(推荐):参考 https://astral.sh/uv/install.sh
    • Google Cloud Console 设置:
      • 访问 Google Cloud Console
      • 创建一个新项目或选择现有项目。
      • 启用以下 API:Gmail API, Google Calendar API, Google Drive API, Custom Search API。
      • 在 "APIs & Services" > "Credentials" 中创建一个 OAuth 2.0 客户端 ID(选择 "Web application"),记录 Client ID 和 Client Secret,并下载凭据 JSON 文件,将其重命名为 'credentials.json' 放到项目根目录。
      • 生成一个 API Key。
      • 访问 Custom Search Engine 创建一个自定义搜索,并获取其 ID (CSE ID)。
  2. 获取代码: 克隆 GitHub 仓库:
    git clone https://github.com/jikime/py-mcp-google-toolbox.git
    cd py-mcp-google-toolbox
  3. 设置 Python 环境:
    • 创建并激活虚拟环境:
      uv venv -p 3.12
      source .venv/bin/activate # macOS/Linux
      # 或 .venv\Scripts\activate # Windows
    • 安装依赖:
      uv pip install -r requirements.txt
  4. Google 身份认证: 运行脚本获取 Refresh Token 并生成 'token.json' 文件(用于 OAuth 授权):
    uv run get_refresh_token.py
    这将打开浏览器要求你登录 Google 账户并授权所需权限。完成后,Refresh Token 将显示在控制台,并生成 'token.json' 文件。
  5. 配置环境变量: 复制 '.env.example' 文件为 '.env',编辑 '.env' 文件,填入你在 Google Cloud Console 中获取的 API Key, CSE ID, Client ID, Client Secret 以及上一步获得的 Refresh Token。
    cp env.example .env
    # 编辑 .env 文件,填入你的凭据
    GOOGLE_API_KEY=your_google_api_key
    GOOGLE_CSE_ID=your_custom_search_engine_id
    GOOGLE_CLIENT_ID=your_google_client_id
    GOOGLE_CLIENT_SECRET=your_google_client_secret
    GOOGLE_REFRESH_TOKEN=your_google_refresh_token
  6. 将之前下载的 'credentials.json' 文件复制到项目的根目录('py-mcp-google-toolbox' 文件夹)。

服务器配置 (面向 MCP 客户端)

你需要将以下配置添加到你的 MCP 客户端的设置文件中。不同客户端(如 Claude 桌面版、Cursor IDE 等)的配置路径和格式可能略有不同,请参考客户端文档。通常是一个 JSON 文件,需要在 'mcpServers' 对象中添加一个条目。

以下是配置条目的示例结构(请根据你的实际安装路径和选择的启动方式进行调整):

"Google Toolbox": { // 给服务器取一个易于识别的名称
  "command": "你的启动命令的路径", // 例如: "/path/to/uv" 或 "python" 或 "docker"
  "args": [ // 传递给 command 的参数列表
    // 如果使用 uv 本地运行:
    "--directory",
    "你的 py-mcp-google-toolbox 项目的完整路径",
    "run",
    "server.py"
    // 如果使用 python 本地运行 (如果uv不在PATH):
    // "你的 py-mcp-google-toolbox 项目的完整路径/server.py"
    // 如果使用 Docker:
    // "run", "-i", "--rm", "py-mcp-google-toolbox" // 假设你已构建了镜像
  ]
}

请将 '"你的启动命令的路径"' 和 '"你的 py-mcp-google-toolbox 项目的完整路径"' 替换为你系统中的实际路径。

基本使用方法

MCP 服务器配置完成后,你的 LLM 客户端应该能够自动检测并与之通信。你可以通过与 LLM 进行自然语言对话来利用这个服务器提供的 Google 工具。例如:

  • 询问关于 Google 搜索结果的问题。
  • 让 LLM 帮你总结最近的邮件。
  • 让 LLM 在你的日历中创建会议。
  • 让 LLM 搜索 Google Drive 中的文件。

LLM 会理解你的意图,并自动调用后台配置好的 MCP 服务器上的相应工具(如 'search_google'、'list_emails'、'create_event'、'search_gdrive' 等)来完成任务。

信息

分类

生产力应用