GAM MCP Server

Administra Google Workspace usando la herramienta de línea de comandos GAM.

Documentación

GAM MCP Server

Administración de Google Workspace mediante GAM CLI, listo para Claude Desktop y Model Context Protocol (MCP).

Requisitos previos

  • GAM: Instala y autentica GAM en tu sistema.
    • Ejecuta gam version para verificar la instalación.
    • Ejecuta gam oauth create para autenticarte con Google Workspace.
  • Node.js: v18 o superior

Instalación

# Clone or copy this repo
cd gam-mcp-server
npm install
npm run build

Ejecutar el servidor

GAM_PATH=/path/to/gam node dist/index.js
  • O usa el gam predeterminado en tu PATH.

Configuración de Claude Desktop

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": "/path/to/gam"
      }
    }
  }
}

Herramientas disponibles

Gestión de usuarios

  • gam_list_users: Listar usuarios (domain, query, 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, updates)
  • gam_suspend_user / gam_unsuspend_user: (email)
  • gam_move_user_orgunit: (email, orgUnitPath)

Gestión de grupos

  • gam_list_groups: Listar grupos (domain, 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 OUs
  • gam_move_user_orgunit: Mover usuario entre OUs

Gestión de dominios

  • gam_get_domain_info: Obtener información del dominio

Ejemplos 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: Establece GAM_PATH o añade gam a tu PATH.
  • Errores de autenticación: Ejecuta gam oauth create.
  • Límite de cuota/tasa: Espera y reintenta; consulta las cuotas de la API de Google Admin.
  • Validación de parámetros: Todas las entradas se validan; consulta los mensajes de error para más detalles.

Consideraciones de seguridad

  • Solo se permiten comandos GAM en la lista blanca.
  • Todos los parámetros se validan y sanean.
  • No se permite la ejecución arbitraria de comandos.
  • Los registros redactan datos sensibles.
  • La limitación de tasa y el manejo de errores están integrados.

Extensión

Añade nuevas herramientas en src/tools/ y expórtalas en src/tools/index.ts.


© 2024 GAM MCP Server Authors