Gemini CLI 会对本服务器执行标准的 MCP OAuth 流程。它通过 RFC 7591 动态客户端注册 自行注册,所以不需要创建 client ID,并使用 S256 以 授权码加 PKCE 完成授权。整个过程从不传输客户端密钥,令牌也只携带你在我们的授权同意页面上批准的权限范围。它拿到的访问令牌有效期为一小时,并会自动刷新;令牌会以 OAuth: 加客户端名称的形式列在 Dashboard、API Keys 中,你也在那里撤销该连接。
本页的所有内容,都是把这个 URL 填入 Gemini CLI 的方法。
| 字段 | 值 |
|---|---|
| MCP 服务器 URL | https://mcpemails.com/api/mcp |
| 传输方式 | Streamable HTTP (MCP 2025-06-18) |
| 认证 | OAuth 2.1,带 PKCE 的授权码流程。无需 API 密钥。 |
共四步。前两步对所有客户端都一样,其余步骤专门针对这个客户端。
在 mcpemails.com 注册,无需绑卡,然后前往 Dashboard、Inboxes、Connect Inbox。Outlook 和 Microsoft 365 通过 Microsoft 登录连接;Gmail、iCloud、Fastmail、Yahoo、Zoho 和 Yandex 需要应用专用密码;其他邮箱都可通过标准 IMAP 与 SMTP 连接。免费版包含 1 个收件箱,永久有效。
编辑 ~/.gemini/settings.json 以作用于所有项目,或编辑某个项目中的 .gemini/settings.json。
在 mcpServers 下添加下面的条目。这里用于 Streamable HTTP 服务器的字段是 httpUrl。
首次连接时,CLI 会从服务器元数据中自动发现 OAuth 并打开浏览器授权流程。批准你希望 CLI 拥有的权限范围。
{
"mcpServers": {
"mcpemails": {
"httpUrl": "https://mcpemails.com/api/mcp"
}
}
}Gemini CLI 关于远程 MCP 服务器的官方文档: https://github.com/google-gemini/gemini-cli/blob/main/docs/tools/mcp-server.md
不确定先连接哪个邮箱? 查看邮箱服务商兼容性对照表
在 Gemini CLI 设置中,httpUrl 表示 Streamable HTTP 服务器,本服务器正是这种类型。同一对象中的其他键会选择其他传输方式。从 Cursor 指南复制来的片段使用的是 url,在这里无法建立可用的 Streamable HTTP 连接。
不需要告诉 CLI 去哪里认证。未经认证的调用会收到一个 401,其 WWW-Authenticate 标头指向我们的受保护资源元数据,其中写明了授权服务器,而授权服务器的元数据又写明了注册、授权和令牌端点。正是这条链路,让你无需创建 client ID,除了 URL 之外也什么都不用粘贴。
浏览器授权流程需要浏览器。在构建代理或共享机器上,稳妥的做法是使用一个 bearer API 密钥,其权限范围精确限定为该自动化任务应做的事,并保存在环境变量中,而不是放在会被提交的设置文件里。
在 ~/.gemini/settings.json 的 mcpServers 下添加一个条目,将 httpUrl 设为 https://mcpemails.com/api/mcp 。首次连接时,CLI 会从服务器元数据中发现 OAuth 并打开浏览器授权流程。之后它就拥有了读取、搜索、发送、回复、转发、整理和定时发送邮件的工具。
httpUrl。在 Gemini CLI 设置中,这个键会选择 Streamable HTTP 传输方式,也就是本服务器使用的传输方式。从其他客户端复制 url 条目,是服务器出现在列表中却不提供任何工具的常见原因。
不是。Google 发布了一个 Workspace MCP 服务器,在其他服务之外也涵盖 Gmail;如果你只用 Gmail、并且完全在 Google 生态中工作,那是更直接的路径。MCPEmails 面向的是邮箱并非全部来自 Google、并且同一个 URL 还要在 Claude、Cursor 和 ChatGPT 中使用的情况。
Outlook.com 和 Microsoft 365 通过 Microsoft 登录(工作账户可能需要 IT 管理员批准一次该应用);Gmail、iCloud、Fastmail、Yahoo、Zoho 和 Yandex 使用应用专用密码;以及任何在标准端口上支持 IMAP 与 SMTP 的其他邮箱。客户端通过同一个连接看到所有邮箱:你的智能体会先调用 inbox_list 来发现每个已连接的邮箱及其 id,所以不需要在任何地方粘贴 UUID。
只有在你允许的情况下才会。发送受 send:email 权限范围控制,没有该权限的密钥或令牌根本无法发送。此外,收件箱所有者还可以在仪表盘中要求人工审批,届时每一次发送、回复、转发、草稿发送和定时发送都会被暂扣,直到有人放行。
不会。每封邮件都是为发起请求的那次调用从你的邮箱服务商实时获取,并直接交给你的客户端。我们只保存加密后的 OAuth 令牌或应用专用密码,以便后续调用能够完成认证。在仪表盘中删除该收件箱,或在邮箱服务商处撤销访问权限,连接会立即终止。