这是一个提供与 Gmail 和日历 API 交互工具的模型上下文协议(MCP)服务器。此服务器允许您通过 MCP 接口以编程方式管理您的电子邮件和日历事件。
list_emails: 列出收件箱中的最近邮件,可选过滤search_emails: 使用 Gmail 查询语法进行高级邮件搜索send_email: 发送新邮件,支持抄送(CC)和密送(BCC)modify_email: 修改邮件标签(归档、删除、标记已读/未读)list_events: 列出即将发生的日历事件,带日期范围过滤create_event: 创建带有参与者的新的日历事件update_event: 更新现有的日历事件delete_event: 删除日历事件http://localhost:4100/code要通过 Smithery 自动安装 gsuite-mcp:
npx -y @smithery/cli install @rishipradeep-think41/gsuite-mcp --client claude
克隆并安装:
git clone https://github.com/epaproditus/google-workspace-mcp-server.git
cd google-workspace-mcp-server
npm install
创建 OAuth 凭据:
在根目录中创建一个 credentials.json 文件:
{
"web": {
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET",
"redirect_uris": ["http://localhost:4100/code"],
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token"
}
}
获取刷新令牌:
node get-refresh-token.js
这将:
https://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/calendarhttps://www.googleapis.com/auth/gmail.sendtoken.json配置 MCP 设置: 将服务器配置添加到您的 MCP 设置文件中:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json~/Library/Application Support/Claude/claude_desktop_config.json在 mcpServers 对象中添加以下内容:
{
"mcpServers": {
"google-workspace": {
"command": "node",
"args": ["/path/to/google-workspace-server/build/index.js"],
"env": {
"GOOGLE_CLIENT_ID": "your_client_id",
"GOOGLE_CLIENT_SECRET": "your_client_secret",
"GOOGLE_REFRESH_TOKEN": "your_refresh_token"
}
}
}
}
构建并运行:
npm run build
列出最近的邮件:
{
"maxResults": 5,
"query": "is:unread"
}
搜索邮件:
{
"query": "from:example@gmail.com has:attachment",
"maxResults": 10
}
发送邮件:
{
"to": "recipient@example.com",
"subject": "Hello",
"body": "Message content",
"cc": "cc@example.com",
"bcc": "bcc@example.com"
}
修改邮件:
{
"id": "message_id",
"addLabels": ["UNREAD"],
"removeLabels": ["INBOX"]
}
列出事件:
{
"maxResults": 10,
"timeMin": "2024-01-01T00:00:00Z",
"timeMax": "2024-12-31T23:59:59Z"
}
创建事件:
{
"summary": "团队会议",
"location": "会议室",
"description": "每周同步",
"start": "2024-01-24T10:00:00Z",
"end": "2024-01-24T11:00:00Z",
"attendees": ["同事@example.com"]
}
更新事件:
{
"eventId": "event_id",
"summary": "更新会议标题",
"location": "虚拟",
"start": "2024-01-24T11:00:00Z",
"end": "2024-01-24T12:00:00Z"
}
删除事件:
{
"eventId": "event_id"
}
身份验证问题:
API 错误:
本项目根据 MIT 许可证发布。