使用说明
谷歌MCP服务器
一种模型上下文协议(MCP)服务器,提供与谷歌服务的完全集成,包括Gmail、谷歌云端硬盘和具有读写功能的谷歌日历。
特性
-
Gmail集成
- 发送支持CC、BCC和HTML内容的电子邮件
- 完全希伯来语/RTL语言支持,自动格式化
-
Google Drive集成
- 将文件上传到驱动器
- 列出具有搜索功能的文件
- 删除文件
-
谷歌日历集成
- 为与会者创建日历事件
- 使用时间范围筛选列出事件
- 更新现有事件
安装说明
1.谷歌云控制台设置
-
创建谷歌云项目
- 首选 谷歌云控制台
- 点击“创建项目”或选择一个现有项目
- 记下您的项目ID
-
启用所需的API
- 在云控制台中,转到“APIs和服务”>“启用API和服务”
- 搜索并启用这些API:
- Gmail API
- Google Drive API
- 谷歌日历API
-
创建OAuth2凭据
- 转到“API和服务”>“凭据”
- 点击“创建凭据”>“OAuth客户端ID”
- 如果出现提示,请配置OAuth同意屏幕:
- 为用户类型选择“外部”
- 填写必填字段(应用程序名称、用户支持电子邮件、开发人员联系方式)
- 添加作用域:
https://www.googleapis.com/auth/gmail.sendhttps://www.googleapis.com/auth/drive.filehttps://www.googleapis.com/auth/calendar
- 将您的电子邮件添加为测试用户
- 对于应用程序类型,选择“桌面应用程序”
- 下载凭据JSON文件
- 将其重命名为
credentials.json并将其放置在项目根目录中
2.本地设置
-
安装依赖项
npm install -
配置环境
- 复制
.env.example向.env - 从下载的JSON文件中填写您的Google OAuth2凭据:
GOOGLE_CLIENT_ID=your_client_id GOOGLE_CLIENT_SECRET=your_client_secret
- 复制
-
构建项目
npm run build
3.身份验证
首次运行时,服务器将:
- 打开默认浏览器进行谷歌身份验证
- 要求您登录并授权该应用程序
- 将身份验证令牌保存在本地
tokens.json
使用MCP客户端
配置您的MCP客户端
将此服务器添加到您的MCP客户端配置中(例如,Claude Desktop):
{
"mcpServers": {
"google": {
"command": "node",
"args": ["/path/to/google-mcp-integration/dist/index.js"],
"env": {
"GOOGLE_CLIENT_ID": "your_client_id",
"GOOGLE_CLIENT_SECRET": "your_client_secret"
}
}
}
}
可用工具
Gmail工具
-
gmail_send:发送电子邮件
Parameters: - to: Recipient email address - subject: Email subject - body: Email body - cc: (optional) CC recipients - bcc: (optional) BCC recipients - isHtml: (optional) Whether body is HTML希伯来语/RTL支持:服务器会自动检测希伯来语内容并应用适当的RTL格式。发送希伯来语电子邮件时,内容会用
dir="rtl"以及右对齐的样式,以实现正确的显示。
驱动工具
-
drive_upload:将文件上传到Google Drive
Parameters: - fileName: Name of the file - content: File content - mimeType: (optional) MIME type - folderId: (optional) Parent folder ID -
drive_list:列出驱动器中的文件
Parameters: - query: (optional) Search query - pageSize: (optional) Number of results -
drive_delete:删除文件
Parameters: - fileId: ID of file to delete
日历工具
-
日历创建事件:创建日历事件
Parameters: - summary: Event title - description: Event description - startTime: Start time (ISO 8601) - endTime: End time (ISO 8601) - attendees: (optional) List of email addresses - location: (optional) Event location - calendarId: (optional) Calendar ID (default: primary) -
日历列表事件:列出日历事件
Parameters: - calendarId: (optional) Calendar ID - maxResults: (optional) Maximum results - timeMin: (optional) Start of time range - timeMax: (optional) End of time range -
日历更新事件:更新事件
Parameters: - eventId: Event ID to update - calendarId: (optional) Calendar ID - summary: (optional) New title - description: (optional) New description - startTime: (optional) New start time - endTime: (optional) New end time - location: (optional) New location
身份验证工具
- auth_status:检查身份验证状态
发展
# Run in development mode with hot reload
npm run dev
# Build for production
npm run build
# Run production build
npm start
安全说明
- 这
credentials.json文件包含敏感的OAuth2凭据-切勿将其提交到版本控制 - 这
tokens.json文件包含访问令牌-确保其安全 - 这
.env文件包含敏感数据-切勿提交 - 在设置OAuth作用域时使用最小权限原则
故障排除
-
身份验证问题
- 删除
tokens.json并重新验证 - 确保您的Google Cloud项目已启用所需的API
- 检查您的OAuth同意屏幕是否配置正确
- 删除
-
权限错误
- 验证您的OAuth范围
.env文件 - 确保您的Google帐户可以访问您尝试访问的资源
- 验证您的OAuth范围
-
API配额限制
- Google API有使用配额
- 在Google Cloud控制台中检查您的配额使用情况
许可证
麻省理工学院