article
README
🚀 Google 工作区 MCP 服务器
Google 工作区 MCP 服务器是一个基于 Model Context Protocol (MCP) 的服务器,它提供了与 Gmail 和日历 API 相互操作的工具。借助 MCP 接口,你可以对电子邮件和日历事件进行程序化管理,极大地提高工作效率。
✨ 主要特性
Gmail 工具
list_emails:列出收件箱中的近期邮件,支持可选过滤,让你快速定位所需邮件。search_emails:使用 Gmail 查询语法进行高级邮件搜索,满足复杂的搜索需求。send_email:发送新邮件,支持 CC 和 BCC,方便与多人沟通。modify_email:修改电子邮件标签(存档、删除、标记为已读/未读),轻松管理邮件状态。
日历工具
list_events:列出即将进行的日历事件,支持日期范围过滤,合理规划日程。create_event:创建新的日历事件并添加参与者,高效组织会议。update_event:更新现有日历事件,确保日程信息的准确性。delete_event:删除日历事件,灵活调整日程安排。
📦 安装指南
先决条件
- Node.js:安装 Node.js 14 或更高版本。
- Google Cloud Console 设置:
- 访问 Google Cloud Console。
- 创建新项目或选择现有项目。
- 启用 Gmail API 和 Google Calendar API:
- 转到 "APIs & Services" > "Library"。
- 搜索并启用 "Gmail API"。
- 搜索并启用 "Google Calendar API"。
- 设置 OAuth 2.0 客户端 ID:
- 转到 Google Cloud Console。
- 选择你的项目。
- 转到 "APIs & Services" > "OAuth 2.0 Client IDs"。
- 添加一个新的 OAuth 2.0 客户端 ID,指定名称和允许的重定向 URI(例如:
http://localhost:3000)。
设置步骤
- 克隆仓库:
git clone https://github.com/your-username/google-workspace-mcp.git cd google-workspace-mcp - 安装依赖项:
npm install - 配置环境变量:
- 创建一个
.env文件(如果尚未创建)。 - 添加以下内容,将
YOUR_CLIENT_ID和YOUR_CLIENT_SECRET替换为你从 Google Cloud Console 获取的值:CLIENT_ID=your_client_id CLIENT_SECRET=your_client_secret REDIRECT_URI=http://localhost:3000
- 创建一个
- 运行服务器:
npm start
💻 使用示例
Gmail 示例
基础用法
// 列出近期邮件
const response = await fetch('http://localhost:3000/api/gmail/list_emails');
const data = await response.json();
console.log(data);
高级用法
// 搜索特定内容的邮件
const requestBody = {
query: 'subject:meeting',
maxResults: 10
};
const response = await fetch('http://localhost:3000/api/gmail/search_emails', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(requestBody)
});
const data = await response.json();
console.log(data);
日历示例
基础用法
// 列出即将进行的事件
const requestBody = {
timeMin: '2024-01-01T00:00:00Z',
timeMax: '2024-12-31T23:59:59Z',
maxResults: 10
};
const response = await fetch('http://localhost:3000/api/calendar/list_events', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(requestBody)
});
const data = await response.json();
console.log(data);
📚 详细文档
故障排除
- 身份验证问题:
- 确保所有必需的 OAuth 作用域已授予。
- 验证客户端 ID 和密钥是否正确。
- 检查刷新令牌是否有效。
- API 错误:
- 在 Google Cloud Console 中检查 API 配额和限制。
- 确保项目上启用了所有必要的 API。
- 确认请求参数符合要求的格式。
📄 许可证
此项目在 MIT License 下发行。
微信扫一扫