使用说明
谷歌聊天MCP服务器
MCP服务器,用于与Claude Code集成谷歌聊天。读写消息、管理空间,并通过自然语言与您的谷歌聊天对话进行交互。
特性
空间:列出、创建、更新、删除、设置成员 消息:列表、发送、回复、更新、删除 成员:列出、添加、更新角色、删除 反应:添加、列出、删除表情符号反应 活动和附件:查看空间事件和附件详细信息
快速开始
先决条件
- Node.js 18+
- 启用聊天API的谷歌云项目
- OAuth 2.0凭据
安装
-
获取Google OAuth凭据
- 首选 谷歌云控制台
- 创建新项目或选择现有项目
- 启用Google Chat API:
- 导航到“API和服务”>“库”
- 搜索“Google Chat API”
- 点击“启用”
- 配置OAuth同意屏幕(如果尚未完成):
- 转到“API和服务”>“OAuth同意屏幕”
- 选择“外部”用户类型,然后单击“创建”
- 填写必填字段(应用程序名称、用户支持电子邮件、开发人员电子邮件)
- 在范围和测试用户部分单击“保存并继续”
- 创建OAuth凭据:
- 转到“API和服务”>“凭据”
- 点击“创建凭据”>“OAuth客户端ID”
- 选择“桌面应用程序”作为应用程序类型
- 点击“创建”并下载JSON文件
- 另存为
credentials.json在该项目的根目录中
-
安装和构建
npm install npm run build -
验证
node scripts/authenticate.js这将打开您的浏览器进行谷歌登录并保存令牌。
-
添加到克劳德代码
claude mcp add-json gchat-mcp '{"command": "node", "args": ["/absolute/path/to/gchat-mcp/build/index.js"], "env": {}}'替换
/absolute/path/to/gchat-mcp与这个项目的实际路径。
用法
与Claude自然交谈:
- “显示我的所有谷歌聊天空间”
- “向空间/AAAAAAAAAAA发送一条消息,说‘团队好!’”
- “列出我的项目团队空间中的最新消息”
- “添加一个👍 对最后一条消息的反应”
- “这个空间的成员是谁?”
API 参考
Spaces (8 tools)
list_space
列出所有可访问的空间。
pageSize(可选):最大结果(默认值:100)filter(可选):例如。,'spaceType = "SPACE"'
get_space
获取空间详细信息。
spaceName(必填):例如。,'spaces/AAAAAAAAAAA'
create_space
创建一个新空间。
displayName(必填)spaceType(可选):'SPACE','GROUP_CHAT',或'DM'externalUserAllowed(可选):布尔值spaceThreadingState(可选):'THREADED_MESSAGES','GROUPED_MESSAGES',或'UNTHREADED_MESSAGES'
update_space
更新空间设置。
spaceName(必填)displayName(可选)spaceDetails(可选):描述文本
delete_space
删除空格。
spaceName(必填)
setup_space
在一个操作中创建空间和添加成员。
displayName(必填)memberEmails(必填):电子邮件地址数组
find_direct_message
查找用户的现有DM。
userName(必填):例如。,'users/USER_ID'
complete_import_space
完成空间导入。
spaceName(必填)
Messages (6 tools)
list_消息
在空间中列出邮件。
spaceName(必填)pageSize(可选):最大结果(默认值:50)
get_message
获取特定消息。
messageName(必填):例如。,'spaces/SPACE_ID/messages/MESSAGE_ID'
send_message
发送消息。
spaceName(必填)text(必填)threadKey(可选):线程标识符
回复_回复_消息
回复一条消息。
spaceName(必填)messageId(必填)text(必填)
update_message
编辑消息。
messageName(必填)text(必填)
删除消息
删除消息。
messageName(必填)
Members (5 tools)
list_members
列出空间成员。
spaceName(必填)pageSize(可选):最大结果(默认值:100)
get_member
获取会员详细信息。
memberName(必填):例如。,'spaces/SPACE_ID/members/MEMBER_ID'
create_member
添加成员。
spaceName(必填)memberName(必填):例如。,'users/USER_ID'role(可选):'ROLE_MEMBER'或'ROLE_MANAGER'(默认值:'ROLE_MEMBER')
update_member
更改成员角色。
memberName(必填)role(必填):'ROLE_MEMBER'或'ROLE_MANAGER'
delete_member
删除成员。
memberName(必填)
Reactions (3 tools)
create_reaction
添加表情符号反应。
messageName(必填)emoji(必填):例如。,'👍'或':thumbsup:'
list_reactions
列出消息中的所有反应。
messageName(必填)pageSize(可选):最大结果(默认值:100)
delete_reaction
消除反应。
reactionName(必填):例如。,'spaces/SPACE_ID/messages/MESSAGE_ID/reactions/REACTION_ID'
Attachments & Events (3 tools)
获取附件
获取附件详细信息。
attachmentName(必填):例如。,'spaces/SPACE_ID/messages/MESSAGE_ID/attachments/ATTACHMENT_ID'
get_space_event
获取事件详细信息。
eventName(必填):例如。,'spaces/SPACE_ID/spaceEvents/EVENT_ID'
list_space_events
列出空间事件。
spaceName(必填)pageSize(可选):最大结果(默认值:100)filter(可选):筛选表达式
故障排除
找不到令牌文件
运行: node scripts/authenticate.js
无效凭证
确保 credentials.json 来自启用了聊天API的谷歌云项目
范围更改后的身份验证错误
删除 token.json 并重新运行身份验证
API错误 验证Google Chat API是否已在您的Google Cloud项目中启用
安全
- 永不承诺
credentials.json或token.json到版本控制 - 两个文件都在
.gitignore默认情况下 - 将令牌视为密码-它们授予对您的Google聊天数据的完全访问权限
许可证
麻省理工学院