要给 VS Code 里的 GitHub Copilot 一个邮箱,先创建 nicemails API 密钥,再在 mcp.json 里把 nicemails 添加为 HTTP 服务器,用 Authorization 请求头发送密钥。VS Code 只询问一次密钥并安全保存;之后 Copilot 就能读取、搜索、整理你的邮件,并在你批准后发信。
本指南使用 API 密钥。VS Code 的配置参考文档里,远程服务器的 OAuth 需要事先注册好的 client ID;nicemails 只通过自动注册发放 OAuth 客户端,没有固定的 client ID 可以给你,所以可靠的做法是把密钥作为请求头发送。
每台机器或每个工作区各建一个密钥,这样撤销其中一个不会影响其他。
.vscode/mcp.json。加入密钥输入项和 nicemails 服务器:{
"inputs": [
{
"type": "promptString",
"id": "nicemails-key",
"description": "nicemails API key",
"password": true
}
],
"servers": {
"nicemails": {
"type": "http",
"url": "https://nicemails.net/mcp",
"headers": {
"Authorization": "Bearer ${input:nicemails-key}"
}
}
}
}VS Code 的顶层键是 servers,不是其他客户端用的 mcpServers。它会先尝试 Streamable HTTP,nicemails 支持这种传输。
不要把密钥填进 MCP: Add Server 表单、聊天或共享文件,VS Code 文档对这三种做法都有提醒。用 inputs 之后,密钥不会出现在 mcp.json 里,工作区文件可以放心共享。
Copilot 能用密钥权限范围内的 nicemails 工具,共 8 个:
list_mailboxes:列出这个连接能用的邮箱。list_messages:列出某个邮箱一个文件夹里的邮件,最新的在前。search:搜索所选邮箱的所有文件夹,包括垃圾邮件。get_message:读取一封邮件,不会把它标为已读。create_mailbox:新建邮箱(需要「管理」权限,且连接不限定单个邮箱)。move 把邮件移到别的文件夹;flag 把邮件标为已读、未读、星标或已回复。send_message:从你的某个邮箱发信(需要「发信」权限;新收件人要你先批准)。例如:「在 billing-test 邮箱里找支付服务商沙箱发来的最新邮件,告诉我它提到了哪个 webhook」,或者「把 builds 邮箱里 CI 通知的邮件全部标为已读」。
检查 JSON:顶层键必须是 servers,type 必须是 http,${input:nicemails-key} 里的 id 要和 inputs 里的 id 一致。运行 MCP: List Servers 查看服务器和可执行的操作。
密钥错误、已被撤销,或粘贴时带了多余空格。新建一个密钥,然后把两处的输入 id 一起改掉,比如改成 nicemails-key-2,VS Code 就会询问新的值。
VS Code 配置参考里的 OAuth 需要事先注册的 client ID。nicemails 只通过自动注册发放 client ID,所以本指南不介绍 VS Code 的 OAuth 配置,请使用密钥。