Token导航 LogoToken导航TokenDH.com
Google Workspace (mcp-server-google-workspace) logo
安全风控stdio官方级别未说明来源级核验

Google Workspace (mcp-server-google-workspace)

MCP Server

@modelcontextprotocol/inspector

一个用于Google Workspace集成的模型上下文协议服务器,提供Gmail、Google日历和Google Drive的访问工具。

工具数

6

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptClaude安全Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

iskifogl

提供方

iskifogl

最后核验

2026/5/17 20:21

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @modelcontextprotocol/inspector node dist/index.js

详细介绍

MCP服务器-谷歌工作区

![License: MIT](https://opensource.org/licenses/MIT)

用于Google Workspace集成的模型上下文协议(MCP)服务器,为Gmail、Google日历和Google Drive访问提供工具。

特性

  • 🔐 简单认证:基于环境变量的凭据
  • 📧 Gmail:列出、阅读、搜索和发送电子邮件
  • 📅 日历:列出日历(包括共享日历),在任何可访问的日历中列出和创建事件
  • 📁 驾驶:文件管理(即将推出)
  • 🔄 自动令牌刷新:自动刷新OAuth令牌
  • 🏢 多用户支持:主机应用程序可以解密和注入用户特定的凭据
  • 🤝 共享日历支持:访问和管理与您共享的日历中的事件

安装

供个人使用

npm install mcp-server-google-workspace
# or
pnpm add mcp-server-google-workspace

为了发展

git clone 
cd mcp-server-google-workspace
pnpm install
pnpm build

认证

MCP服务器从环境变量中读取Google OAuth凭据:

# .env
GOOGLE_CLIENT_ID=your_client_id
GOOGLE_CLIENT_SECRET=your_client_secret
GOOGLE_REFRESH_TOKEN=your_refresh_token
GOOGLE_ACCESS_TOKEN=your_access_token  # optional

多用户平台

对于服务于多个用户的平台,主机应用程序应:

  1. 从数据库中获取加密凭据
  2. 解密凭据(例如,使用AWS KMS)
  3. 启动MCP服务器时,将解密后的凭据作为环境变量传递

这使MCP服务器保持简单,并将凭据管理委托给主机应用程序。

可用工具

Gmail工具

gmail_list_emails

列出Gmail收件箱中最近的电子邮件。

参数:

  • hours (数字,可选):回顾时间(默认值:24)
  • maxResults (数字,可选):要返回的最大电子邮件数(默认值:50)
  • query (字符串,可选):Gmail搜索查询

例子:

{
  "hours": 168,
  "maxResults": 50,
  "query": "from:boss@company.com"
}

gmail_read_email

阅读特定电子邮件的完整内容。

参数:

  • emailId (字符串,必填):Gmail邮件ID

gmail_search_emails

使用Gmail查询语法搜索电子邮件。

参数:

  • query (字符串,必填):搜索查询
  • maxResults (数字,可选):最大结果(默认值:50)

查询示例:

  • "from:user@example.com subject:meeting"
  • "has:attachment after:2025/11/01"
  • "is:unread label:important"

日历工具

calendar_list_calendars

列出所有可访问的日历,包括共享日历。

参数:

  • showHidden (布尔值,可选):包含隐藏日历(默认值:false)
  • minAccessRole (字符串,可选):最小访问角色筛选器(freeBusyLeader、阅读器、写入器、所有者)

例子:

{
  "showHidden": false,
  "minAccessRole": "reader"
}

答复: 返回日历及其ID、名称、访问角色和其他元数据的列表。使用日历 id 用于其他日历操作的字段。

calendar_list_events

列出日期范围内的日历事件。返回带有时区信息的事件。

参数:

  • calendarId (字符串,可选):日历ID(默认值:'primary')。使用 calendar_list_calendars 以获取共享日历的ID。
  • date (字符串,可选):开始日期(YYYY-MM-DD),默认值:今天
  • days (数字,可选):天数(默认值:1)
  • maxResults (数字,可选):最大事件数(默认值:50)

答复: 每个活动包括 startTimeZoneendTimeZone 字段,使处理不同时区的事件变得容易(例如,ET与UTC)。

calendar_create_event

创建具有适当时区支持的新日历事件。

参数:

  • calendarId (字符串,可选):日历ID(默认值:'primary')。使用 calendar_list_calendars 以获取共享日历的ID。
  • summary (字符串,必填):事件标题
  • start (字符串,必填):开始时间(ISO 8601)
  • end (字符串,必填):结束时间(ISO 8601)
  • timeZone (字符串,可选):IANA时区(例如,“美国/纽约”、“美国/洛杉矶”、“UTC”)。如果未指定,则使用日历的默认时区。
  • description (字符串,可选):事件描述
  • location (字符串,可选):事件位置
  • attendees (数组,可选):与会者电子邮件

示例:

在EST时区创建事件:

{
  "calendarId": "primary",
  "summary": "Team Meeting",
  "start": "2025-11-02T10:00:00",
  "end": "2025-11-02T11:00:00",
  "timeZone": "America/New_York",
  "description": "Quarterly review",
  "attendees": ["team@company.com"]
}

在UTC中创建事件(如果未指定,则默认):

{
  "summary": "Team Meeting",
  "start": "2025-11-02T15:00:00Z",
  "end": "2025-11-02T16:00:00Z"
}

用法

使用克劳德桌面

添加到您的Claude Desktop配置中:

{
  "mcpServers": {
    "google-workspace": {
      "command": "npx",
      "args": ["-y", "mcp-server-google-workspace"],
      "env": {
        "GOOGLE_CLIENT_ID": "your_client_id",
        "GOOGLE_CLIENT_SECRET": "your_client_secret",
        "GOOGLE_REFRESH_TOKEN": "your_refresh_token"
      }
    }
  }
}

程序化使用(例如,使用Claude Agent SDK)

对于多用户平台,解密凭据并在启动服务器时注入它们:

import { Agent } from '@anthropic-ai/claude-agent-sdk';

// Your backend decrypts credentials from database
const credentials = await decryptUserCredentials(userId);

const agent = new Agent({
  mcpServers: [{
    command: 'node',
    args: ['path/to/mcp-server-google-workspace/dist/index.js'],
    env: {
      GOOGLE_CLIENT_ID: credentials.clientId,
      GOOGLE_CLIENT_SECRET: credentials.clientSecret,
      GOOGLE_REFRESH_TOKEN: credentials.refreshToken,
    }
  }]
});

发展

# Install dependencies
pnpm install

# Build
pnpm build

# Watch mode
pnpm watch

# Run locally
pnpm dev

测试

与MCP检查员一起

npx @modelcontextprotocol/inspector node dist/index.js

使用环境变量

cp .env.example .env
# Edit .env with your credentials
pnpm dev

OAuth设置

要获取Google OAuth凭据,请执行以下操作:

  1. 首选 谷歌云控制台
  2. 创建新项目或选择现有项目
  3. 启用Gmail API和Google日历API
  4. 创建OAuth 2.0凭据
  5. 添加授权重定向URI
  6. 获取客户端ID和客户端密钥
  7. 使用OAuth游乐场获取刷新令牌

贡献

欢迎投稿!请随时提交拉取请求。

许可证

麻省理工学院

作者

iskifogl

目录标签

目录标签

TypeScriptClaude安全GoogleWorkspace本地部署GmailGoogle日历GoogleDriveOAuth认证多用户支持

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@modelcontextprotocol/inspector

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP