Google文档管理服务器

一个全面的MCP服务器,提供50多种工具,用于通过自然语言命令读取、写入、格式化Google文档,管理Drive文件,处理评论,读取Google Chat消息,管理Google Calendar和组织Gmail收件箱。

  • by StefanSevelda
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 StefanSevelda/google-docs-mcp

使用说明

谷歌文档、云端硬盘、聊天、日历和Gmail MCP服务器

将Claude Desktop、Claude Code或其他MCP客户端连接到您的谷歌文档、谷歌云端硬盘、谷歌聊天、谷歌日历和Gmail!

🔥 结账 15个强大的任务 你可以用这个服务器完成! 📁 新 完整的Google Drive文件管理功能! 💬 新 谷歌聊天集成-阅读和分析您的团队对话! 📅 新 谷歌日历集成-管理您的日程和活动! 📧 新 Gmail集成-以编程方式管理您的电子邮件和标签!

一个全面的MCP服务器,提供50多种工具,用于阅读、写作、格式化谷歌文档、管理云端硬盘文件、处理评论、阅读谷歌聊天消息、管理谷歌日历和组织Gmail收件箱——所有这些都是通过自然语言命令完成的。

主要特点

文件: 读、写、格式化文本/段落、插入表格/图像、管理结构 驱动器: 列出/搜索/创建文档、管理文件夹、移动/复制/重命名/删除文件 评论: 列出、添加、回复、解析和删除文档注释 聊天: 从谷歌聊天室读取空间和消息(只读) 日历: 列出日历、管理事件、查看日程 Gmail: 列出、搜索、阅读电子邮件、管理标签、存档、标记为已读/未读 身份验证: 使用Google API保护OAuth 2.0

完整功能列表: 示例_TASKS.md | 架构: CLAUDE.md


建筑

C4Context
    title System Context Diagram - Google Docs MCP Server

    Person(user, "User", "Developer or AI using Claude Desktop/Code")

    System_Boundary(local, "Local Machine") {
        System(mcp_client, "MCP Client", "Claude Desktop, Claude Code, or other MCP-compatible client<br/>[Runs locally]")
        System(mcp_server, "Google Docs MCP Server", "FastMCP server providing 30+ tools<br/>[Runs locally via Node.js]")

        Rel(mcp_client, mcp_server, "Tool invocations", "stdio/JSON-RPC")
    }

    System_Ext(google_docs, "Google Docs API", "Document operations<br/>[Cloud service]")
    System_Ext(google_drive, "Google Drive API", "File management<br/>[Cloud service]")
    System_Ext(google_chat, "Google Chat API", "Read spaces & messages<br/>[Cloud service]")
    System_Ext(oauth, "Google OAuth 2.0", "Authentication<br/>[Cloud service]")

    Rel(user, mcp_client, "Sends commands", "Natural Language")
    Rel(mcp_server, google_docs, "REST API calls", "HTTPS")
    Rel(mcp_server, google_drive, "REST API calls", "HTTPS")
    Rel(mcp_server, google_chat, "REST API calls", "HTTPS")
    Rel(mcp_server, oauth, "Auth flow", "OAuth 2.0")

    UpdateLayoutConfig($c4ShapeInRow="3", $c4BoundaryInRow="1")

关键部件:

  • 本地计算机:MCP客户端和服务器都在您的计算机上本地运行
    • MCP客户端:Claude桌面或代码(本地应用程序)
    • MCP服务器:Types/Node.js服务器(通过stdio传输运行)
  • 云服务:通过HTTPS访问Google API
    • 谷歌文档API:文档内容操作
    • Google Drive API:文件和文件夹管理
    • 谷歌聊天API:对空间和消息的只读访问
  • 安全:OAuth 2.0身份验证、查询注入/SSRF/路径遍历保护

先决条件

  • Node.js 18+ 和npm(下载)
  • Git (下载)
  • Google账户 可以访问您的文档
  • 克劳德桌面或克劳德代码 (可选,用于MCP集成)

快速设置

