关于 google-docs-mcp-server
google-docs-mcp-server 让 Google Workspace 用户通过 MCP 读取和编辑 Google Docs。它支持嵌套标签页,并将文档内容转换为带标题层级的 Markdown。
主要功能
- 01列出文档中的嵌套标签页
- 02将标签页读取为结构化 Markdown
- 03创建文档并编辑文本
- 04批量应用格式和更新
- 05在 Drive 中搜索文档
适用场景
- 01读取文档中的所有标签页
- 02在指定标签页追加或替换文本
- 03批量应用格式或表格更新
MCP 相关
它将 Google Docs 和 Drive 操作作为工具提供给 MCP 客户端,包括按标签页读取和编辑。认证使用支持全域委派的 Google 服务账号。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx google-docs-mcp-serverSERVICE_ACCOUNT_PATHPath to the Google service account JSON key fileSUBJECT_EMAILEmail of the Workspace user to impersonate via domain-wide delegation本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Google Docs MCP 服务
一个适用于 Google Docs 的 Model Context Protocol 服务,完整支持标签页——大多数现有服务都会在这方面出错或完全忽略。
使用 Google 服务账号进行全域委派,因此无需 OAuth 同意屏幕即可在 Workspace 组织中运行。
功能
| 工具 | 描述 |
|---|---|
list_tabs | 列出文档中的所有标签页(包括嵌套标签页) |
read_document | 将一个或所有标签页作为 Markdown 读取,并保留正确的标题级别 |
get_document_info | 轻量级元数据:标题、ID、链接、标签页列表 |
create_document | 创建文档,可选择添加初始文本 |
append_text | 在指定标签页末尾追加文本 |
insert_text | 在标签页的字符索引处插入文本 |
replace_text | 在标签页(或整个文档)中查找并替换 |
batch_update | 完整的 batchUpdate 访问权限——格式、表格、图片、样式 |
list_documents | 按名称在 Drive 中搜索文档 |
所有针对标签页的工具都接受 tab_id 或 tab_title(不区分大小写)。batch_update 工具会自动将 tabId 注入请求,因此你无需手动添加。
为什么要开发此项目
Google Docs 自 2024 年末起便支持标签页,但大多数 MCP 服务要么:
- 完全忽略标签页(只读取第一个标签页)
- 不使用
includeTabsContent=True,因此无法查看标签页内容 - 无法处理嵌套标签页
此服务可以正确处理上述所有情况,并将内容转换为保留正确标题结构的 Markdown。
安装
pip install google-docs-mcp-server
也可以使用 uv 直接运行:
uvx google-docs-mcp-server
前提条件
- Python 3.11+
- 具备全域委派权限的 Google Cloud 服务账号
设置
1. 创建 GCP 服务账号
- 前往 Google Cloud Console 并创建(或选择)一个项目
- 启用 Google Docs API 和 Google Drive API
- 在 IAM & Admin > Service Accounts 下创建服务账号
- 创建 JSON 密钥并下载
2. 启用全域委派
- 在 GCP 的服务账号详情页中,启用 Domain-wide Delegation 并记下 Client ID
- 前往 Google Workspace Admin > Security > API Controls > Domain-wide Delegation
- 使用以下范围添加 Client ID:
https://www.googleapis.com/auth/documents https://www.googleapis.com/auth/drive.readonly
3. 配置 MCP 客户端
将以下内容添加到 MCP 配置中(例如 ~/.claude/mcp.json 或 .mcp.json):
{
"mcpServers": {
"google-docs": {
"command": "uvx",
"args": ["google-docs-mcp-server"],
"env": {
"SERVICE_ACCOUNT_PATH": "/path/to/your-service-account-key.json",
"SUBJECT_EMAIL": "[email protected]"
}
}
}
}
SUBJECT_EMAIL 是服务账号要模拟的 Workspace 用户。
环境变量
| 变量 | 必需 | 描述 |
|---|---|---|
SERVICE_ACCOUNT_PATH | 是 | 服务账号 JSON 密钥文件的路径 |
SUBJECT_EMAIL | 是 | 要模拟的 Workspace 用户的电子邮件地址 |
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。