GAM MCP Server

Administre o Google Workspace usando a ferramenta de linha de comando GAM.

Documentação

GAM MCP Server

Administração do Google Workspace via GAM CLI, pronto para Claude Desktop e Model Context Protocol (MCP).

Pré-requisitos

  • GAM: Instale e autentique o GAM no seu sistema.
    • Execute gam version para verificar a instalação.
    • Execute gam oauth create para autenticar com o Google Workspace.
  • Node.js: v18 ou mais recente

Instalação

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

Executando o Servidor

GAM_PATH=/path/to/gam node dist/index.js
  • Ou use o gam padrão no seu PATH.

Configuração do Claude Desktop

Adicione ao seu 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"
      }
    }
  }
}

Ferramentas Disponíveis

Gerenciamento de Usuários

  • gam_list_users: Listar usuários (domain, query, maxResults)
  • gam_get_user: Obter detalhes do usuário (email)
  • gam_create_user: Criar usuário (email, firstName, lastName, password, orgUnit)
  • gam_update_user: Atualizar usuário (email, updates)
  • gam_suspend_user / gam_unsuspend_user: (email)
  • gam_move_user_orgunit: (email, orgUnitPath)

Gerenciamento de Grupos

  • gam_list_groups: Listar grupos (domain, maxResults)
  • gam_get_group: Obter detalhes do grupo (groupEmail)
  • gam_create_group: Criar grupo (groupEmail, groupName, description)
  • gam_add_group_member / gam_remove_group_member: (groupEmail, memberEmail, role)

Unidades Organizacionais

  • gam_list_orgunits: Listar UOs
  • gam_move_user_orgunit: Mover usuário entre UOs

Gerenciamento de Domínio

  • gam_get_domain_info: Obter informações do domínio

Exemplos de Chamadas de Ferramentas MCP

Listar usuários:

{
  "method": "tools/call",
  "params": {
    "name": "gam_list_users",
    "arguments": { "maxResults": 10 }
  }
}

Obter usuário:

{
  "method": "tools/call",
  "params": {
    "name": "gam_get_user",
    "arguments": { "email": "user@example.com" }
  }
}

Criar grupo:

{
  "method": "tools/call",
  "params": {
    "name": "gam_create_group",
    "arguments": { "groupEmail": "team@example.com", "groupName": "Team" }
  }
}

Solução de Problemas

  • GAM não encontrado: Defina GAM_PATH ou adicione gam ao seu PATH.
  • Erros de autenticação: Execute gam oauth create.
  • Cota/limite de taxa: Aguarde e tente novamente; consulte as cotas da Google Admin API.
  • Validação de parâmetros: Todas as entradas são validadas; consulte as mensagens de erro para obter detalhes.

Considerações de Segurança

  • Apenas comandos GAM na lista de permissões são permitidos.
  • Todos os parâmetros são validados e sanitizados.
  • Nenhuma execução arbitrária de comandos.
  • Os logs ocultam dados sensíveis.
  • Limitação de taxa e tratamento de erros são integrados.

Extensão

Adicione novas ferramentas em src/tools/ e exporte-as em src/tools/index.ts.


© 2024 GAM MCP Server Authors