Serveur GAM MCP
Administration de l'espace de travail Google via GAM CLI, prêt pour Claude Desktop et Model Context Protocol (MCP).
Conditions préalables
- GAM: Installez et authentifiez GAM sur votre système
- Exécutez
gam version
pour vérifier l'installation. - Exécutez
gam oauth create
pour vous authentifier auprès de Google Workspace.
- Exécutez
- Node.js: v18 ou plus récent
Installation
# Cloner ou copier ce repo cd gam-mcp-server npm install npm run build
Exécution du serveur
GAM_PATH=/path/to/gam node dist/index.js
- Ou utilisez le
gam
par défaut dans votre PATH.
Configuration du bureau Claude
Ajoutez à votre fichier 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" } } }
Outils disponibles
Gestion des utilisateurs
gam_list_users
: Liste des utilisateurs (domaine, requête, maxResults)gam_get_user
: Obtenir les détails de l'utilisateur (email)gam_create_user
: Créer un utilisateur (email, firstName, lastName, password, orgUnit)gam_update_user
: Mise à jour de l'utilisateur (courriel, mises à jour)gam_suspend_user
/gam_unsuspend_user
: (email)gam_move_user_orgunit
: (email, orgUnitPath)
Gestion des groupes
gam_list_groups
: Liste des groupes (domaine, maxResults)gam_get_group
: Obtenir les détails d'un groupe (groupEmail)gam_create_group
: Créer un groupe (groupEmail, groupName, description)gam_add_group_member
/gam_remove_group_member
: (groupEmail, memberEmail, role)
Unités organisationnelles
gam_list_orgunits
: Liste des unités organisationnellesgam_move_user_orgunit
: Déplacer un utilisateur entre les OU
Gestion des domaines
gam_get_domain_info
: Obtenir des informations sur le domaine
Exemples d'appels d'outils MCP
Lister les utilisateurs :
{"method" : "tools/call", "params" : { "name" : "gam_list_users", "arguments" : { "maxResults" : 10 } } }
Obtenir un utilisateur :
{ "method" : "tools/call", "params" : { "name" : "gam_get_user", "arguments" : { "email" : "user@example.com" } } }
Créer un groupe :
{ "method" : "tools/call", "params" : { "name" : "gam_create_group", "arguments" : { "groupEmail" : "team@example.com", "groupName" : "Team" } }
Résolution des problèmes
- GAM introuvable: Définissez
GAM_PATH
ou ajoutezgam
à votre PATH. - Erreurs d'authentification: Exécutez
gam oauth create
. - Quota/limite de débit: attendez et réessayez ; voir les quotas de l'API d'administration de Google.
- Validation des paramètres: Toutes les entrées sont validées ; voir les messages d'erreur pour plus de détails.
Considérations relatives à la sécurité
- Seules les commandes GAM figurant sur la liste blanche sont autorisées.
- Tous les paramètres sont validés et assainis.
- Aucune exécution de commande arbitraire.
- Les journaux sont expurgés des données sensibles.
- La limitation du débit et la gestion des erreurs sont intégrées.
Extension
Ajoutez de nouveaux outils dans src/tools/
et exportez-les dans src/tools/index.ts.
© 2024 GAM MCP Server Auteurs