Gurgeron
服务介绍
Google Docs MCP 服务器
这是一个模型上下文协议(MCP)服务器,它允许您通过 Claude 连接到 Google Docs。使用此服务器,您可以:
- 列出您的 Drive 中的所有 Google 文档
- 读取特定文档的内容
- 创建新文档
- 更新现有文档
- 搜索文档
- 删除文档
先决条件
- Node.js v16.0.0 或更高版本
- 启用了 Google Docs API 和 Google Drive API 的 Google Cloud 项目
- 您的 Google Cloud 项目的 OAuth 2.0 凭证
设置
-
克隆此仓库并导航到项目目录:
bash
git clone https://github.com/yourusername/MCP-Google-Doc.git
cd MCP-Google-Doc -
安装依赖项:
bash
npm install -
在 Google Cloud 控制台中创建一个 OAuth 2.0 客户端 ID:
- 前往 Google Cloud 控制台
- 创建一个新项目或选择一个现有项目
- 启用 Google Docs API 和 Google Drive API
- 转到“API 和服务”>“凭据”
- 点击“创建凭据”>“OAuth 客户端 ID”
- 选择“桌面应用”作为应用程序类型
- 下载 JSON 文件并将其保存为
credentials.json存放在您的项目目录中
重要:
credentials.json和token.json文件包含敏感信息,并通过.gitignore排除在版本控制之外。切勿将这些文件提交到您的仓库。 -
构建项目:
bash
npm run build -
运行服务器:
bash
npm start
首次运行服务器时,它会提示您使用 Google 进行身份验证。按照屏幕上的说明授权应用程序。这将生成一个 token.json 文件来存储您的访问令牌。
安全注意事项
- 凭证安全:
credentials.json和token.json包含敏感信息,不应共享或提交到版本控制。它们已经被添加到了.gitignore文件中。 - 令牌刷新:当访问令牌过期时,应用程序会自动刷新访问令牌。
- 撤销访问权限:如果您需要撤销访问权限,请删除
token.json文件,并前往您的 Google 帐户安全设置 中移除该应用程序。
与 Claude for Desktop 连接
要将此服务器与 Claude for Desktop 一起使用:
-
编辑您的 Claude Desktop 配置文件:
- 在 macOS 上:
~/Library/Application Support/Claude/claude_desktop_config.json - 在 Windows 上:
%APPDATA%Claudeclaude_desktop_config.json
- 在 macOS 上:
-
将以下内容添加到您的配置中:
json
{
"mcpServers": {
"googledocs": {
"command": "node",
"args": ["/absolute/path/to/build/server.js"]
}
}
}
将 /absolute/path/to/build/server.js 替换为您实际构建的 server.js 文件的路径。
- 重启 Claude for Desktop。
用户界面
Google Docs MCP 服务器具有用户友好的对话式界面,可以:
- 以清晰、可读的格式呈现文档信息
- 使用自然语言响应而不是原始 API 数据
- 以人类可读的方式格式化日期
- 在执行操作后提供有用的后续问题
- 绝不暴露如 OAuth 令牌之类的敏感数据
这种界面样式设计旨在与其他 Claude MCP 集成(如 Notion)保持一致,提供一致且愉悦的用户体验。
开发
项目结构
google-docs-integration/
├── build/ # 编译后的 JavaScript 文件
├── src/ # TypeScript 源代码
│ └── server.ts # 主服务器实现
├── .gitignore # Git 忽略文件
├── credentials.json # OAuth 2.0 凭证(不在版本控制中)
├── package.json # 项目依赖和脚本
├── README.md # 项目文档
├── token.json # OAuth 令牌(不在版本控制中)
└── tsconfig.json # TypeScript 配置### 添加新功能
要为MCP服务器添加新功能:
- 修改
src/server.ts文件以实现新功能 - 使用
npm run build构建项目 - 通过运行
npm start测试您的更改
可用资源
googledocs://list- 列出您Drive中的所有Google文档googledocs://{docId}- 根据ID获取特定文档的内容
可用工具
create-doc- 创建一个具有指定标题和可选内容的新Google文档update-doc- 使用新内容更新现有Google文档(追加或替换)insert-text- 直接插入文本到文档中,无需Notion或其他集成search-docs- 搜索包含特定文本的Google文档delete-doc- 根据ID删除Google文档
可用提示
create-doc-template- 帮助根据指定的主题和写作风格创建新文档analyze-doc- 分析文档内容并提供摘要
使用示例
这里是一些您可以与Claude一起使用的示例提示,前提是服务器已连接:
- "显示我所有的Google文档列表"
- "创建一个名为《会议笔记》的新Google文档,内容为:讨论主题: ... "
- "将我的ID为1abc123def456的文档更新,在末尾添加此部分: ..."
- "在我的Google文档中搜索包含'project proposal'的所有文档"
- "删除ID为1abc123def456的Google文档"
- "创建一份关于气候变化的正式文档"
- "分析ID为1abc123def456的文档内容"
故障排除
如果您遇到身份验证问题:
- 删除项目目录中的
token.json文件 - 再次运行服务器以触发新的身份验证流程
如果您在使用Google Docs API时遇到困难:
- 确保已在Google Cloud Console中启用API
- 检查您的OAuth凭据是否具有正确的范围
贡献
- Fork仓库
- 创建特性分支:
git checkout -b feature/your-feature-name - 提交您的更改:
git commit -am 'Add some feature' - 推送到分支:
git push origin feature/your-feature-name - 提交拉取请求
许可证
MIT
环境变量
在项目根目录下创建一个.env文件(或者在您的shell中导出这些变量),包含以下键值对:
env
OAuth 2.0客户端凭证 – 凭证文件的JSON字符串
GOOGLE_DOCS_CREDENTIALS_JSON={...}
OAuth令牌 – 由OAuth同意流程返回的JSON字符串
GOOGLE_DOCS_TOKEN_JSON={...}
如果设置了这些变量,服务器将不会尝试从磁盘读取credentials.json或token.json。