玛丽安娜谷歌mcp
一个自定义的MCP(模型上下文协议)服务器,允许Claude Code访问Gmail、Google日历和Google联系人,并具有安全第一的默认设置。
设计理念
此服务器专为希望人工智能帮助管理其谷歌工作区而无意外损坏风险的运营商而构建:
- 不发送电子邮件。 您可以起草,但发送需要在Gmail中手动操作。
- 不删除任何内容。 Gmail使用“待删除”标签(软删除)。日历在事件标题前添加“DELETE-”。您在Google UI中查看并确认。
- 每个突变都被记录下来。 仅追加JSONL操作日志记录了每个写入操作,包括时间戳、工具名称、帐户和摘要。
- 多账户支持。 使用命名别名管理个人和工作帐户。
设置
1.谷歌云项目
- 首选 谷歌云控制台
- 创建新项目(或使用现有项目)
- 启用这些API:
- Gmail API - 谷歌日历API - 人员API(用于联系人)
- 创建OAuth 2.0凭据:
- 应用程序类型: 桌面应用 - 下载客户端ID和客户端密码
2.安装和构建
git clone https://github.com/marianasmall/mariana-google-mcp.git
cd mariana-google-mcp
npm install
npm run build3.添加到克劳德代码
将此添加到您的 ~/.claude.json 在...之下 mcpServers:
{
"mcpServers": {
"mariana-google-mcp": {
"type": "stdio",
"command": "node",
"args": ["/path/to/mariana-google-mcp/dist/index.js"],
"env": {
"GOOGLE_CLIENT_ID": "your-client-id.apps.googleusercontent.com",
"GOOGLE_CLIENT_SECRET": "your-client-secret"
}
}
}
}替换 /path/to/ 使用克隆的实际路径,并填写您的OAuth凭据。
4.身份验证
重新启动Claude Code后,运行 google_auth 工具。它将打开一个OAuth同意的浏览器窗口。一旦获得授权,您的令牌将存储在本地并自动刷新。
可用工具(19)
身份验证和状态
| 工具 | 说明 |
|---|---|
google_auth | 通过OAuth浏览器流对Google帐户进行身份验证 |
google_status | 检查所有已配置帐户的连接健康状况 |
Gmail(9个工具)
| 工具 | 说明 |
|---|---|
gmail_search | 使用Gmail查询语法搜索邮件 |
gmail_read | 按ID读取特定消息(完整内容) |
gmail_list_labels | 列出所有Gmail标签/文件夹 |
gmail_draft | 创建电子邮件草稿(不发送) |
gmail_create_label | 创建新标签(支持嵌套 /) |
gmail_apply_label | 为一封或多封邮件应用标签 |
gmail_remove_label | 从一封或多封邮件中删除标签 |
gmail_create_filter | 创建筛选规则(匹配条件→ 行动) |
gmail_move_to_delete | 软删除:将邮件移动到“待删除”标签 |
日历(6工具)
| 工具 | 说明 |
|---|---|
calendar_list | 列出即将到来的日历事件 |
calendar_search | 按关键字搜索事件 |
calendar_get | 获取特定事件的完整详细信息 |
calendar_create | 创建事件(默认情况下不发送邀请) |
calendar_update | 修改现有事件(默认情况下不通知与会者) |
calendar_flag_delete | 软删除:在事件标题前添加“delete-” |
calendar_availability | 检查日期范围的忙/闲状态 |
联系人(2个工具)
| 工具 | 说明 |
|---|---|
contacts_search | 按姓名、电子邮件或电话搜索联系人 |
contacts_list | 列出联系人,可选择按组筛选 |
多账户支持
您可以使用友好名称对多个Google帐户进行身份验证:
google_auth account_name: "primary"
google_auth account_name: "newsletters"
google_auth account_name: "work"大多数工具都接受可选 account 参数。如果省略,则使用默认帐户。使用 google_status 查看所有已配置的帐户及其运行状况。
配置文件
所有配置都存储在 ~/.config/mariana-google-mcp/:
| 文件 | 目的 |
|---|---|
config.json | 帐户注册表(名称、电子邮件哈希值、默认值) |
tokens/.json | 每个帐户的OAuth令牌(自动刷新) |
actions.jsonl | 仅附加所有突变的日志 |
令牌是通过电子邮件哈希而不是明文电子邮件存储的,作为间接层。
活动日志
每次写入操作(草稿、日历创建/更新、软删除)都会记录到 ~/.config/mariana-google-mcp/actions.jsonl 以这种格式:
{"timestamp":"2026-04-03T10:30:00.000Z","tool":"gmail_draft","account":"primary","summary":"Draft created: subject='Meeting follow-up'"}日志仅附加,服务器从不修改。随时查看以审核克劳德所做的工作。
叉和使用
要将此功能用于您自己的Google帐户:
- 分叉此回购
- 创建您自己的Google Cloud项目和OAuth凭据(请参阅上面的设置)
- 构建Claude代码配置并将其指向您的fork
dist/index.js - 跑
google_auth鉴定
无需更改代码——所有特定于帐户的数据都存在于配置文件和环境变量中。
技术栈
- TypeScript
@modelcontextprotocol/sdk--MCP协议实现googleapis-Google API客户端google-auth-library--OAuth2令牌管理zod--输入验证
许可证
麻省理工学院
