基于MCP的Gmail代理实现

熟悉MCP服务器的最佳方式是启动自己的Gmail代理来管理你的收件箱。

基于MCP的Gmail代理实现

熟悉MCP服务器的最佳方式是启动自己的Gmail代理来管理你的收件箱。

1、MCP简介

在2024年11月下旬,Anthropic发布了模型上下文协议(MCP),作为LLM与外部系统集成的开放标准。用Anthropic的话来说,MCP是

连接AI助手到数据所在系统的新型标准,包括内容存储库、业务工具和开发环境。

Anthropic当然不是第一个为GenAI应用程序引入连接框架的人。然而,他们是我遇到的第一个旨在对模型提供商保持中立的标准。相比之下,我们有一个包含langchain、llamaindex等在内的“狂野西部”框架生态系统,以及OpenAI、Mistral AI、Anthropic等独家SDK。我个人非常兴奋于一个标准能够统治一切,并构建了一个Gmail MCP服务器来了解更多关于它的信息。

2、MCP架构概览

从根本上说,MCP遵循客户端-服务器架构,其中MCP主机将作为主要程序/应用程序并提供接口给MCP客户端。MCP客户端可以看作是主要的LLM做出决策并协调所有操作。MCP客户端与一个或多个MCP服务器交互,这些服务器是该协议以新颖的方式连接和通信的外部工具和系统。

3、设置MCP Gmail服务器

对于那些想要立即创建Gmail MCP服务器的人来说,这里是带有Gmail API设置和使用Claude桌面的仓库

该服务器提供了检索、读取、发送、查看和删除电子邮件的工具。它使用Gmail的Python API,需要一些快速设置

  1. 创建一个新的Google云项目
  2. 启用Gmail API
  3. 配置OAuth同意屏幕
  • 选择“外部”。但是,我们不会发布该应用。
  • 将你的个人电子邮件地址添加为“测试用户”。
  1. 添加OAuth范围<https://www.googleapis.com/auth/gmail/modify>
  2. 为桌面应用创建OAuth客户端ID
  3. 下载您的客户端OAuth密钥的JSON文件
  4. 重命名密钥文件并将其保存到本地计算机的安全位置。注意文件的位置。
  • 启动服务器时,绝对路径将作为参数--creds-file-path传递。

4、与Claude桌面配合使用

截至撰写本文时,MCP主机和客户端相对较少,大多数早期开发都集中在MCP服务器端。为了本次练习的目的,我将使用Claude桌面作为一个完全功能的MCP主机。我们将把Claude桌面连接到我们的Gmail服务器克隆版本,从而可以从Claude桌面直接管理电子邮件。

下载了Claude桌面并且你的机器上安装了uv之后,在Claude桌面的配置中添加以下内容。默认情况下,这被存储为~/Library/Application\ Support/Claude\claude_desktop_config.json

{
  "mcpServers": {
    "gmail": {
      "command": "uv",
      "args": [
        "--directory",
        "[absolute-path-to-git-repo]",
        "run",
        "gmail",
        "--creds-file-path",
        "[absolute-path-to-credentials-file]",
        "--token-path",
        "[absolute-path-to-access-tokens-file]"
      ]
    }
  }
}

下面的参数必须设置。

Gmail服务器所需的参数

--directory 应设置为克隆的git仓库的位置。将--creds-file-path设置为您在步骤#7中指定的文件位置。最后,将--token_path设置为服务器将来写入应用访问令牌的期望位置。保存claude_desktop_config.json并重新启动Claude桌面。您现在应该在Claude桌面的聊天框中看到一个小工具图标。

查看完整的演示视频

来自演示视频

5、结束语

构建这个Gmail MCP服务器是一个很好的MCP预告。虽然这个服务器主要是个玩具示例,但框架的明显可扩展性足以让人夜不能寐,想象新的功能。


原文链接:Create a Gmail Agent with Model Context Protocol (MCP)

汇智网翻译整理,转载请标明出处