关于 Google Docs MCP
Google Docs MCP 是供 AI 应用读写 Google Docs 的 MCP 服务,支持按精确范围编辑、处理结构与评论,并可导出文件;同时区分读取和破坏性操作。
主要功能
- 01读取文本、结构和 Markdown
- 02按精确范围编辑及设置格式
- 03管理列表、表格、图片和评论
- 04从 Markdown 创建并导出文件
- 05区分读取、写入和破坏性操作
适用场景
- 01查看文档内容和评论串
- 02仅替换指定段落
- 03根据 Markdown 创建文档
- 04将文档导出为 PDF 或 DOCX
MCP 相关
通过工具向 MCP 客户端开放 Google Docs API 能力,涵盖读取、编辑、格式设置、评论和导出。可通过对话启动 OAuth 授权。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @a1-x-tech/mcp-google-docsGOOGLE_DOCS_CLIENT_IDGoogle OAuth2 client id (refresh-token flow).GOOGLE_DOCS_CLIENT_SECRET密钥Google OAuth2 client secret (refresh-token flow). Treat it as a secret.GOOGLE_DOCS_REFRESH_TOKEN密钥Google OAuth2 refresh token, exchanged for access tokens automatically. Treat it as a secret.GOOGLE_DOCS_ACCESS_TOKEN密钥Static OAuth2 access token (~1h lifetime) — alternative to the refresh-token trio, mostly for testing.GOOGLE_DOCS_OAUTH_PORT密钥Fixed port for the loopback listener of the in-chat login (127.0.0.1 + PKCE). Set it when the client runs over SSH port forwarding; otherwise a free port is picked per login.GOOGLE_DOCS_API_BASEDocs API root override.GOOGLE_DOCS_DRIVE_API_BASEDrive API root override (markdown import/export, document export, comments).GOOGLE_DOCS_TIMEOUT_MSPer-request timeout in milliseconds.GOOGLE_DOCS_MAX_RETRIESRetries on transient errors (429 always; 5xx/network for reads).本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
27收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
Google Docs MCP
English | Русский
A1 Google Docs MCP 可让 AI 应用用自然语言读取和编辑 Google Docs。你可以将文档读取为文本或 Markdown,修改指定段落,设置标题、列表和表格的样式,处理评论线程,并将结果导出为 PDF 或 DOCX。
它通过你的 Google 账号使用 Google Docs API。它依据精确的索引范围进行编辑,而非凭空猜测;同时会明确说明 Docs API 的限制,不会让人误以为所有文档操作都能实现。
- 27 个工具。 将文档读取为文本、结构或 Markdown,编辑精确范围,设置字符和段落样式,管理列表、表格、分隔符、图片和评论线程,并导出为 PDF、DOCX 等格式。
- 在对话中连接。 只需说“连接 Google Docs”:服务会引导你设置 OAuth 客户端,通过 PKCE 在
127.0.0.1捕获 Google 的重定向,并自行保存令牌——无需配置文件,也无需重启。 - 精准编辑。 更改针对精确的索引范围;由于每次更改都会使后续索引发生偏移,服务会引导助手在每次编辑前重新读取文档。
- 双向支持 Markdown。 可从 Markdown 创建文档,也可将文档导出为 Markdown、PDF、DOCX 等格式;用 Markdown 替换整个文档是单独的、明确标注为破坏性的操作。
- 不暴露隐藏的 Drive 功能。 导出、Markdown 转换和评论在内部使用 Drive 端点,但服务不会提供通用的 Drive 工具。
先从只读问题开始:
阅读启动计划文档,并总结其中尚未解决的评论线程。
一分钟了解它的工作方式
你: 显示启动计划文档的文本和评论。
助手: 将文档读取为精简文本块,并列出其中的评论线程。不会修改任何内容。
你: 重写“时间安排”段落,说明 Beta 版将于 3 月 3 日开始。
助手: 显示要替换的精确范围和建议文本,然后在编辑前征求确认。
你: 确认。
助手: 替换该范围。文档其余部分、格式和评论均保持不变。
目录
快速开始
你需要 Node.js 20+ 和一个 Google 账号。安装时无需凭据——服务会在对话中连接。
- 将服务添加到你的 AI 应用。
- 说“连接 Google Docs”:助手会引导你创建 OAuth 客户端并批准访问权限,无需编辑配置文件。
- 提出上面的只读问题。
Codex
**在应用中:**打开 Settings → MCP servers,选择 Add server,选择 STDIO,输入命令 npx -y @a1-x-tech/mcp-google-docs@latest 和环境变量 GOOGLE_DOCS_CLIENT_ID、GOOGLE_DOCS_CLIENT_SECRET、GOOGLE_DOCS_REFRESH_TOKEN,然后选择 Save 和 Restart。
通过命令行:
codex mcp add google-docs \
-- npx -y @a1-x-tech/mcp-google-docs@latest
codex mcp list
Claude Code
claude mcp add \
--transport stdio --scope user google-docs \
-- npx -y @a1-x-tech/mcp-google-docs@latest
claude mcp list
Claude Desktop
目前官方路径是 Settings → Extensions。若要安装自定义桌面扩展,请打开 Advanced settings → Extension Developer → Install Extension…,选择一个 .mcpb 文件并按提示操作。
此仓库目前发布的是 npm stdio 包,不包含 .mcpb bundle。对于仍支持本地配置的 Claude Desktop 版本,可使用以下 JSON stdio 配置作为备用方案:
{
"mcpServers": {
"google-docs": {
"command": "npx",
"args": ["-y", "@a1-x-tech/mcp-google-docs@latest"]
}
}
}
在这些版本中,在 macOS 上将其保存到 ~/Library/Application Support/Claude/claude_desktop_config.json,或在 Windows 上保存到 %APPDATA%\Claude\claude_desktop_config.json。
Cursor
在 macOS/Linux 上,将以下内容添加到 ~/.cursor/mcp.json;在 Windows 上,添加到 %USERPROFILE%\.cursor\mcp.json:
{
"mcpServers": {
"google-docs": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@a1-x-tech/mcp-google-docs@latest"]
}
}
}
VS Code
运行 MCP: Open User Configuration 并添加:
{
"servers": {
"google-docs": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@a1-x-tech/mcp-google-docs@latest"]
}
}
}
使用 MCP: List Servers 检查。
你可以让它做什么
阅读和导出文档
- 将此文档作为包含标题和表格的文本读取,并进行总结。
- 显示手册文档的标签页树。
- 将规范导出为 Markdown;将合同保存为 PDF 文件。
编写和编辑文本
- 根据此 Markdown 创建一份会议记录文档。
- 在引言后插入一段摘要。
- 在整个文档中将每个 “Q3” 替换为 “Q4”。
- 删除过时的定价部分。
格式和结构
- 将这些段落转换为编号列表;将这一行设为二级标题。
- 将关键术语加粗,并链接到术语表。
- 为路线图插入一个 3×4 表格,并填充标题行。
- 在附录前添加分页符;插入一张来自公开 URL 的图片。
处理评论
- 列出尚未解决的评论串并进行总结。
- 回复有关截止日期的评论,并将其标记为已解决。
- 添加一条评论,并引用需要法律审核的句子。
文档如何变化
create_document会创建一个文档——可以是空文档,也可以在一次调用中由 Markdown 转换而成。- 内容通过索引定位——即标签页正文中的 UTF-16 位置;每次插入或删除都会移动后续所有索引。服务会引导助手在每次编辑前通过
read_document_text获取最新索引,并从文档末尾向前编辑。 import_markdown会替换整个正文:评论锚点、定位对象、页眉/页脚和额外标签页在转换后都不会保留。- 可以读取和指定标签页,但 API 无法创建、重命名、删除或重新排序标签页。
- 评论存储在 Drive 中,并以讨论串的形式管理。无法将新评论锚定到文本范围——锚点格式未公开——因此评论会附加在文档级别,并可选择引用其所指的文本。
导出文件大小上限为 10 MB,且不包含评论或建议。内嵌图片由 Google 从公共 URL 获取(PNG/JPEG/GIF,最大 50 MB 且不超过 25 兆像素);没有可用于上传图片文件的渠道。
可以进行哪些更改
| 操作 | 会发生什么 | 确认边界 |
|---|---|---|
| 读取文档、标签页或评论 | 读取内容和结构 | 不会更改 |
| 导出文档 | 设置 output_path 时会写入本地文件;文档本身不会被更改 | 只更改本地文件 |
| 创建文档 | 添加新文档 | 更改 Google Docs |
| 插入文本、表格、分隔符或图片 | 添加内容 | 更改文档 |
| 设置文本或段落样式、管理项目符号 | 覆盖指定范围的格式 | 更改文档 |
| 替换或删除范围、查找并替换 | 移除现有内容 | 具有破坏性 |
| 用 Markdown 替换整个文档 | 替换整个正文 | 具有破坏性 |
| 管理评论 | 创建、回复、解决或永久删除评论 | 可能具有破坏性 |
| 原始 API 请求 | 可以调用没有专用工具的 API 方法 | 可能具有破坏性 |
AI 客户端负责控制确认提示。服务会标记读取、写入和具有破坏性的工具,以便客户端区分检查与实际更改。
获取访问权限
Google Docs 需要 OAuth 2.0;仅有 API 密钥还不够。有两种接入方式,第一种不需要配置文件。
在聊天中连接(推荐)
发送“connect Google Docs”,助手就会引导你完成整个流程:
setup_instructions会打印检查清单:创建或选择 Google Cloud 项目、启用 Google Docs API、配置同意屏幕并创建 Desktop app OAuth 客户端。- 下载该客户端的 JSON(“Download JSON”),并将其路径提供给助手——
set_client会以仅所有者可访问的权限保存它。密钥绝不会经过对话传输。 start_login会返回 Google 授权链接。在这台机器上打开链接并批准;验证码会返回到127.0.0.1上的一次性监听器(PKCE),绝不会经过聊天传输。finish_login会交换验证码,并将令牌保存到~/.config/mcp-google-docs/credentials.json(权限模式 0600)。
每次调用时都会重新读取令牌,因此连接会立即生效——无需重启 AI 应用。auth_status 会显示连接状态,logout 会撤销并删除令牌。
环境变量(CI、无人值守安装)
-
创建或选择一个 Google Cloud 项目,并启用 Google Docs API 和 Google Drive API(导出、Markdown 转换和评论通过 Drive 端点处理)。
-
配置 OAuth 同意屏幕,并创建 Desktop app OAuth 客户端。
-
授权拥有文档或有权编辑文档的 Google 账号。启用 Use your own OAuth credentials 后,可通过 OAuth 2.0 Playground 获取刷新令牌。
-
请求以下两个作用域:
https://www.googleapis.com/auth/documents https://www.googleapis.com/auth/drive如果导出、Markdown 和评论只涉及通过此 OAuth 客户端创建的文档,那么更精简的配置只需
drive.file;只读工具则只需只读作用域组合documents.readonly+drive.readonly。
测试模式下的 OAuth 刷新令牌可能会在 7 天后过期。若需要长期访问,请发布 OAuth 应用,或在 Workspace 网域中使用 Internal 应用。请将客户端密钥和刷新令牌视同密码妥善保管。
配置
所有变量均为可选项——不设置任何变量时,服务会从聊天中连接。
| 变量 | 必需 | 描述 |
|---|---|---|
GOOGLE_DOCS_CLIENT_ID | 否* | OAuth 客户端 ID。 |
GOOGLE_DOCS_CLIENT_SECRET | 否* | OAuth 客户端密钥。 |
GOOGLE_DOCS_REFRESH_TOKEN | 否* | OAuth 刷新令牌。 |
GOOGLE_DOCS_ACCESS_TOKEN | 否* | OAuth 三件套的短期替代方案(约 1 小时)。 |
GOOGLE_DOCS_OAUTH_PORT | 否 | 用于聊天内登录的固定环回端口;适用于通过 SSH 端口转发进行连接。 |
GOOGLE_DOCS_API_BASE | 否 | Google Docs API 基础 URL 覆盖值。 |
GOOGLE_DOCS_DRIVE_API_BASE | 否 | Drive API 基础 URL 覆盖值(导出、Markdown、评论)。 |
GOOGLE_DOCS_TIMEOUT_MS | 否 | 单次请求超时时间;默认值为 60000 毫秒。 |
GOOGLE_DOCS_MAX_RETRIES | 否 | 临时错误重试次数;默认值为 3。 |
* 请提供 OAuth 三件套或访问令牌。
数据、限制与后台工作
- 请求会发送到 Google。 本地服务会刷新 Google OAuth 令牌并调用 Docs API;导出、Markdown 转换和评论在内部使用 Drive API 端点。匿名遥测数据包含安装 ID、软件包版本、AI 客户端和平台版本,以及工具名称——绝不包含 OAuth 令牌、文档内容、工具参数或提示词。设置
ASKADS_TELEMETRY=0可选择退出。 - Google 会实施每分钟配额限制。 遇到
429时,服务会退避后重试;读取操作在网络错误和5xx错误后也会重试,而写入操作在失败状态不确定时绝不会重放——重放写入可能会重复修改。 - 服务不会在后台轮询。 只有在被调用时,服务才会运行。如果你的 AI 应用支持计划任务,可以定期检查文档或其评论。
技术文档
- MCP 功能目录 — 每项工具的任务导向页面。
- 所有工具和输入
- 开发文档
- 发布文档
- Google Docs API 参考
支持
发现 Bug 或有使用场景需求?创建 issue 或在 Telegram 联系我们。
你已经读到最后了!
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。