Connects Claude to Google Workspace Admin SDK for user, group, and organizational unit management through natural language. You get tools to list, create, suspend, and delete users, manage email aliases, add or remove group members, and move users between org units. Password resets generate secure credentials automatically. Built on Service Account authentication with domain-wide delegation, so you configure it once per workspace domain. If you're managing multiple Google Workspace tenants or handling repetitive admin tasks like onboarding batches of users, this turns conversational requests into direct Admin SDK calls without building your own integration layer.
🇮🇹 Italiano | 🇬🇧 English
Server MCP (Model Context Protocol) per gestire Google Workspace tramite Claude AI e altri assistenti compatibili. Permette di amministrare utenti, gruppi, alias e unità organizzative tramite conversazione naturale.
| Tool | Descrizione |
|---|---|
gw_list_users | Lista utenti con ricerca e filtri |
gw_get_user | Dettaglio completo di un utente |
gw_create_user | Crea nuovo utente con password auto-generata |
gw_delete_user | Elimina utente (con conferma obbligatoria) |
gw_suspend_user | Sospendi o riattiva un utente |
gw_reset_password | Reset password con generazione automatica |
gw_manage_alias | Aggiungi, rimuovi, elenca alias email |
gw_list_groups | Lista gruppi del dominio o di un utente |
gw_manage_group_member | Aggiungi/rimuovi membri dai gruppi |
gw_list_org_units | Lista unità organizzative |
gw_move_user_org | Sposta utente tra unità organizzative |
pip install google-workspace-mcp
Oppure da sorgente:
git clone https://github.com/aringad/google-workspace-mcp.git
cd google-workspace-mcp
pip install -r requirements.txt
mcp-workspace-admin)⚠️ Non serve assegnare ruoli IAM al Service Account. I permessi vengono dalla delega domain-wide.
https://www.googleapis.com/auth/admin.directory.user,https://www.googleapis.com/auth/admin.directory.group,https://www.googleapis.com/auth/admin.directory.orgunit,https://www.googleapis.com/auth/admin.directory.user.alias
| Variabile | Descrizione | Default |
|---|---|---|
GOOGLE_SERVICE_ACCOUNT_FILE | Path al file JSON delle credenziali | ./credentials.json |
GOOGLE_ADMIN_EMAIL | Email del super admin con delega | (obbligatorio) |
GOOGLE_CUSTOMER_ID | Customer ID del dominio | my_customer |
Aggiungi al file di configurazione:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": {
"google_workspace": {
"command": "/percorso/completo/google-workspace-mcp/venv/bin/python",
"args": ["/percorso/completo/google-workspace-mcp/server.py"],
"env": {
"GOOGLE_SERVICE_ACCOUNT_FILE": "/percorso/completo/credentials.json",
"GOOGLE_ADMIN_EMAIL": "admin@tuodominio.it"
}
}
}
}
Chiudi completamente Claude Desktop (Cmd+Q su Mac) e riaprilo.
Puoi gestire più domini aggiungendo istanze separate:
{
"mcpServers": {
"gw_cliente_alfa": {
"command": "/percorso/venv/bin/python",
"args": ["server.py"],
"env": {
"GOOGLE_SERVICE_ACCOUNT_FILE": "/percorso/credentials-alfa.json",
"GOOGLE_ADMIN_EMAIL": "admin@alfa.it"
}
},
"gw_cliente_beta": {
"command": "/percorso/venv/bin/python",
"args": ["server.py"],
"env": {
"GOOGLE_SERVICE_ACCOUNT_FILE": "/percorso/credentials-beta.json",
"GOOGLE_ADMIN_EMAIL": "admin@beta.it"
}
}
}
}
Una volta configurato, puoi dire a Claude:
Puoi anche copiare direttamente l'email del cliente con la richiesta e Claude interpreterà automaticamente le operazioni da eseguire.
# Verifica che il server parta
python server.py --help
# Test con MCP Inspector
npx @modelcontextprotocol/inspector python server.py
MCP (Model Context Protocol) Server to integrate Google Workspace Admin with Claude AI and other compatible assistants. Manage users, groups, aliases and organizational units through natural conversation.
| Tool | Description |
|---|---|
gw_list_users | List users with search and filters |
gw_get_user | Full user details |
gw_create_user | Create new user with auto-generated password |
gw_delete_user | Delete user (requires explicit confirmation) |
gw_suspend_user | Suspend or reactivate a user |
gw_reset_password | Reset password with automatic generation |
gw_manage_alias | Add, remove, list email aliases |
gw_list_groups | List domain or user groups |
gw_manage_group_member | Add/remove group members |
gw_list_org_units | List organizational units |
gw_move_user_org | Move user between organizational units |
pip install google-workspace-mcp
Or from source:
git clone https://github.com/aringad/google-workspace-mcp.git
cd google-workspace-mcp
pip install -r requirements.txt
mcp-workspace-admin)⚠️ No IAM roles needed on the Service Account. Permissions come from domain-wide delegation.
https://www.googleapis.com/auth/admin.directory.user,https://www.googleapis.com/auth/admin.directory.group,https://www.googleapis.com/auth/admin.directory.orgunit,https://www.googleapis.com/auth/admin.directory.user.alias
| Variable | Description | Default |
|---|---|---|
GOOGLE_SERVICE_ACCOUNT_FILE | Path to credentials JSON file | ./credentials.json |
GOOGLE_ADMIN_EMAIL | Super admin email with delegation | (required) |
GOOGLE_CUSTOMER_ID | Domain customer ID | my_customer |
Add to config file:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": {
"google_workspace": {
"command": "/full/path/to/google-workspace-mcp/venv/bin/python",
"args": ["/full/path/to/google-workspace-mcp/server.py"],
"env": {
"GOOGLE_SERVICE_ACCOUNT_FILE": "/full/path/to/credentials.json",
"GOOGLE_ADMIN_EMAIL": "admin@yourdomain.com"
}
}
}
}
Fully quit Claude Desktop (Cmd+Q on Mac) and reopen it.
Once configured, you can tell Claude:
You can also paste client emails with requests directly — Claude will automatically interpret the operations to perform.
# Verify server starts
python server.py --help
# Test with MCP Inspector
npx @modelcontextprotocol/inspector python server.py
MIT License — See LICENSE for details.
Developed by Mediaform s.c.r.l. — Genova, Italy
Built with MCP and Google Admin SDK
GOOGLE_SERVICE_ACCOUNT_FILE*secretPath to Service Account JSON credentials
GOOGLE_ADMIN_EMAIL*Super admin email with domain-wide delegation
GOOGLE_CUSTOMER_IDDomain customer ID (default: my_customer)