GSuite

Interaja com produtos Google, incluindo Gmail e Calendar.

Documentação

Servidor MCP mcp-gsuite

smithery badge Servidor MCP para interagir com produtos Google.

Exemplos de prompts

Atualmente, este servidor MCP oferece suporte à integração com Gmail e Google Agenda, com os seguintes recursos:

  1. Geral
  • Múltiplas contas Google
  1. Gmail
  • Obter informações do usuário do Gmail
  • Consultar e-mails com pesquisa flexível (ex.: não lidos, de remetentes específicos, intervalos de datas, com anexos)
  • Recuperar conteúdo completo de e-mail por ID
  • Criar novos rascunhos de e-mail com destinatários, assunto, corpo e opções de cópia (CC)
  • Excluir rascunhos de e-mail
  • Responder a e-mails existentes (pode enviar imediatamente ou salvar como rascunho)
  • Recuperar vários e-mails de uma vez por seus IDs
  • Salvar vários anexos de e-mails no seu sistema local
  1. Google Agenda
  • Gerenciar múltiplas agendas
  • Obter eventos da agenda em intervalos de tempo especificados
  • Criar eventos na agenda com:
    • Título, horários de início/término
    • Local e descrição opcionais
    • Participantes opcionais
    • Suporte a fuso horário personalizado
    • Preferências de notificação
  • Excluir eventos da agenda

Exemplos de prompts que você pode testar:

  • Recupere minhas mensagens não lidas mais recentes

  • Pesquise meus e-mails do Scrum Master

  • Recupere todos os e-mails do setor de contabilidade

  • Pegue o e-mail sobre ABC e resuma-o

  • Escreva uma resposta educada ao último e-mail da Alice e envie um rascunho

  • Responda ao e-mail do Bob com uma nota de agradecimento. Salve como rascunho

  • O que tenho na minha agenda para amanhã?

  • Verifique a agenda da Família da minha conta privada para a próxima semana

  • Preciso planejar um evento com o Tim por 2 horas na próxima semana. Sugira alguns horários.

Início rápido

Instalação

Instalando via Smithery

Para instalar o mcp-gsuite para Claude Desktop automaticamente via Smithery:

npx -y @smithery/cli install mcp-gsuite --client claude

OAuth 2

