MCP-GSuite 集成工具
集成服务器, enables 与谷歌服务的交互,包括 Gmail 和日历,允许用户管理多个谷歌账户中的电子邮件、起草回复和安排事件。 (注:原文中“enables”为动词,直译会有些生硬,若需更通顺的翻译可调整语序,如下:) 集成服务器,可与谷歌服务(包括 Gmail 和日历)进行交互,允许用户管理多个谷歌账户中的电子邮件、起草回复和安排事件。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"mcp-gsuite": {
"args": [
"mcp-gsuite"
],
"command": "uvx"
}
}
}
该服务需要配置环境变量:accounts-file、credentials-dir、gauth-file
服务介绍
mcp-gsuite MCP 服务器
示例提示
目前,此 MCP 服务器支持 Gmail 和日历集成,具有以下功能:
- 通用
- 多个 Google 帐户
- Gmail
- 获取您的 Gmail 用户信息
- 通过灵活搜索查询电子邮件(例如,未读、来自特定发件人、日期范围、带有附件)
- 通过 ID 检索完整的电子邮件内容
- 创建新的草稿邮件,包括收件人、主题、正文和抄送选项
- 删除草稿邮件
- 回复现有邮件(可以立即发送或保存为草稿)
- 通过它们的 ID 一次检索多封邮件。
- 将多封邮件中的附件保存到本地系统。
- 日历
- 管理多个日历
- 获取指定时间范围内的日历事件
- 创建日历事件:
- 标题、开始/结束时间
- 可选的位置和描述
- 可选的参与者
- 自定义时区支持
- 通知偏好设置
- 删除日历事件
您可以尝试的示例提示:
-
检索我最新的未读消息
-
搜索来自 Scrum Master 的电子邮件
-
检索所有来自会计部门的电子邮件
-
摘要关于 ABC 的电子邮件
-
给 Alice 的最后一封电子邮件写一个不错的回复并上传草稿。
-
用感谢信回复 Bob 的电子邮件。将其保存为草稿
-
我明天的日程安排是什么?
-
查看我的私人账户下周的家庭日程
-
我需要在下周与 Tim 安排一个 2 小时的活动。建议一些时间段。
快速入门
安装
通过 Smithery 安装
要通过 Smithery 自动安装 Claude Desktop 的 G Suite 集成:
npx -y @smithery/cli install @alBERT-launcher/mcp-gsuite --client claude
OAuth 2
Google Workspace (G Suite) API 需要 OAuth2 授权。请按照以下步骤设置身份验证:
-
创建 OAuth2 凭据:
- 转到 Google Cloud Console
- 创建新项目或选择现有项目
- 为您的项目启用 Gmail API 和 Google Calendar API
- 转到“凭据”→“创建凭据”→“OAuth 客户端 ID”
- 选择“桌面应用程序”或“Web 应用程序”作为应用程序类型
- 使用所需信息配置 OAuth 同意屏幕
- 添加授权重定向 URI(对于本地开发,请包含
http://localhost:4100/code)
-
所需的 OAuth2 范围:
[
"openid",
"https://mail.google.com/",
"https://www.googleapis.com/auth/calendar",
"https://www.googleapis.com/auth/userinfo.email"
]
- 然后在您的工作目录中使用客户端创建一个
.gauth.json文件
{
"web": {
"client_id": "$your_client_id",
"client_secret": "$your_client_secret",
"redirect_uris": ["http://localhost:4100/code"],
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token"
}
}
- 创建一个包含帐户信息的
.accounts.json文件
{
"accounts": [
{
"email": "alice@bob.com",
"account_type": "personal",
"extra_info": "Additional info that you want to tell Claude: E.g. 'Contains Family Calendar'"
}
]
}
您可以指定多个帐户。确保这些帐户在您的 Google Auth 应用中有访问权限。extra_info 字段特别有用,因为您可以在此处添加有关帐户的信息(例如,它是否有特定的日程)。
注意:当你首次为特定账户执行其中一个工具时,会打开一个浏览器,将你重定向到 Google 并要求你输入凭证、范围等信息。成功登录后,它会将凭证存储在一个名为 .oauth.{email}.json 的本地文件中。一旦授权完成,刷新令牌将被使用。
Claude 桌面版
在 MacOS 上: ~/Library/Application\ Support/Claude/claude_desktop_config.json
在 Windows 上: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"mcp-gsuite": {
"command": "uv",
"args": [
"--directory",
"<dir_to>/mcp-gsuite",
"run",
"mcp-gsuite"
]
}
}
}
{
"mcpServers": {
"mcp-gsuite": {
"command": "uvx",
"args": [
"mcp-gsuite"
]
}
}
}
配置选项
MCP 服务器可以通过几个命令行选项来指定自定义路径用于认证和账户信息:
--gauth-file: 指定包含 OAuth2 客户端配置的.gauth.json文件的路径。默认是./.gauth.json。--accounts-file: 指定包含有关 Google 账户信息的.accounts.json文件的路径。默认是./.accounts.json。--credentials-dir: 指定成功认证后存储 OAuth 凭证的目录。默认是当前工作目录下的每个账户子目录,形式为.oauth.{email}.json。
这些选项允许在管理不同环境或多个凭据和账户集时具有灵活性,尤其是在开发和测试场景中特别有用。
示例用法:
uv run mcp-gsuite --gauth-file /path/to/custom/.gauth.json --accounts-file /path/to/custom/.accounts.json --credentials-dir /path/to/custom/credentials
这种配置对于运行具有不同配置的多个服务器实例或者当部署到默认路径不适用的环境中时特别有用。
开发
构建与发布
要准备分发包,请执行以下步骤:
- 同步依赖并更新锁定文件:
uv sync
- 构建包分发:
uv build
这将在 dist/ 目录下创建源码和 wheel 分发包。
- 发布到 PyPI:
uv publish
注意:你需要通过环境变量或命令标志设置 PyPI 凭证:
- 令牌:
--token或UV_PUBLISH_TOKEN - 或用户名/密码:
--username/UV_PUBLISH_USERNAME和--password/UV_PUBLISH_PASSWORD
调试
由于 MCP 服务器通过 stdio 运行,调试可能会比较困难。为了获得最佳调试体验,我们强烈推荐使用 MCP Inspector。
你可以通过 npm 使用此命令启动 MCP Inspector:
npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-gsuite run mcp-gsuite
启动后,Inspector 将显示一个 URL,你可以在浏览器中访问该 URL 开始调试。
你也可以使用此命令查看服务器日志:
tail -n 20 -f ~/Library/Logs/Claude/mcp-server-mcp-gsuite.log