谷歌工作区MCP服务器
一种模型上下文协议(MCP)服务器,提供与Gmail和日历API交互的工具。此服务器使您能够通过MCP界面以编程方式管理电子邮件和日历事件。
特性
Gmail工具
list_emails:使用可选过滤功能列出收件箱中最近的电子邮件search_emails:使用Gmail查询语法进行高级电子邮件搜索send_email:发送支持CC和BCC的新电子邮件modify_email:修改电子邮件标签(存档、垃圾箱、标记已读/未读)
日历工具
list_events:使用日期范围筛选列出即将发生的日历事件create_event:为与会者创建新的日历事件update_event:更新现有日历事件delete_event:删除日历事件
用户工具
list_contacts:列出Google联系人中的联系人get_user_info:获取用户信息
先决条件
- Node.js:安装Node.js版本14或更高版本
- Google API访问令牌:您需要一个有效的访问令牌才能使用Google API进行身份验证
安装说明
- 克隆并安装:
git clone https://github.com/yourusername/google-workspace-mcp-server.git
cd google-workspace-mcp-server
npm install- 构建并运行:
npm run build使用示例
所有操作都需要有效的 accessToken 参数。此令牌必须具有您正在执行的操作的适当OAuth作用域。
Gmail操作
- 列出最近的电子邮件:
{
"accessToken": "your_access_token",
"maxResults": 5,
"query": "is:unread"
}- 搜索电子邮件:
{
"accessToken": "your_access_token",
"query": "from:example@gmail.com has:attachment",
"maxResults": 10
}- 发送电子邮件:
{
"accessToken": "your_access_token",
"to": "recipient@example.com",
"subject": "Hello",
"body": "Message content",
"cc": "cc@example.com",
"bcc": "bcc@example.com"
}- 修改电子邮件:
{
"accessToken": "your_access_token",
"id": "message_id",
"addLabels": ["UNREAD"],
"removeLabels": ["INBOX"]
}日历操作
- 列出事件:
{
"accessToken": "your_access_token",
"maxResults": 10,
"daysBack": 7,
"daysForward": 30
}- 创建活动:
{
"accessToken": "your_access_token",
"summary": "Team Meeting",
"location": "Conference Room",
"description": "Weekly sync-up",
"start": "2024-01-24T10:00:00Z",
"end": "2024-01-24T11:00:00Z",
"attendees": ["colleague@example.com"],
"includeGoogleMeetDetails": true
}- 更新事件:
{
"accessToken": "your_access_token",
"eventId": "event_id",
"summary": "Updated Meeting Title",
"location": "Virtual",
"start": "2024-01-24T11:00:00Z",
"end": "2024-01-24T12:00:00Z"
}- 删除事件:
{
"accessToken": "your_access_token",
"eventId": "event_id"
}用户操作
- 列出联系人:
{
"accessToken": "your_access_token"
}- 获取用户信息:
{
"accessToken": "your_access_token"
}项目结构
本项目采用模块化结构:
src/index.ts:主要切入点src/server.ts:设置请求处理程序的服务器类src/tools/definitions.ts:MCP接口的工具定义src/handlers/email.ts:Gmail操作处理程序src/handlers/calendar.ts:日历操作处理程序src/handlers/user.ts:用户和联系人操作的处理程序
许可证
该项目根据MIT许可证获得许可。
