Servidor GAM MCP
Administración de Google Workspace a través de GAM CLI, preparado para Claude Desktop y Model Context Protocol (MCP).
Requisitos previos
- GAM: Instale y autentique GAM en su sistema
- Ejecuta
gam version
para verificar la instalación. - Ejecuta
gam oauth
create para autenticarte con Google Workspace.
- Ejecuta
- Node.js: v18 o posterior
Instalación
# Clonar o copiar este repositorio cd gam-mcp-server npm install npm run build
Ejecutar el servidor
GAM_PATH=/ruta/para/gam node dist/index.js
- O usa el
gam
por defecto en tu PATH.
Configuración del Escritorio Claude
Añade a tu claude_desktop_config.json
:
{ "mcpServers": { "gam-workspace": { "command": "node", "args": ["/absolute/path/to/gam-mcp-server/dist/index.js"], "env": {"GAM_PATH": "/ruta/a/gam" } } }
Herramientas disponibles
Gestión de usuarios
gam_list_users
: Listar usuarios (dominio, consulta, maxResults)gam_get_user
: Obtener detalles del usuario (email)gam_create_user
: Crear usuario (email, firstName, lastName, password, orgUnit)gam_update_user
: Actualizar usuario (email, actualizaciones)gam_suspend_user
/gam_unsuspend_user
: (email)gam_move_user_orgunit
: (email, orgUnitPath)
Gestión de grupos
gam_list_groups
: Listar grupos (dominio, maxResults)gam_get_group
: Obtener detalles del grupo (groupEmail)gam_create_group
: Crear grupo (groupEmail, groupName, description)gam_add_group_member
/gam_remove_group_member
: (groupEmail, memberEmail, role)
Unidades organizativas
gam_list_orgunits
: Listar OUsgam_move_user_orgunit
: Mover usuario entre OUs
Gestión de dominios
gam_get_domain_info
: Obtener información del dominio
Ejemplo de llamadas a herramientas MCP
Listar usuarios:
{ "method": "tools/call", "params": { "name": "gam_list_users", "arguments": { "maxResults": 10 } } }
Obtener usuario:
{ "method": "tools/call", "params": { "name": "gam_get_user", "arguments": { "email": "user@example.com" } } }
Crear grupo:
{ "method": "tools/call", "params": { "name": "gam_create_group", "arguments": { "groupEmail": "team@example.com", "groupName": "Team" } }
Solución de problemas
- GAM no encontrado: Establezca
GAM_PATH
o añadagam
a su PATH. - Errores de autenticación: Ejecuta
gam oauth create
. - Cuota/límite de velocidad: espera y vuelve a intentarlo; consulta Cuotas de la API de administración de Google.
- Validación de parámetros: Todas las entradas se validan; consulta los mensajes de error para obtener más información.
Consideraciones de seguridad
- Sólo se permiten los comandos GAM incluidos en la lista blanca.
- Todos los parámetros se validan y se limpian.
- No se permite la ejecución arbitraria de comandos.
- Los registros redactan datos confidenciales.
- La limitación de velocidad y la gestión de errores están integradas.
Ampliación de
Añade nuevas herramientas en src/tools/
y expórtalas en src/tools/index.ts
.
2024 Autores del Servidor GAM MCP