1.谷歌云凭据

创建OAuth凭据以访问Google API:

  1. 首选 谷歌云控制台
  2. 创建/选择项目
  3. 启用 谷歌文档API, Google Drive API, 谷歌聊天API, 谷歌日历API,以及 Gmail API
  4. 配置OAuth同意屏幕:
    • 用户类型: 外部
    • 添加作用域:
      • https://www.googleapis.com/auth/documents (文档访问)
      • https://www.googleapis.com/auth/drive (驱动器访问)
      • https://www.googleapis.com/auth/chat.spaces.readonly (聊天空间-可选)
      • https://www.googleapis.com/auth/chat.messages.readonly (聊天信息-可选)
      • https://www.googleapis.com/auth/calendar (日历访问-可选)
      • https://www.googleapis.com/auth/gmail.modify (Gmail访问-可选)
    • 将自己添加为测试用户
  5. 创建凭据→ OAuth客户端ID→ 桌面应用
  6. 下载JSON→ 重命名为 credentials.json

⚠️ 保持 credentials.json 安全——永远不要承诺版本控制!

2.安装和构建

# Clone repository
git clone https://github.com/StefanSevelda/google-docs-mcp.git mcp-googledocs-server
cd mcp-googledocs-server

# Place credentials.json in this folder

# Install dependencies
npm install

# Build TypeScript
npm run build

3.首次授权

运行一次以与Google进行身份验证:

node ./dist/server.js
  1. 从终端复制授权URL
  2. 在浏览器中打开,使用您的Google帐户登录
  3. 允许访问后,浏览器显示“无法访问”(这很正常!)
  4. 从URL栏复制代码(在 code= 和 &scope)
  5. 将代码粘贴到终端

✅ 你应该看看 token.json created--确保此文件安全!


与Claude整合

选项1:克劳德桌面

编辑您的Claude Desktop配置文件:

配置位置:

  • macOS: ~/Library/Application Support/Claude/mcp_config.json
  • 窗户: %APPDATA%\Claude\mcp_config.json
  • Linux: ~/.config/Claude/mcp_config.json

添加此配置:

{
  "mcpServers": {
    "google-docs-mcp": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/mcp-googledocs-server/dist/server.js"],
      "env": {}
    }
  }
}

替换 /ABSOLUTE/PATH/TO/ 与您的实际路径(使用 pwd 命令找到它)。

保存后重新启动Claude Desktop。

选项2:克劳德代码

Claude Code可以通过配置连接到MCP服务器:

  1. 打开克劳德代码设置 (使用命令面板:“Claude代码:打开设置”)

  2. 添加MCP服务器配置:

    • 导航到MCP服务器部分
    • 点击“添加服务器”
    • 或编辑 ~/.config/claude-code/config.json 直接:
{
  "mcpServers": {
    "google-docs-mcp": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/mcp-googledocs-server/dist/server.js"],
      "env": {}
    }
  }
}
  1. 重新启动Claude代码 或重新加载窗口

  2. 验证连接:

    • 类型 /mcp 在Claude Code中查看可用服务器
    • 你应该看到“谷歌文档mcp”列出了所有可用的工具

在克劳德代码中使用:

"Use the google-docs-mcp server to read document ID abc123"
"List my recent Google Docs"
"Create a new document titled 'Meeting Notes'"

Claude Code将在需要时自动启动MCP服务器。


用法示例

获取文档ID: 找出两者之间的长串 /d/ 和 /edit 在您的Google文档URL中。

基本操作:

"Read document abc123"
"List my recent Google Docs"
"Create a new document titled 'Meeting Notes'"
"Append 'Hello World' to document abc123"

格式:

"Make the text 'Important' bold and red in document abc123"
"Center-align the paragraph containing 'Title' in document abc123"
"Insert a 3x4 table at index 500 in document abc123"

图像:

"Insert image from https://example.com/logo.png at index 100"
"Upload /path/to/chart.png and insert at index 200"

评论:

