GAM MCP服务器
通过GAM CLI管理谷歌工作区,已准备好使用克劳德桌面和模型上下文协议(MCP)。
先决条件
- 广义可加模型:安装并验证 广义可加模型 在您的系统上。
- 跑 gam version 以验证安装。 - 跑 gam oauth create 通过Google Workspace进行身份验证。
- Node.js:v18或更新版本
安装
# Clone or copy this repo
cd gam-mcp-server
npm install
npm run build运行服务器
GAM_PATH=/path/to/gam node dist/index.js- 或使用默认值
gam在你的路径。
Claude桌面配置
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"gam-workspace": {
"command": "node",
"args": ["/absolute/path/to/gam-mcp-server/dist/index.js"],
"env": {
"GAM_PATH": "/path/to/gam"
}
}
}
}可用工具
用户管理
gam_list_users:列出用户(域、查询、maxResults)gam_get_user:获取用户详细信息(电子邮件)gam_create_user:创建用户(电子邮件、名字、姓氏、密码、orgUnit)gam_update_user:更新用户(电子邮件、更新)gam_suspend_user/gam_unsuspend_user:(电子邮件)gam_move_user_orgunit:(电子邮件,orgUnitPath)
组管理
gam_list_groups:列出组(域,maxResults)gam_get_group:获取组详细信息(groupEmail)gam_create_group:创建组(组电子邮件、组名称、描述)gam_add_group_member/gam_remove_group_member:(组电子邮件、成员电子邮件、角色)
组织单位
gam_list_orgunits列表 OUsgam_move_user_orgunit:在OU之间移动用户
域管理
gam_get_domain_info:获取域信息
MCP工具调用示例
列出用户:
{
"method": "tools/call",
"params": {
"name": "gam_list_users",
"arguments": { "maxResults": 10 }
}
}获取用户:
{
"method": "tools/call",
"params": {
"name": "gam_get_user",
"arguments": { "email": "user@example.com" }
}
}创建组:
{
"method": "tools/call",
"params": {
"name": "gam_create_group",
"arguments": { "groupEmail": "team@example.com", "groupName": "Team" }
}
}故障排除
- 找不到GAM:设置
GAM_PATH或添加gam到你的路径。 - 身份验证错误:运行
gam oauth create. - 配额/费率限制:等待并重试;请参阅Google管理员API配额。
- 参数验证:所有输入都经过验证;有关详细信息,请参阅错误消息。
安全考虑
- 只允许使用列入白名单的GAM命令。
- 所有参数都经过验证和消毒。
- 没有任意命令执行。
- 日志会编辑敏感数据。
- 内置速率限制和错误处理功能。
延伸
在中添加新工具 src/tools/ 并将其导出 src/tools/index.ts.
______________________________________________________________________
©2024 GAM MCP服务器作者
