dbarks/mcp-gam
If you are the rightful owner of mcp-gam and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
GAM MCP Server facilitates Google Workspace administration via the GAM CLI, integrating with Claude Desktop and Model Context Protocol (MCP) for streamlined management.
gam_list_users
List users with options for domain, query, and maxResults.
gam_get_user
Retrieve details of a specific user by email.
gam_create_user
Create a new user with specified details.
gam_update_user
Update user information based on provided updates.
gam_suspend_user
Suspend a user by email.
GAM MCP Server
Google Workspace administration via GAM CLI, ready for Claude Desktop and Model Context Protocol (MCP).
Prerequisites
- GAM: Install and authenticate GAM on your system.
- Run
gam version
to verify installation. - Run
gam oauth create
to authenticate with Google Workspace.
- Run
- Node.js: v18 or newer
Installation
# Clone or copy this repo
cd gam-mcp-server
npm install
npm run build
Running the Server
GAM_PATH=/path/to/gam node dist/index.js
- Or use the default
gam
in your PATH.
Claude Desktop Configuration
Add to your 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"
}
}
}
}
Available Tools
User Management
gam_list_users
: List users (domain, query, maxResults)gam_get_user
: Get user details (email)gam_create_user
: Create user (email, firstName, lastName, password, orgUnit)gam_update_user
: Update user (email, updates)gam_suspend_user
/gam_unsuspend_user
: (email)gam_move_user_orgunit
: (email, orgUnitPath)
Group Management
gam_list_groups
: List groups (domain, maxResults)gam_get_group
: Get group details (groupEmail)gam_create_group
: Create group (groupEmail, groupName, description)gam_add_group_member
/gam_remove_group_member
: (groupEmail, memberEmail, role)
Organizational Units
gam_list_orgunits
: List OUsgam_move_user_orgunit
: Move user between OUs
Domain Management
gam_get_domain_info
: Get domain info
Example MCP Tool Calls
List users:
{
"method": "tools/call",
"params": {
"name": "gam_list_users",
"arguments": { "maxResults": 10 }
}
}
Get user:
{
"method": "tools/call",
"params": {
"name": "gam_get_user",
"arguments": { "email": "user@example.com" }
}
}
Create group:
{
"method": "tools/call",
"params": {
"name": "gam_create_group",
"arguments": { "groupEmail": "team@example.com", "groupName": "Team" }
}
}
Troubleshooting
- GAM not found: Set
GAM_PATH
or addgam
to your PATH. - Authentication errors: Run
gam oauth create
. - Quota/rate limit: Wait and retry; see Google Admin API quotas.
- Parameter validation: All inputs are validated; see error messages for details.
Security Considerations
- Only whitelisted GAM commands are allowed.
- All parameters are validated and sanitized.
- No arbitrary command execution.
- Logs redact sensitive data.
- Rate limiting and error handling are built-in.
Extending
Add new tools in src/tools/
and export them in src/tools/index.ts
.
© 2024 GAM MCP Server Authors