Gmail MCP 是一个实现了模型上下文协议(MCP)的 npm 包,主要用于与 Gmail API 进行交互。它提供了标准化接口,能帮助开发者更便捷地管理、发送和检索电子邮件。
根据不同的操作系统,将配置文件放置在相应的目录:
~/.config/gmail-mcp/config.json%APPDATA%/gmail-mcp/config.json示例配置文件内容如下:
{
"clientId": "your_client_id",
"clientSecret": "your_client_secret",
"refreshToken": "your_refresh_token"
}
在代码里初始化客户端时,要指定配置文件的路径与默认的收件箱:
import { GmailClient } from '@shinzolabs/gmail-mcp';
// 初始化 Gmail 客户端,默认使用 development 环境模式
const gmail = new GmailClient({
configFile: process.env.NODE_ENV === 'development' ? '~/.config/gmail-mcp/config.json' : undefined,
defaultInbox: 'INBOX'
});
// 连接 Gmail 服务
await gmail.connect();
可使用 npm 或 yarn 进行安装:
npm install @shinzolabs/gmail-mcp
# 或者
yarn add @shinzolabs/gmail-mcp
import { GmailClient } from '@shinzolabs/gmail-mcp';
// 初始化 Gmail 客户端,默认使用 development 环境模式
const gmail = new GmailClient({
configFile: process.env.NODE_ENV === 'development' ? '~/.config/gmail-mcp/config.json' : undefined,
defaultInbox: 'INBOX'
});
// 连接 Gmail 服务
await gmail.connect();
get_profile:获取当前用户的 Gmail 资料信息。stop_mail_watch:停止接收邮件推送通知。watch_mailbox:开启邮件箱变动的推送通知功能。list_messages:列出符合条件的消息。get_message:获取指定消息的具体内容。get_attachment:下载特定消息中的附件。modify_message:修改消息标签信息。send_message:向指定收件人发送电子邮件。delete_message:永久删除一条消息。trash_message:将消息移至废纸篓。untrash_message:从废纸篓中移除消息。batch_modify_messages:批量修改多条消息的标签。batch_delete_messages:批量删除多条消息。list_labels:列出所有现有标签。get_label:获取特定标签的详细信息。create_label:创建新的标签。update_label:更新标签配置信息。patch_label:部分更新标签信息(仅修改指定字段)。delete_label:删除一个标签。list_threads:列出所有邮件线程。get_thread:获取特定线程的详细内容。modify_thread:修改线程的相关属性。trash_thread:将整个线程移至废纸篓。untrash_thread:从废纸篓中恢复整个线程。list_inboxes:获取所有可用收件箱的列表。get_inbox:获取指定收件箱的详细信息。select_inbox:切换到指定的收件箱进行操作。create_inbox:创建新的收件箱(仅管理员可用)。delete_inbox:删除指定收件箱(仅管理员可用)。⚠️ 重要提示
- 环境变量设置:请确保在运行时通过环境变量提供 Gmail 的授权凭据。具体来说,需要设置以下变量:
GMAIL_CLIENT_ID:客户端 IDGMAIL_CLIENT_SECRET:客户端密钥GMAIL_REFRESH_TOKEN:刷新令牌
- 开发测试:在开发和测试环境中,请避免使用实际的生产账户。建议创建一个专门用于测试的 Gmail 账户。
文档未提及相关许可证信息,故此处不展示。
如遇任何问题或需要进一步的支持,请联系我们的团队:
感谢您使用 Gmail MCP!