内容
# gsuite-mcp
一款本地优先的MCP服务器,用于通过一个明确的接口操作多个Google Workspace账户。
## 服务
- **Gmail:** 搜索/读取线程和消息;草稿;HTML和附件;发送;定时草稿;标签;归档;可恢复的回收站。
- **Sheets:** 元数据,范围读取,精确范围更新和行追加。
- **Drive:** 搜索,元数据,下载/导出,文件夹,重命名,移动和可恢复的回收站。
- **Calendar:** 日历/事件读取以及事件创建,更新和删除。
- **Docs:** 纯文本读取,创建,追加和全部替换。
每个服务工具都需要一个`account`别名或确切的电子邮件地址。每个账户可以使用不同的桌面OAuth客户端,当Workspace组织策略需要时。
Gmail基础基于 [Vinksj/claude-gmail-multi](https://github.com/Vinksj/claude-gmail-multi) 并保留其MIT许可证。
## 安装
需要Node.js 20或更新版本。在您的Google Cloud项目中启用Gmail,Sheets,Drive,Calendar和Docs API。
```bash
npm install
npm run build
```
创建Google Cloud桌面OAuth客户端,然后授权每个账户:
```bash
npm run auth -- --alias personal --email you@gmail.com \
--credentials /path/to/desktop-oauth-client.json
npm run auth -- --alias work --email you@company.com \
--credentials /path/to/desktop-oauth-client.json
```
将`dist/index.js`注册为stdio MCP服务器:
```json
{
"mcpServers": {
"gsuite": {
"command": "node",
"args": ["/absolute/path/to/gsuite-mcp/dist/index.js"]
}
}
}
```
状态存储在`~/.gsuite-mcp/`下。设置`GSUITE_MCP_DIR`以覆盖该位置。
## 定时邮件
`schedule_send`创建草稿并将其排队。`schedule_draft_send`排队现有草稿。使用`list_scheduled_sends`和`cancel_scheduled_send`检查或取消队列。
定时授权后续发送。MCP进程每30秒检查一次。如果在请求的时间下线,草稿将在其下一次启动时发送。记录模糊失败并且从不自动重试,防止重复邮件。
## 安全
- 账户选择是强制性的,结果会回声认证账户。
- Gmail和Drive公开可恢复的回收站,从不永久删除。
- 不公开共享,转发,权限和Workspace管理。
- 变异和外部工具带有MCP安全注释。
- 定时发送处理使用跨进程锁。
- OAuth客户端,令牌,计划状态,下载数据和生成的账户导出被`.gitignore`排除。
OAuth范围是`gmail.modify`,`spreadsheets`,`drive`,`calendar`和`documents`。这些是用于自托管的强大范围;在授权代理之前检查工具表面。
## 相关MCP
- [corp-travel](https://github.com/tarun101/corp-travel) — 基于策略的公司航班搜索。
- [simplefin](https://github.com/tarun101/simplefin) — 通过SimpleFIN Bridge读取余额和交易。
## 开发
```bash
npm run build
npm run bundle
npm audit
```