谷歌文档MCP服务器
这是一个模型上下文协议(MCP)服务器,允许您通过Claude连接到Google Docs。使用此服务器,您可以:
- 列出您驱动器中的所有Google文档
- 阅读具体文件的内容
- 创建新文档
- 更新现有文档
- 搜索文档
- 删除文档
先决条件
- Node.js v16.0.0或更高版本
- 启用Google Docs API和Google Drive API的Google Cloud项目
- Google Cloud项目的OAuth 2.0凭据
设置
- 克隆此存储库并导航到项目目录:
git clone https://github.com/yourusername/MCP-Google-Doc.git
cd MCP-Google-Doc- 安装依赖项:
npm install- 在Google Cloud控制台中创建OAuth 2.0客户端ID:
- 转到 谷歌云控制台 - 创建新项目或选择现有项目 - 启用Google Docs API和Google Drive API - 转到“API和服务”>“凭据” - 点击“创建凭据”>“OAuth客户端ID” - 为应用程序类型选择“桌面应用程序” - 下载JSON文件并将其另存为 credentials.json 在您的项目目录中
> 重要:The credentials.json 和 token.json 文件包含敏感信息,并通过以下方式排除在版本控制之外 .gitignore。切勿将这些文件提交到您的存储库。
- 构建项目:
npm run build- 运行服务器:
npm start第一次运行服务器时,它会提示您通过谷歌进行身份验证。按照屏幕上的说明授权应用程序。这将生成一个 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%\Claude\claude_desktop_config.json
- 将以下内容添加到您的配置中:
{
"mcpServers": {
"googledocs": {
"command": "node",
"args": ["/absolute/path/to/build/server.js"]
}
}
}替换 /absolute/path/to/build/server.js 使用构建的server.js文件的实际路径。
- 重新启动桌面版的Claude。
用户界面
Google Docs MCP服务器具有用户友好的对话界面,该界面:
- 以清晰易读的格式呈现文档信息
- 使用自然语言响应而不是原始API数据
- 以人类可读的方式格式化日期
- 在行动后提供有用的后续问题
- 从不暴露OAuth令牌等敏感数据
这种界面样式旨在与Notion等其他Claude MCP集成相匹配,提供一致和愉快的用户体验。
发展
项目结构
google-docs-integration/
├── build/ # Compiled JavaScript files
├── src/ # TypeScript source code
│ └── server.ts # Main server implementation
├── .gitignore # Git ignore file
├── credentials.json # OAuth 2.0 credentials (not in version control)
├── package.json # Project dependencies and scripts
├── README.md # Project documentation
├── token.json # OAuth tokens (not in version control)
└── tsconfig.json # TypeScript configuration添加新功能
要向MCP服务器添加新功能,请执行以下操作:
- 修改
src/server.ts实现新功能的文件 - 用以下方式构建项目
npm run build - 通过运行测试您的更改
npm start
可用资源
googledocs://list-列出您驱动器中的所有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一起使用的一些示例提示:
- “显示我所有谷歌文档的列表”
- “创建一个名为“会议笔记”的新谷歌文档,内容为“要讨论的主题:…”
- “更新ID为'1abc123def456'的文档,在末尾添加此部分:…”
- “在我的谷歌文档中搜索任何包含‘项目提案’的文档”
- “删除ID为'1abc123def456'的谷歌文档”
- “制定一份关于气候变化的正式文件”
- “分析ID为'1abc123def456'的文档内容”
故障排除
如果遇到身份验证问题:
- 删除
token.json项目目录中的文件 - 再次运行服务器以触发新的身份验证流
如果您在使用Google Docs API时遇到问题:
- 确保API已在Google云控制台中启用
- 检查您的OAuth凭据是否具有正确的作用域
贡献
- 分叉存储库
- 创建要素分支:
git checkout -b feature/your-feature-name - 提交您的更改:
git commit -am 'Add some feature' - 推到分支:
git push origin feature/your-feature-name - 提交拉取请求
许可证
麻省理工学院
环境变量
创建一个 .env 使用以下键在项目根目录下创建文件(或导出shell中的变量):
# OAuth 2.0 client credentials – **JSON string** of the credentials file
GOOGLE_DOCS_CREDENTIALS_JSON={...}
# OAuth token – **JSON string** returned by the OAuth consent flow
GOOGLE_DOCS_TOKEN_JSON={...}如果设置了这些变量,服务器将 不 尝试阅读 credentials.json 或 token.json 从磁盘。
