mcp-gsuite

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Allows interaction with Gmail including querying emails, retrieving email content, creating drafts, deleting drafts, replying to emails, and saving attachments

  • Enables management of calendar events including getting calendar events, creating events with various details like title, time, location, description, attendees, and timezone, as well as deleting events

mcp-gsuite MCP 服务器

MCP 服务器与 Google 产品进行交互。

示例提示

目前,此 MCP 服务器支持 Gmail 和日历集成,具有以下功能:

  1. 一般的
  • 多个谷歌帐户
  1. Gmail
  • 获取您的 Gmail 用户信息
  • 通过灵活的搜索查询电子邮件(例如未读、来自特定发件人、日期范围、带有附件)
  • 通过 ID 检索完整的电子邮件内容
  • 创建带有收件人、主题、正文和抄送选项的新电子邮件草稿
  • 删除电子邮件草稿
  • 回复现有电子邮件(可以立即发送或保存为草稿)
  • 通过 ID 一次检索多封电子邮件。
  • 将电子邮件中的多个附件保存到本地系统。
  1. 日历
  • 管理多个日历
  • 获取指定时间范围内的日历事件
  • 使用以下方式创建日历事件:
    • 标题、开始/结束时间
    • 可选位置和描述
    • 可选参加者
    • 自定义时区支持
    • 通知偏好设置
  • 删除日历事件

您可以尝试的示例提示:

  • 检索我最近的未读消息
  • 搜索来自 Scrum Master 的电子邮件
  • 检索会计部门的所有电子邮件
  • 以关于 ABC 的电子邮件为例,并进行总结
  • 对爱丽丝的最后一封电子邮件写一封友好的回复并上传草稿。
  • 回复Bob的邮件并附上感谢信。请将其保存为草稿
  • 我明天的日程安排是什么?
  • 查看我的私人账户下周的家庭日程
  • 我需要和Tim一起计划下周一个2小时的活动。请推荐一些时间段。

快速入门

安装

通过 Smithery 安装

要通过Smithery自动为 Claude Desktop 安装 mcp-gsuite:

npx -y @smithery/cli install mcp-gsuite --client claude

OAuth 2

Google Workspace (G Suite) API 需要 OAuth2 授权。请按照以下步骤设置身份验证:

  1. 创建 OAuth2 凭证:
    • 前往Google Cloud Console
    • 创建新项目或选择现有项目
    • 为您的项目启用 Gmail API 和 Google 日历 API
    • 转到“凭证”→“创建凭证”→“OAuth 客户端 ID”
    • 选择“桌面应用程序”或“Web应用程序”作为应用程序类型
    • 使用所需信息配置 OAuth 同意屏幕
    • 添加授权重定向 URI(包括用于本地开发的http://localhost:4100/code
  2. 所需的 OAuth2 范围:
[ "openid", "https://mail.google.com/", "https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/userinfo.email" ]
  1. 然后使用客户端在工作目录中创建.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" } }
  1. 创建包含帐户信息的.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 extra_info特别有用,因为您可以在此处添加您想告知 AI 的帐户信息(例如,该帐户是否有特定的议程)。

注意:首次针对特定帐户执行某个工具时,浏览器会打开,将您重定向到 Google,并要求您提供凭据、作用域等信息。成功登录后,它会将凭据存储在名为.oauth.{email}.json本地文件中。获得授权后,将使用刷新令牌。

克劳德桌面

在 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" ] } } }

注意:您还可以使用uv run mcp-gsuite --accounts-file /path/to/custom/.accounts.json指定不同的帐户文件或--credentials-dir /path/to/custom/credentials指定不同的凭据目录。

{ "mcpServers": { "mcp-gsuite": { "command": "uv", "args": [ "--directory", "<dir_to>/mcp-gsuite", "run", "mcp-gsuite", "--accounts-file", "/path/to/custom/.accounts.json", "--credentials-dir", "/path/to/custom/credentials" ] } } }
{ "mcpServers": { "mcp-gsuite": { "command": "uvx", "args": [ "mcp-gsuite", "--accounts-file", "/path/to/custom/.accounts.json", "--credentials-dir", "/path/to/custom/credentials" ] } } }

配置选项

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

当您有多个服务器实例以不同的配置运行或部署到默认路径不适合的环境时,此配置特别有用。

发展

构建和发布

准备分发包:

  1. 同步依赖项并更新锁文件:
uv sync
  1. 构建软件包分发版:
uv build

这将在dist/目录中创建源和轮子分布。

  1. 发布到 PyPI:
uv publish

注意:您需要通过环境变量或命令标志设置 PyPI 凭据:

  • 令牌: --tokenUV_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

启动后,检查器将显示一个 URL,您可以在浏览器中访问该 URL 以开始调试。

您还可以使用以下命令查看服务器日志:

tail -n 20 -f ~/Library/Logs/Claude/mcp-server-mcp-gsuite.log
-
security - not tested
A
license - permissive license
-
quality - not tested

MCP 服务器与 Google 产品交互。

  1. Example prompts
    1. Quickstart
      1. Install
      2. Installing via Smithery
      3. Configuration Options
    2. Development
      1. Building and Publishing
      2. Debugging
    ID: umzb0imbu2