"List all comments in document abc123"
"Add comment 'Needs review' to text at indices 50-100"

谷歌聊天:

"List my Google Chat spaces"
"Show me the last 50 messages from the Core Systems AI space"
"Read the conversation history from space spaces/AAQAtBJLgmM"

谷歌日历:

"List my calendars"
"Show me events for this week"
"Create a meeting titled 'Team Sync' tomorrow at 2pm"
"What's on my calendar for next Monday?"

Gmail:

"List my unread emails"
"Search for emails from john@example.com containing 'report'"
"Archive all emails with label 'newsletter'"
"Mark all emails from last week as read"

看 示例_TASKS.md 查看更详细的示例。


谷歌聊天集成

此服务器提供对您的Google聊天空间和消息的只读访问,允许您搜索、总结和分析您的团队对话。

Google聊天的先决条件

Google聊天范围已包含在 auth.ts 文件:

  • https://www.googleapis.com/auth/chat.spaces.readonly -读取空间访问权限
  • https://www.googleapis.com/auth/chat.messages.readonly -读取消息访问权限

重要提示: 如果您已经授权了服务器,则需要重新授权以授予这些额外权限:

  1. 删除现有令牌:

    rm token.json
    
  2. 重新运行授权过程:

    node ./dist/server.js
    
  3. 授予权限: 当授权屏幕出现时,除了文档和驱动器外,您现在还可以看到聊天权限请求。单击“允许”授予所有权限。

可用的谷歌聊天工具

1.列出聊天空间(listChatSpaces)

列出您所属的所有Google聊天空间(聊天室和直接消息)。

参数:

  • pageSize (可选):返回的最大空格数(1-100,默认值:50)
  • filter (可选):过滤字符串(例如。, "spaceType = SPACE" 仅适用于房间, "spaceType = DIRECT_MESSAGE" 仅适用于DM)
  • pageToken (可选):用于分页以获取下一页的标记

示例提示:

  • “列出我的所有谷歌聊天空间”
  • “显示我所在的Google聊天室”
  • “我在谷歌聊天中有什么DM?”

退货: 包含名称、资源名称、类型和创建日期的空间列表。

2.获取空间详细信息(getChatSpace)

获取特定Google聊天空间的详细信息。

参数:

  • spaceName (必填):空间的资源名称(例如,“spaces/space_ID”)

示例提示:

  • “获取有关空间/AAAAtErciPM的详细信息”
  • “显示有关AI@N26聊天空间的信息”

退货: 空间元数据,包括显示名称、类型、创建时间和成员计数。

3.列出消息(listChatMessages)

从特定的Google聊天空间检索消息。

参数:

  • spaceName (必填):空间的资源名称
  • pageSize (可选):要返回的最大消息数(1-100,默认值:25)
  • orderBy (可选):排序顺序- "createTime desc" (最新优先,默认)或 "createTime asc" (最老的先)
  • filter (可选):筛选特定邮件
  • pageToken (可选):分页标记

示例提示:

  • “向我展示来自核心系统AI空间的最后50条消息”
  • “列出来自空间/AAQAtBJLgmM的最新消息”
  • “从AI@N26聊天中获取对话历史记录”

退货: 包含发件人信息、时间戳、文本内容和线程信息的邮件列表。

4.获取消息详细信息(getChatMessage)

获取特定消息的完整详细信息,包括完整的文本内容。

参数:

  • messageName (必填):消息的资源名称(例如,“空格/SPACE_ID/messages/message_ID”)

示例提示:

  • “获取消息空间/AAQAtBJLgmM/messages/ZvjYVVS9av8.zGJVuu zHPE的完整内容”
  • “显示该消息的详细信息”

退货: 完整的邮件详细信息,包括全文、发件人、时间戳和附件。

谷歌聊天使用示例

