使用说明
项目简介
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 文档列表。
- 健康检查: 提供健康检查接口,用于监控服务器运行状态。
安装步骤
-
克隆仓库:
git clone https://github.com/cadenmackenzie/google-docs-mcp.git cd google-docs-mcp -
安装依赖: 确保已安装 Python 和 pip。然后运行以下命令安装项目依赖:
pip install -r requirements.txt -
配置 Google Cloud 服务账号:
- 访问 Google Cloud Console 并创建一个新的 Google Cloud 项目。
- 在项目中启用 Google Docs API 和 Google Drive API。
- 创建一个服务账号,并下载 JSON 格式的密钥文件。
- 将下载的密钥文件重命名为 'service-account-key.json',并放置在项目根目录下(与 'server.py' 文件在同一目录)。
- 将您的 Google 文档共享给服务账号的邮箱地址,确保服务账号有权访问这些文档。
- 重要安全提示: 请务必妥善保管 'service-account-key.json' 文件,不要将其泄露或提交到公开的代码仓库。
-
运行服务器: 在项目根目录下,运行以下命令启动服务器:
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 客户端工具与服务器进行交互。
示例:
-
健康检查:
curl http://localhost:8000/health预期返回: '{"status": "healthy", "message": "Google Docs MCP server is running"}'
-
列出文档:
curl http://localhost:8000/docs预期返回 JSON 格式的文档列表。
-
获取文档内容 (替换 'DOCUMENT_ID' 为实际文档 ID):
curl http://localhost:8000/docs/DOCUMENT_ID预期返回 JSON 格式的文档内容。
-
添加评论 (替换 '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 的特性。
信息
分类
生产力应用