As APIs do Google Workspace (G Suite) exigem autorização OAuth2. Siga estas etapas para configurar a autenticação:

  1. Criar credenciais OAuth2:

    • Acesse o Google Cloud Console
    • Crie um novo projeto ou selecione um existente
    • Ative a API Gmail e a API Google Agenda para o seu projeto
    • Vá para "Credenciais" → "Criar credenciais" → "ID do cliente OAuth"
    • Selecione "Aplicativo de desktop" ou "Aplicativo web" como tipo de aplicativo
    • Configure a tela de consentimento OAuth com as informações necessárias
    • Adicione URIs de redirecionamento autorizados (inclua http://localhost:4100/code para desenvolvimento local)
  2. Escopos OAuth2 necessários:

   [
     "openid",
     "https://mail.google.com/",
     "https://www.googleapis.com/auth/calendar",
     "https://www.googleapis.com/auth/userinfo.email"
   ]
  1. Em seguida, crie um .gauth.json no seu diretório de trabalho com o cliente
{
    "web": {
        "client_id": "$your_client_id",
        "client_secret": "$your_client_secret",
        "redirect_uris": ["http://localhost:4100/code"],
        "auth_uri": "https://accounts.google.com/o/oauth2/auth",
        "token_uri": "https://oauth2.googleapis.com/token"
    }
}
  1. Crie um arquivo .accounts.json com as informações da conta
{
    "accounts": [
        {
            "email": "alice@bob.com",
            "account_type": "personal",
            "extra_info": "Additional info that you want to tell Claude: E.g. 'Contains Family Calendar'"
        }
    ]
}

Você pode especificar múltiplas contas. Certifique-se de que elas tenham acesso no seu aplicativo Google Auth. O campo extra_info é especialmente interessante, pois você pode adicionar informações aqui que deseja informar à IA sobre a conta (ex.: se ela tem uma agenda específica)

Observação: Quando você executar pela primeira vez uma das ferramentas para uma conta específica, um navegador será aberto, redirecionando você ao Google e solicitando suas credenciais, escopos, etc. Após um login bem-sucedido, as credenciais são armazenadas em um arquivo local chamado .oauth.{email}.json. Depois de autorizado, o token de atualização será usado.

Claude Desktop

No MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json

No Windows: %APPDATA%/Claude/claude_desktop_config.json

Configuração de Servidores Não Publicados/Desenvolvimento
{
  "mcpServers": {
    "mcp-gsuite": {
      "command": "uv",
      "args": [
        "--directory",
        "<dir_to>/mcp-gsuite",
        "run",
        "mcp-gsuite"
      ]
    }
  }
}

Observação: Você também pode usar o uv run mcp-gsuite --accounts-file /path/to/custom/.accounts.json para especificar um arquivo de contas diferente ou --credentials-dir /path/to/custom/credentials para especificar um diretório de credenciais diferente.

{
  "mcpServers": {
    "mcp-gsuite": {
      "command": "uv",
      "args": [
        "--directory",
        "<dir_to>/mcp-gsuite",
        "run",
        "mcp-gsuite",
        "--accounts-file",
        "/path/to/custom/.accounts.json",
        "--credentials-dir",
        "/path/to/custom/credentials"
      ]
    }
  }
}
Configuração de Servidores Publicados
{
  "mcpServers": {
    "mcp-gsuite": {
      "command": "uvx",
      "args": [
        "mcp-gsuite",
        "--accounts-file",
        "/path/to/custom/.accounts.json",
        "--credentials-dir",
        "/path/to/custom/credentials"
      ]
    }
  }
}

Opções de Configuração

O servidor MCP pode ser configurado com várias opções de linha de comando para especificar caminhos personalizados para autenticação e informações de conta:

  • --gauth-file: Especifica o caminho para o arquivo .gauth.json contendo a configuração do cliente OAuth2. O padrão é ./.gauth.json.
  • --accounts-file: Especifica o caminho para o arquivo .accounts.json contendo informações sobre as contas Google. O padrão é ./.accounts.json.
  • --credentials-dir: Especifica o diretório onde as credenciais OAuth são armazenadas após autenticação bem-sucedida. O padrão é o diretório de trabalho atual com um subdiretório para cada conta como .oauth.{email}.json.

Essas opções permitem flexibilidade no gerenciamento de diferentes ambientes ou múltiplos conjuntos de credenciais e contas, especialmente úteis em cenários de desenvolvimento e teste.

Exemplo de uso:

uv run mcp-gsuite --gauth-file /path/to/custom/.gauth.json --accounts-file /path/to/custom/.accounts.json --credentials-dir /path/to/custom/credentials

Esta configuração é particularmente útil quando você tem múltiplas instâncias do servidor em execução com configurações diferentes ou ao implantar em ambientes onde os caminhos padrão não são adequados.

Desenvolvimento

Compilação e Publicação

Para preparar o pacote para distribuição:

  1. Sincronize as dependências e atualize o arquivo de bloqueio:
uv sync
  1. Compile as distribuições do pacote:
uv build

Isso criará distribuições de origem e wheel no diretório dist/.

  1. Publique no PyPI:
uv publish

Observação: Você precisará definir as credenciais do PyPI via variáveis de ambiente ou flags de comando:

  • Token: --token ou UV_PUBLISH_TOKEN
  • Ou nome de usuário/senha: --username/UV_PUBLISH_USERNAME e --password/UV_PUBLISH_PASSWORD

Depuração

Como os servidores MCP são executados via stdio, a depuração pode ser desafiadora. Para a melhor experiência de depuração, recomendamos fortemente o uso do MCP Inspector.

Você pode iniciar o MCP Inspector via npm com este comando:

npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-gsuite run mcp-gsuite

Ao iniciar, o Inspector exibirá uma URL que você pode acessar no seu navegador para começar a depurar.

Você também pode observar os logs do servidor com este comando:

tail -n 20 -f ~/Library/Logs/Claude/mcp-server-mcp-gsuite.log