以下是如何使用Google Chat与Claude集成的实际示例:

  1. 总结最近的讨论:

    "List messages from the last 2 days in the Core Systems AI space and create a summary"
    
  2. 搜索特定主题:

    "Find all messages mentioning 'MCP' in the AI @ N26 chat space"
    
  3. 跟踪行动项目:

    "Review the last 100 messages in spaces/AAQAtBJLgmM and extract any TODOs or action items"
    
  4. 创建会议笔记:

    "Read the messages from the product-feedback space today and create structured meeting notes"
    
  5. 查找重要公告:

    "List messages from the tech space and identify any important announcements or updates"
    

查找空间ID

要查找空间的资源名称(ID),请执行以下操作:

  1. 使用 listChatSpaces 查看所有空间的工具
  2. “资源名称”字段包含空间ID(例如。, spaces/AAQAtBJLgmM)
  3. 在后续命令中使用此ID列出或搜索邮件

或者,您可以按名称描述空间:

"Find the space called 'Core Systems AI' and list its recent messages"

局限性

只读访问: 此集成目前提供对Google Chat的只读访问。你可以:

  • ✅ 列出您所属的空间
  • ✅ 阅读消息和线程
  • ✅ 获取空间和消息元数据
  • ❌ 发送消息(不支持)
  • ❌ 创建空间(不支持)
  • ❌ 修改空间设置(不支持)

API限制: Google Chat API有费率限制。对于频繁使用,请考虑:

  • 使用分页分批检索邮件
  • 缓存频繁访问的空间ID
  • 限制每个请求检索的消息数

隐私和安全

重要注意事项:

  • 此服务器已读取您的所有Google聊天消息
  • 消息仅在本地处理,并在您明确请求时发送给Claude
  • 分享聊天摘要或消息内容时请注意
  • 这 token.json 文件包含对聊天消息的访问权限-请小心保护
  • 在使用此集成之前,请考虑聊天对话的敏感性

谷歌日历集成

管理您的Google日历事件,查看您的日程安排,并直接通过自然语言命令创建会议。

Google日历的先决条件

Google日历范围已包含在 auth.ts 文件:

  • https://www.googleapis.com/auth/calendar -完全访问以管理日历事件

重要提示: 如果您已经授权了服务器,则需要重新授权以授予日历权限:

  1. 删除现有令牌:

    rm token.json
    
  2. 重新运行授权过程:

    node ./dist/server.js
    
  3. 授予权限: 当授权屏幕出现时,除了文档、驱动器和聊天外,您现在还可以看到对日历权限的请求。单击“允许”授予所有权限。

可用的谷歌日历工具

1.列出日历(listCalendars)

列出您有权访问的所有日历。

参数:

  • minAccessRole (可选):按最小访问角色筛选(freeBusyLeader、阅读器、作家、所有者)
  • showHidden (可选):是否显示隐藏日历(默认值:false)
  • maxResults (可选):返回的最大数量(1-250,默认值:100)
  • pageToken (可选):分页标记

示例提示:

  • “列出我的日历”
  • “显示我的所有谷歌日历”
  • “我可以访问哪些日历?”

退货: 包含ID、名称、访问角色和时区的日历列表。

2.列出日历事件(listCalendarEvents)

列出特定日历中某个时间范围内的事件。

参数:

  • calendarId (可选):日历ID(默认:主日历的“主”)
  • timeMin (可选):RFC3339格式的时间范围开始(例如,“2024-01-01T00:00:00Z”)
  • timeMax (可选):RFC3339格式的时间范围结束
  • maxResults (可选):返回的最大事件数(1-2500,默认值:250)
  • orderBy (可选):排序顺序-“startTime”或“updated”
  • q (可选):自由文本搜索查询
  • pageToken (可选):分页标记

示例提示:

  • “显示本周的活动”
  • “今天我的日历上有什么?”
  • “列出2024年1月的所有会议”
  • “在我的日历中查找包含“评论”的事件”

退货: 事件列表,包括标题、时间、地点、与会者和会议链接。

3.获取日历事件(getCalendarEvent)

获取特定事件的详细信息。

参数:

  • calendarId (可选):日历ID(默认:“主”)
  • eventId (必填):事件ID

