google-workspace-mcp
google-workspace-mcp
一组五个独立的远程 MCP 服务器,用于 Google Workspace:Gmail、Google Calendar、Google Drive、Google Sheets 和 Google Docs。
状态:pre-alpha。 项目正在积极开发中;在首个稳定版本发布之前,公共接口和配置可能会发生变化。
服务器被有意拆分。客户端或项目只包含其所需的服务,并获得仅对该服务有效的令牌:Gmail 令牌无法打开 Drive。仓库、基础设施库、授权框架和部署流程仍然是公共的。
服务
服务 | 功能 |
| 搜索和阅读邮件及会话、标签、附件、草稿、发送和回复 |
| 日历、搜索和阅读事件、忙闲状态、创建和编辑事件 |
| 搜索文件、元数据、文件夹内容、上传和导出 |
| 表格元数据、读取和写入区域、批量操作 |
| 创建文档、读取结构和文本、插入和替换 |
每个服务都是一个独立的进程、独立的 MCP 端点、独立的工具注册表、独立的 Google 权限集和独立的凭据存储。
两层授权
它们相互独立,不会混用。
客户端 → 服务。 MCP 客户端通过 OAuth 2.1 进行 PKCE 和动态注册。颁发的令牌绑定到单个资源,并通过轮换的刷新令牌进行刷新,同时具备重用检测。
服务 → Google。 服务代表所有者通过长期刷新令牌访问 Google 产品 API,并自行更新访问令牌。无论结果如何,Google 令牌都不会返回给客户端。
Google 官方的 MCP 端点目前处于 Developer Preview 阶段,此处并未使用:调用直接面向稳定的产品 API。
要求
Python 3.14,通过
uv安装;不影响系统解释器uv一个 Google Cloud 项目,已启用五个服务的 API 并配置 OAuth 客户端
安装
uv sync --dev检查
uv run --no-sync pytest -q
uv run --no-sync ruff check .
uv run --no-sync ruff format --check .
uv run --no-sync mypy src在检查依赖版本时,--no-sync 标志是必需的:没有它,uv run 会从锁文件重新同步环境,并返回固定的版本而不是实际版本,因此一个必然会导致破坏的包版本也会显示为通过。
来源
本项目根据 MIT 许可改编自 jimprosser/obsidian-web-mcp 中的 OAuth 2.1 核心;完整信息见 NOTICE。
下游 OAuth 2.1 的基础是修订版 7e6a52d791a50e3bd533df1060217973ab5be1c8。在此之后,我们向核心添加了针对客户端和令牌生命周期、刷新令牌轮换、重用检测以及 resource 规范化的自有修复。
原项目的领域部分——处理 Obsidian 存储库以及通过 Git 进行同步——未被移植。
这里使用 mcp>=2,<3:在 MCP 2.0 中移除的 mcp.server.fastmcp 包不再需要,自有组合基于 mcp.server.mcpserver 构建。
许可证
MIT,参见 LICENSE。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Streamable HTTP MCP server for Google Calendar and Sheets with OAuth login.
Hosted Google Calendar MCP server for AI agents. No self-hosting or Google Cloud setup.
AI-powered medical document management for cancer patients. Google Drive, Gmail, Calendar via MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hawkxdev/google-workspace-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server