基于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,需要一些快速设置:
- 选择“外部”。但是,我们不会发布该应用。
- 将你的个人电子邮件地址添加为“测试用户”。
- 添加OAuth范围
<https://www.googleapis.com/auth/gmail/modify>
- 为桌面应用创建OAuth客户端ID
- 下载您的客户端OAuth密钥的JSON文件
- 重命名密钥文件并将其保存到本地计算机的安全位置。注意文件的位置。
- 启动服务器时,绝对路径将作为参数
--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]"
]
}
}
}
下面的参数必须设置。

--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)
汇智网翻译整理,转载请标明出处