示例提示:

  • “显示事件abc123的详细信息”
  • “获取有关该会议的完整信息”

退货: 完整的活动详细信息,包括描述、与会者、重复和会议信息。

4.创建日历事件(createCalendarEvent)

在日历中创建新事件。

参数:

  • calendarId (可选):日历ID(默认:“主”)
  • summary (必填):活动标题
  • description (可选):事件描述
  • location (可选):活动地点
  • startDateTime (可选):RFC3339格式的开始时间(用于定时事件)
  • endDateTime (可选):RFC3339格式的结束时间(用于定时事件)
  • startDate (可选):YYYY-MM-DD格式的开始日期(适用于全天活动)
  • endDate (可选):YYYY-MM-DD格式的结束日期(适用于全天事件)
  • timeZone (可选):时区(例如,“美洲/Los_Angeles”)
  • attendees (可选):与会者电子邮件地址列表
  • recurrence (可选):重复规则(例如,[“RRULE:频率=每日;计数=5”])
  • reminders (可选):自定义提醒设置
  • conferenceData (可选):视频会议设置
  • visibility (可选):事件可见性(默认、公共、私有、机密)

示例提示:

  • “明天下午2点创建一个名为“团队同步”的会议”
  • “3月15日安排全天活动‘会议’”
  • “添加一个30分钟的通话john@example.com下周一上午10点”

退货: 使用事件ID和日历链接进行确认。

5.更新日历事件(updateCalendarEvent)

更新现有日历事件。

参数:

  • calendarId (可选):日历ID(默认:“主”)
  • eventId (必填):要更新的事件ID
  • summary (可选):新事件标题
  • description (可选):新描述
  • location (可选):新位置
  • startDateTime / startDate (可选):新的开始时间/日期
  • endDateTime / endDate (可选):新的结束时间/日期
  • attendees (可选):更新的与会者名单
  • status (可选):事件状态(已确认、暂定、已取消)

示例提示:

  • “将会议移至下午3点”
  • “将事件abc123的位置更改为‘会议室A’”
  • “添加sarah@example.com明天的团队会议”

退货: 使用更新的事件详细信息进行确认。

6.删除日历事件(deleteCalendarEvent)

从日历中删除事件。

参数:

  • calendarId (可选):日历ID(默认:“主”)
  • eventId (必填):要删除的事件ID

示例提示:

  • “删除事件abc123”
  • “取消明天上午10点的会议”
  • “从我的日历中删除该事件”

退货: 确认事件已删除。

谷歌日历使用示例

以下是如何使用日历与Claude集成的实际示例:

  1. 每日进度审查:

    "What meetings do I have today?"
    "Show me my schedule for tomorrow"
    
  2. 每周计划:

    "List all my events for this week"
    "What's my availability next week?"
    
  3. 会议管理:

    "Create a 1-hour meeting with john@example.com titled 'Project Review' next Tuesday at 2pm"
    "Add a reminder for 'Dentist Appointment' on Friday at 9am"
    
  4. 活动日程安排:

    "Schedule a recurring weekly meeting every Monday at 10am"
    "Block my calendar for 'Focus Time' every afternoon from 2-4pm"
    
  5. 日历组织:

    "List all meetings containing 'review' in the next month"
    "Find free slots in my calendar this week"
    

时间格式

对于定时事件(特定时间):

  • 使用带时区的RFC3339格式: "2024-01-15T14:00:00-08:00"
  • 或ISO 8601格式: "2024-01-15T14:00:00Z"

对于全天活动:

  • 使用日期格式: "2024-01-15"
  • 结束日期是唯一的(单日活动使用次日)

自然语言: 克劳德可以将“明天下午2点”或“下周一”等自然语言转换为适当的日期格式。

隐私和安全

重要注意事项:

  • 此服务器可以完全访问您的Google日历
  • 事件仅在本地处理,并在您明确请求时发送给Claude
  • 共享日历信息时请注意
  • 这 token.json 文件包含对日历的访问权限-请小心保护
  • 在使用此集成之前,请考虑会议信息的敏感性

