article
README
🚀 模型上下文协议谷歌工作区服务器
本项目实现了与谷歌工作区的交互功能,可用于管理谷歌账户、处理邮件和日历等操作,为开发者提供便捷的服务器端解决方案。
🚀 快速开始
本项目提供了与谷歌工作区交互的功能,以下是快速启动项目的步骤。
📦 安装指南
通过运行以下命令安装项目依赖:
npm install
💻 使用示例
基础用法
启动服务
运行以下命令以启动服务器:
npm start
可选参数:
--gauth-file:指定OAuth2凭证文件路径(默认为./.gauth.json)--accounts-file:指定账户配置文件路径(默认为./.accounts.json)--credentials-dir:指定存储OAuth凭证的目录(默认为当前目录)
示例:
npm start -- --gauth-file ./config/gauth.json --accounts-file ./config/accounts.json
高级用法
可用工具
账户管理
- 列出所有配置的谷歌账户
- 命令:
gmail_list_accounts或calendar_list_accounts - 功能:显示所有已配置的谷歌账户信息,包括账户元数据和描述
- 无用户ID要求
- 命令:
邮件功能工具
- 搜索邮件
- 命令:
gmail_query_emails - 功能:使用Gmail的查询语法搜索邮件(例如:'is:unread', 'from:example@gmail.com', 'newer_than:2d', 'has:attachment')
- 返回按逆时间顺序排列的邮件列表,包含元数据和内容摘要
- 命令:
- 获取邮件
- 命令:
gmail_get_email - 功能:通过ID获取完整的邮件内容,包括正文和附件信息
- 命令:
- 批量获取邮件
- 命令:
gmail_bulk_get_emails - 功能:一次性获取多个邮件的完整内容,适合批量处理
- 命令:
- 创建草稿
- 命令:
gmail_create_draft - 功能:新建邮件草稿
- 支持Cc收件人
- 命令:
- 删除草稿
- 命令:
gmail_delete_draft - 功能:通过ID删除草稿邮件
- 命令:
- 回复邮件
- 命令:
gmail_reply - 功能:回复现有邮件
- 选项:立即发送或保存为草稿
- 支持Cc(所有收件人)
- 命令:
- 获取附件
- 命令:
gmail_get_attachment - 功能:下载邮件附件
- 选项:保存到本地磁盘或作为嵌入资源返回
- 命令:
- 批量保存附件
- 命令:
gmail_bulk_save_attachments - 功能:一次性保存多个附件
- 命令:
- 存档邮件
- 命令:
gmail_archive或gmail_bulk_archive - 功能:将邮件移出收件箱
- 支持单个或批量操作
- 命令:
日历功能工具
- 列出日历
- 命令:
calendar_list - 功能:显示所有可访问的日历
- 包含日历元数据、访问权限和时区信息
- 命令:
- 获取事件
- 命令:
calendar_get_events - 功能:在指定日期范围内获取事件
- 支持多个日历
- 过滤选项(删除的事件、最大结果数)
- 时区自定义
- 命令:
- 创建事件
- 命令:
calendar_create_event - 功能:新建日历事件
- 支持参与者和提醒
- 支持位置和描述字段
- 时区处理
- 命令:
- 删除事件
- 命令:
calendar_delete_event - 功能:通过ID删除事件
- 选项:立即发送或保存为草稿
- 支持Cc(所有收件人)
- 命令:
📚 详细文档
项目结构
src/
├── main.ts # 主程序入口
├── config/ # 配置文件夹
│ ├── gauth.json
│ └── accounts.json
└── utils/ # 工具函数
├── gmail-service.ts
└── calendar-service.ts
开发命令
# 启动开发服务器
npm run dev
# 构建项目
npm run build
# 运行测试
npm test
📄 许可证
本项目使用MIT许可证,具体请参见LICENSE文件。
Scan to contact