Gmail集成服务器

一个基于FastMCP的Gmail集成服务器,为AI助手提供通过标准化工具与Gmail交互的能力,包括邮件检索、发送等功能。

  • by shubhiscoding
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 shubhiscoding/gmail-mcp-server

使用说明

Gmail MCP服务器

用于Gmail集成的模型上下文协议(MCP)服务器,使用 FastMCP该服务器为AI助手提供了通过一组标准化工具与Gmail交互的能力。

概述

该项目实现了一个MCP服务器,允许AI助手执行各种Gmail操作,包括:

  • 从收件箱中获取电子邮件
  • 按主题搜索电子邮件
  • 搜索来自特定发件人的电子邮件
  • 检索未读电子邮件
  • 向收件人发送电子邮件

该服务器使用IMAP进行电子邮件检索,使用SMTP发送电子邮件,所有这些都通过Gmail的身份验证系统进行保护。

设置

  1. 克隆存储库
git clone https://github.com/shubhiscoding/Gmail-MCP-Server
cd gmail-mcp
  1. 安装依赖项
npm install
  1. 创建一个 .env 根目录中的文件,包含以下变量:
GMAIL_USER=your_gmail_address
GMAIL_APP_PASSWORD=your-app-password

要为您的Gmail帐户生成应用程序密码,请执行以下操作:

  1. 转到您的Google帐户>安全
  2. 如果尚未启用,请启用两步验证
  3. 转到应用程序密码
  4. 选择“邮件”和您的设备
  5. 点击“生成”

用法

启动服务器

在开发模式下启动服务器:

npm run dev

使用Windsurf运行的配置

配置 mcp_config.json 要添加gmailmcp服务器,请执行以下操作:

{
  "mcpServers": {
    "gmail-mcp": {
      "command": "bash",
      "args": [
        "-c",
        "cd ~Your-Path-To-The-Repo/Gmail-MCP-Server && npm run start"
      ],
      "disabled": false
    }
  }
}

在Windows上使用Claude桌面运行的配置

{
  "mcpServers": {
    "gmail-mcp": {
      "command": "cmd",
      "args": ["/c", "cd /d ~Your-Path-To-The-Repo\\Gmail-MCP-Server && npm run start"]
    }
  }
}

视频演示

Windsruf演示

https://github.com/user-attachments/assets/0c45ec24-be45-4271-b7d0-fc6cd58b850f

克劳德桌面演示

https://github.com/user-attachments/assets/ad1650e8-bcc4-481e-ab95-eaefd8de7472

可用工具

服务器为AI助手提供以下工具:

1.获取电子邮件

通过可选过滤从收件箱中获取电子邮件。

参数:

  • limit (可选):要获取的最大电子邮件数(默认值:10)
  • mailbox (可选):用于获取电子邮件的邮箱(默认:“收件箱”)
  • searchCriteria (可选):IMAP搜索条件(默认值:[‘ALL’])

2.电子邮件主题

获取具有特定主题的电子邮件。

参数:

  • subject:有待搜索
  • limit (可选):要获取的最大电子邮件数(默认值:10)

3. fetchEmailsFromSender

从特定发件人处获取电子邮件。

参数:

  • sender:发件人的电子邮件地址
  • limit (可选):要获取的最大电子邮件数(默认值:10)

4.获取未读邮件

从收件箱中获取未读电子邮件。

参数:

  • limit (可选):要获取的最大电子邮件数(默认值:10)

5.发送电子邮件

向指定收件人发送电子邮件。

参数:

  • to:收件人的电子邮件地址
  • subject:电子邮件的主题
  • body:电子邮件正文

安全

此服务器使用环境变量来存储敏感信息,如您的Gmail凭据。永远不要承诺你的 .env 文件到版本控制。

技术细节

该项目由以下部分组成:

  • TypeScript用于类型安全
  • 用于电子邮件操作的Node.js IMAP和Nodemailer库
  • 用于MCP服务器实施的FastMCP
  • 用于环境变量管理的dotenv