Gmail集成

管理您的Gmail收件箱、搜索电子邮件、用标签组织和执行批量操作——所有这些都是通过自然语言命令完成的。

Gmail的先决条件

Gmail范围已包含在 auth.ts 文件:

  • https://www.googleapis.com/auth/gmail.modify -完全访问管理电子邮件(读取、存档、标记、删除)

重要提示: 如果您已经授权了服务器,则需要重新授权才能授予Gmail权限:

  1. 删除现有令牌:

    rm token.json
    
  2. 重新运行授权过程:

    node ./dist/server.js
    
  3. 授予权限: 当授权屏幕出现时,您现在将看到对Gmail权限的请求。单击“允许”授予所有权限。

可用的Gmail工具

1.列出电子邮件(listEmails)

使用可选过滤功能列出收件箱中的电子邮件。

参数:

  • maxResults (可选):最多可返回的电子邮件数(1-500,默认值:50)
  • query (可选):Gmail搜索查询(例如,“是:未读”,“来自:john@example.com")
  • labelIds (可选):按标签ID筛选(例如,[“收件箱”、“未读”])
  • includeSpamTrash (可选):包括垃圾邮件/垃圾(默认值:false)
  • pageToken (可选):分页标记

示例提示:

  • “列出我最近的电子邮件”
  • “显示未读电子邮件”
  • “在我的收件箱中列出本周的电子邮件”

退货: 包含主题、发件人、日期、片段和标签的电子邮件列表。

2.搜索电子邮件(searchEmails)

使用Gmail强大的搜索语法搜索电子邮件。

参数:

  • query (必填):Gmail搜索查询
  • maxResults (可选):最多可返回的电子邮件数(1-500,默认值:50)
  • pageToken (可选):分页标记

示例提示:

  • “搜索来自的电子邮件john@example.com包含“报告”
  • “查找上个月所有带附件的电子邮件”
  • “搜索有关“会议”的未读电子邮件”

Gmail搜索语法示例:

  • from:user@example.com -来自特定发件人的电子邮件
  • subject:report -主题为“报告”的电子邮件
  • has:attachment -带附件的电子邮件
  • is:unread -未读电子邮件
  • after:2024/01/01 -特定日期后的电子邮件
  • label:work -带有“工作”标签的电子邮件

退货: 具有完整元数据的匹配电子邮件列表。

3.获取电子邮件(getEmail)

获取特定电子邮件的完整内容。

参数:

  • messageId (必填):Gmail邮件ID
  • format (可选):格式-“完整”(默认)、“元数据”、“最小”或“原始”

示例提示:

  • “显示电子邮件abc123的全部内容”
  • “阅读ID为xyz789的电子邮件”

退货: 完整的电子邮件,包括正文、标题和附件信息。

4.存档电子邮件(archiveEmail)

存档一封或多封电子邮件(从收件箱中删除)。支持多达1000封电子邮件的批量操作。

参数:

  • messageIds (必需):要存档的消息ID数组

示例提示:

  • “存档电子邮件abc123”
  • “将所有来自时事通讯的邮件存档”

退货: 确认已存档的电子邮件。

5.标记电子邮件(markEmail)

将电子邮件标记为已读/未读、已标记/未标记或重要。支持多达1000封电子邮件的批量操作。

参数:

  • messageIds (必填):消息ID数组
  • markAs (必填):“已读”、“未读”、已星级、未星级、重要或不重要

示例提示:

  • “将电子邮件abc123标记为已读”
  • “标记我老板的所有电子邮件”
  • “将所有未读电子邮件标记为已读”

退货: 确认标记的电子邮件。

6.修改电子邮件标签(modifyEmailLabels)

在电子邮件中添加或删除标签。支持多达1000封电子邮件的批量操作。

参数:

  • messageIds (必填):消息ID数组
  • addLabelIds (可选):要添加的标签(例如,[“已开始”、“重要”])
  • removeLabelIds (可选):要删除的标签(例如,[“UNREAD”、“INBOX”])

示例提示:

  • “在电子邮件abc123中添加“工作”标签”
  • “从所有新闻稿中删除‘收件箱’标签”

退货: 标签变更确认。

7.列表标签(listLabels)

列出所有Gmail标签(包括系统和自定义标签)。

示例提示:

  • “列出我的Gmail标签”
  • “显示我的所有电子邮件标签”

退货: 带有ID、名称、类型和消息计数的标签列表。

8.创建标签(createLabel)

创建新的自定义标签。

参数:

  • name (必填):新标签的名称
  • labelListVisibility (可选):“标签显示”、“标签显示未读”或“标签隐藏”
  • messageListVisibility (可选):“显示”或“隐藏”

示例提示:

  • “创建一个名为“重要项目”的标签”
  • “创建一个名为“跟进”的新标签”

退货: 使用新标签ID进行确认。

9.删除标签(deleteLabel)

删除自定义标签(不删除电子邮件,只删除标签)。

参数:

  • labelId (必填):要删除的标签的ID

示例提示:

  • “删除标签‘旧项目’”
  • “删除ID为label_123的标签”

退货: 确认标签已删除。

Gmail使用示例

以下是如何使用Gmail与Claude集成的实际示例:

  1. 收件箱管理:

    "Show me my unread emails"
    "List all emails from this week"
    "Archive all read emails from newsletters"
    
  2. 电子邮件搜索和过滤:

    "Find emails from john@example.com about 'budget'"
    "Search for unread emails with attachments"
    "Show me all emails labeled 'urgent'"
    
  3. 批量操作:

    "Mark all emails from last month as read"
    "Archive all emails with label 'newsletter'"
    "Star all emails from my manager"
    
  4. 标签组织:

    "Create labels for 'Projects', 'Follow-up', and 'Archive'"
    "Add 'work' label to all emails from @company.com"
    "List all my custom labels"
    
  5. 电子邮件分类:

    "Show me unread emails from the last 3 days and summarize them"
    "Find important emails I haven't responded to"
    "List all emails that need follow-up"
    

Gmail搜索查询语法

Gmail支持强大的搜索运营商:

  • 发件人/收件人: from:, to:, cc:, bcc:
  • 主题: subject:"exact phrase"
  • 内容: "exact phrase", word1 OR word2
  • 日期: after:2024/01/01, before:2024/12/31, older_than:7d, newer_than:2d
  • 状态: is:read, is:unread, is:starred, is:important
  • 附件: has:attachment, filename:pdf
  • 标签: label:work, label:inbox
  • 尺寸: size:1000000 (字节), larger:10M, smaller:1M

批量操作

所有电子邮件修改工具都支持批处理操作:

  • 多达 1000封电子邮件 可以在一次操作中修改
  • 比单个操作更高效
  • 可用于批量归档、标记或标记电子邮件

隐私和安全

重要注意事项:

  • 此服务器可以完全访问您的Gmail收件箱
  • 电子邮件仅在本地处理,并在您明确要求时发送给Claude
  • 分享电子邮件内容或摘要时请注意
  • 这 token.json 文件包含对您电子邮件的访问权限-请小心保护
  • 在使用此集成之前,请考虑电子邮件内容的敏感性

故障排除

MCP连接问题:

  • 验证配置文件中的绝对路径是否正确
  • 确保 npm run build 已完成和 dist/ 文件夹存在
  • 手动测试: node /path/to/dist/server.js
  • 检查Claude日志以了解详细错误

授权错误:

  • 确认谷歌文档、云端硬盘和聊天API已启用
  • 验证您的电子邮件是否已添加为测试用户
  • 检查 credentials.json 位于项目根目录中
  • 删除 token.json 必要时重新授权

安全说明:

  • credentials.json 和 token.json git会被自动忽略吗
  • 考虑在生产部署中使用系统密钥链
  • 看 CLAUDE.md 有关安全审计的详细信息

文档

许可证

MIT许可证-有关详细信息,请参阅许可证文件。