使用说明

项目简介

google-docs-mcp 是一个基于 Python 和 Flask 框架构建的 MCP 服务器,旨在通过 Google Docs API 提供对 Google 文档的访问和评论功能。它使用服务账号进行身份验证,无需用户交互,适用于需要程序化访问和操作 Google 文档的场景,例如 LLM 应用需要从 Google 文档中获取信息或进行内容标注。

请注意: 虽然该项目自称为 MCP 服务器,但它并非完全遵循 Model Context Protocol (MCP) 的标准 JSON-RPC 协议。它实际上是一个使用 HTTP RESTful API 的服务器,提供类似 MCP 概念的功能。如果您期望的是标准的 JSON-RPC MCP 服务器,请注意这一点。

主要功能点

  • 读取 Google 文档内容: 允许客户端通过文档 ID 获取 Google 文档的文本内容。
  • 添加评论到 Google 文档: 支持在 Google 文档中添加评论,可以针对特定文本添加评论(通过搜索文本定位,但受 Google Docs API 限制,实际实现为引用文本的评论)。
  • 服务账号认证: 使用 Google 服务账号进行身份验证,无需用户手动授权,方便自动化应用集成。
  • 列出文档: 可以列出服务账号有权访问的 Google 文档列表。
  • 健康检查: 提供健康检查接口,用于监控服务器运行状态。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/cadenmackenzie/google-docs-mcp.git
    cd google-docs-mcp
  2. 安装依赖: 确保已安装 Python 和 pip。然后运行以下命令安装项目依赖:

    pip install -r requirements.txt
  3. 配置 Google Cloud 服务账号:

    • 访问 Google Cloud Console 并创建一个新的 Google Cloud 项目。
    • 在项目中启用 Google Docs APIGoogle Drive API
    • 创建一个服务账号,并下载 JSON 格式的密钥文件。
    • 将下载的密钥文件重命名为 'service-account-key.json',并放置在项目根目录下(与 'server.py' 文件在同一目录)。
    • 将您的 Google 文档共享给服务账号的邮箱地址,确保服务账号有权访问这些文档。
    • 重要安全提示: 请务必妥善保管 'service-account-key.json' 文件,不要将其泄露或提交到公开的代码仓库。
  4. 运行服务器: 在项目根目录下,运行以下命令启动服务器:

    python server.py

    服务器默认会在 'http://localhost:8000' 启动。

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

对于 MCP 客户端,您需要配置连接到此服务器的命令和参数。由于 'google-docs-mcp' 服务器是一个 HTTP RESTful API 服务器,并非标准的 JSON-RPC MCP 服务器,因此 MCP 客户端可能需要进行适配或将其视为一个提供特定功能的 HTTP 服务端点。

以下是一个 假设的 MCP 客户端配置示例 (JSON 格式),用于说明如何启动和连接到此服务器。 请注意,实际的 MCP 客户端可能需要 HTTP 适配器才能与此 RESTful API 服务器交互。 您需要根据您使用的 MCP 客户端的具体文档进行配置。

{
  "serverName": "google-docs-mcp-server",
  "command": "python",
  "args": [
    "server.py"
  ],
  "host": "http://localhost",
  "port": 8000,
  "protocol": "http-rest"  //  指示使用 HTTP REST 协议,非标准MCP的 JSON-RPC
   //  可能还需要其他 HTTP 客户端特定的配置,例如 API 路径前缀等,取决于 MCP 客户端的设计
}

参数注释:

  • 'serverName': 服务器的名称,可以自定义。
  • 'command': 启动服务器的命令,这里是 'python',因为服务器是 Python 脚本。
  • 'args': 命令的参数,这里是 'server.py',表示要运行的 Python 脚本文件名。
  • 'host': 服务器的主机地址,默认为 'http://localhost'。
  • 'port': 服务器端口号,默认为 '8000'。
  • 'protocol': 指示使用的协议,这里使用 'http-rest' 强调它不是标准的 JSON-RPC MCP 服务器。 实际的 MCP 客户端配置项名称和取值可能不同,请查阅客户端文档。

重要提示: 标准的 MCP 客户端通常期望通过 JSON-RPC 与服务器交互,而此仓库提供的服务器是基于 HTTP RESTful API 的。 您可能需要使用支持 HTTP REST 的 MCP 客户端或者在标准 MCP 客户端和此服务器之间搭建一个适配层。

基本使用方法

服务器启动后,您可以使用 'curl' 或其他 HTTP 客户端工具与服务器进行交互。

示例:

  1. 健康检查:

    curl http://localhost:8000/health

    预期返回: '{"status": "healthy", "message": "Google Docs MCP server is running"}'

  2. 列出文档:

    curl http://localhost:8000/docs

    预期返回 JSON 格式的文档列表。

  3. 获取文档内容 (替换 'DOCUMENT_ID' 为实际文档 ID):

    curl http://localhost:8000/docs/DOCUMENT_ID

    预期返回 JSON 格式的文档内容。

  4. 添加评论 (替换 'DOCUMENT_ID' 为实际文档 ID):

    curl -X POST http://localhost:8000/docs/DOCUMENT_ID/comments \
      -H "Content-Type: application/json" \
      -d '{"comment": "这是一个测试评论", "search_text": "要评论的文本"}'

    预期返回 JSON 格式的评论结果。

请参考 'client_example.py' 文件获取更多 API 使用示例。

总结: 'google-docs-mcp' 提供了一个基于 HTTP RESTful API 的服务,用于访问和操作 Google 文档,可以作为 LLM 应用的上下文数据源和功能扩展。虽然它自称 MCP 服务器,但与标准的 JSON-RPC MCP 协议有所不同,使用时需要注意其 RESTful API 的特性。

信息

分类

生产力应用