邮件获取服务

一个通过IMAP协议从Gmail账户获取未读邮件的工具。

  • by waka-man
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 waka-man/gmail_mcp_server

使用说明

Gmail MCP服务器

这是一个模型上下文协议(MCP)服务器,它提供了一个使用IMAP协议从Gmail帐户中获取未读电子邮件的工具。

需求

安装

  1. 将此存储库克隆到本地计算机:

    git clone https://github.com/waka-man/gmail-mcp-server.git ~/Documents/Cline/MCP/gmail-mcp-server
    

    (注:更换 <repository_url> 如果存储库是远程托管的,则使用存储库的实际URL。如果服务器已位于指定路径,则可以跳过此步骤。)

  2. 导航到服务器目录:

    cd ~/Documents/Cline/MCP/gmail-mcp-server
    
  3. 使用您的Gmail凭据设置以下环境变量:

    export GMAIL_EMAIL="your_gmail_address@gmail.com"
    export GMAIL_APP_PASSWORD="your_gmail_app_password"
    

    替换 "your_gmail_address@gmail.com" 和 "your_gmail_app_password" 使用您的实际Gmail地址和生成的应用程序密码。

用法

要运行服务器,请执行Python脚本:

python3 /home/waka/Documents/Cline/MCP/gmail-mcp-server/gmail_mcp_server.py

此服务器旨在与MCP客户端一起使用。它使用MCP JSON-RPC协议通过标准输入/输出进行通信。

可用工具

get_unread_emails

说明: 从已配置的Gmail帐户收件箱中获取未读电子邮件。

输入架构:

{
  "type": "object",
  "properties": {
    "max_emails": {
      "type": "number",
      "description": "Maximum number of unread emails to fetch. Must be a non-negative integer.",
      "optional": true
    }
  }
}

示例用法(通过MCP客户端):

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_unread_emails",
    "arguments": {
      "max_emails": 10
    }
  }
}

此调用返回RPC响应,其中包含未读电子邮件对象的JSON数组 以文本块的形式提供。数组编码为 result.content[0].text 而不是直接作为JSON数组返回。

RPC响应示例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "[\n  {\n    \"id\": \"1\",\n    \"from\": \"sender@example.com\",\n    \"to\": \"your_gmail_address@gmail.com\",\n    \"subject\": \"Hello\",\n    \"date\": \"Mon, 1 Jan 2024 00:00:00 +0000\",\n    \"body_preview\": \"Sample body...\"\n  }\n]"
      }
    ],
    "isError": false
  }
}