mcp-google-gmail
Servidor MCP para a API do Gmail — pesquise, leia e envie e-mails, gerencie rascunhos, rótulos e a lixeira. Para Claude, Cursor, Codex e outros clientes de IA.
Documentação
Gmail MCP
English | Русский
A1 Gmail MCP permite que um aplicativo de IA trabalhe com sua caixa de entrada do Gmail em linguagem natural. Pesquise e leia e-mails, prepare respostas como rascunhos, envie-os quando estiver pronto, mantenha os rótulos organizados e use a lixeira em vez de exclusão permanente.
Ele usa a API do Gmail com sua conta do Google. Ele distingue um rascunho que você ainda pode editar de um e-mail enviado que não pode ser recuperado, e torna explícitos os limites da API do Gmail, em vez de sugerir que toda tarefa de e-mail é reversível.
- 24 ferramentas. Pesquise e leia mensagens e conversas, envie e-mails diretamente ou por rascunhos, gerencie o ciclo de vida dos rascunhos, rótulos e a lixeira.
- Conecta-se a partir da conversa. Diga "conectar Gmail": o servidor guia você pelo cliente OAuth, captura o redirecionamento do Google em
127.0.0.1com PKCE e mantém os tokens ele mesmo — sem arquivos de configuração, sem reiniciar. - Envie deliberadamente. O caminho rascunho → revisão → envio é de primeira classe; o envio é marcado como destrutivo, e o servidor nunca reenvia após uma falha ambígua — um e-mail não pode ser "não enviado".
- A lixeira é a rede de segurança. A remoção de e-mails passa pela lixeira reversível (cerca de 30 dias); deliberadamente não existe ferramenta de exclusão permanente de mensagens.
- Leitura limitada. Corpos decodificados são truncados em um limite explícito e anexos retornam como metadados, para que um boletim informativo longo não inunde silenciosamente a conversa.
- Escopo mínimo do Google. Usa apenas
gmail.modify— sem exclusão permanente e sem acesso às configurações do Gmail.
Comece com uma pergunta somente de leitura:
Mostre meus e-mails não lidos da última semana e diga quais precisam de resposta.
Conectar o servidor · Explorar casos de uso · Abrir documentação técnica
Veja funcionando em um minuto
Você: O que está não lido na minha caixa de entrada desta semana sobre o contrato da Acme?
Assistente: Pesquisa com a sintaxe de consulta do Gmail e mostra remetentes, assuntos, datas e trechos. Nada é alterado.
Você: Rascunhe uma resposta para o mais recente: enviamos a cópia assinada na sexta-feira.
Assistente: Cria um rascunho na mesma conversa e o exibe para revisão. Nada é enviado.
Você: Envie.
Assistente: Envia o rascunho. O envio é uma etapa separada e explicitamente destrutiva, então seu aplicativo de IA pode pedir confirmação antes.
Conteúdo
- Início rápido
- O que você pode pedir para fazer
- Como os e-mails mudam
- O que pode mudar
- Obtendo acesso
- Configuração
- Dados, limites e trabalho em segundo plano
- Documentação técnica
- Suporte
Início rápido
Você precisa do Node.js 20+ e de uma conta do Google. Credenciais não são necessárias na instalação — o servidor conecta-se a partir da conversa.
- Adicione o servidor ao seu aplicativo de IA.
- Diga "conectar Gmail": o assistente guia você pela criação do cliente OAuth e aprovação do acesso sem editar arquivos de configuração.
- Faça a pergunta somente de leitura acima.
Codex
No aplicativo: abra Configurações → Servidores MCP, selecione Adicionar servidor, escolha STDIO, insira o comando npx -y mcp-google-gmail@latest e as variáveis de ambiente GOOGLE_GMAIL_CLIENT_ID, GOOGLE_GMAIL_CLIENT_SECRET, GOOGLE_GMAIL_REFRESH_TOKEN, depois selecione Salvar e Reiniciar.
Pela linha de comando:
codex mcp add google-gmail \
-- npx -y mcp-google-gmail@latest
codex mcp list
Claude Code
claude mcp add \
--transport stdio --scope user google-gmail \
-- npx -y mcp-google-gmail@latest
claude mcp list
Claude Desktop
O caminho oficial atual é Configurações → Extensões. Para uma extensão personalizada do desktop, abra Configurações avançadas → Desenvolvedor de Extensões → Instalar Extensão…, selecione um arquivo .mcpb e siga as instruções.
Este repositório atualmente publica um pacote npm stdio e não contém um pacote .mcpb. Para versões do Claude Desktop que ainda suportam configuração local, use a seguinte configuração JSON stdio como alternativa:
{
"mcpServers": {
"google-gmail": {
"command": "npx",
"args": ["-y", "mcp-google-gmail@latest"]
}
}
}
Nessas versões, salve-o em ~/Library/Application Support/Claude/claude_desktop_config.json no macOS ou %APPDATA%\Claude\claude_desktop_config.json no Windows.
Cursor
Adicione isto a ~/.cursor/mcp.json no macOS/Linux ou %USERPROFILE%\.cursor\mcp.json no Windows:
{
"mcpServers": {
"google-gmail": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mcp-google-gmail@latest"]
}
}
}
VS Code
Execute MCP: Abrir Configuração do Usuário e adicione:
{
"servers": {
"google-gmail": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mcp-google-gmail@latest"]
}
}
}
Verifique com MCP: Listar Servidores.
O que você pode pedir para fazer
Triagem da caixa de entrada
- Mostre mensagens não lidas dos últimos sete dias e agrupe-as por remetente.
- Encontre a conversa com a Acme sobre o contrato e resuma-a, do mais antigo ao mais recente.
- Quais mensagens têm anexos esperando por mim? Mostre assuntos e nomes de arquivos.
Escrever e enviar e-mails
- Rascunhe uma resposta nesta conversa dizendo que a cópia assinada sai na sexta-feira.
- Mostre-me o rascunho, ajuste o texto e depois envie.
- Envie um e-mail curto de status para a equipe, com o gerente em cópia (CC).
Manter a caixa de entrada organizada
- Crie um rótulo
Receipts/2026e aplique-o às mensagens correspondentes. - Marque os boletins informativos desta semana como lidos e arquive-os.
- Mova essa conversa para a lixeira — e restaure-a se eu mudar de ideia.
Como os e-mails mudam
- O caminho seguro para o envio é um rascunho:
create_draftprepara o e-mail,get_drafto exibe para revisão,send_drafto envia.send_messagepula o rascunho e envia imediatamente. - Um e-mail enviado é externamente irreversível. Após um tempo limite ou um erro
5xx, o servidor não reenvia; pesquisein:sentantes de tentar novamente, porque um reenvio resultaria em um e-mail duplicado. - Remover uma mensagem ou conversa significa movê-la para a lixeira.
manage_trashé reversível por cerca de 30 dias; deliberadamente não existe ferramenta de exclusão permanente. - Rascunhos são a exceção:
update_draftsubstitui o rascunho inteiro (a API não tem edição parcial) edelete_drafté permanente, porque rascunhos pulam a lixeira.
Cada chamada opera em uma única caixa de entrada — a conta que concedeu o token. Corpos decodificados são truncados em um limite configurável com sinalizadores explícitos, e anexos retornam apenas como metadados; o conteúdo dos anexos é buscado através de raw_request deliberadamente.
O que pode mudar
| Operação | O que acontece | Limite de confirmação |
|---|---|---|
| Pesquisar e ler mensagens, conversas, rascunhos, rótulos, perfil | Lê dados da caixa de entrada | Sem alteração |
| Criar ou atualizar um rascunho | Prepara ou substitui um e-mail não enviado | Altera a caixa de entrada |
| Alterar estado de lido, estrelado ou arquivado, aplicar ou remover rótulos | Altera como o e-mail é organizado | Altera a caixa de entrada |
| Criar ou renomear um rótulo | Altera o vocabulário de rótulos | Altera a caixa de entrada |
| Mover para a lixeira ou restaurar uma mensagem ou conversa | Move e-mails para ou da lixeira; reversível por ~30 dias | Destrutivo |
| Enviar um e-mail ou rascunho | Entrega e-mails a destinatários reais; não pode ser desfeito | Destrutivo |
| Excluir um rascunho ou rótulo | Remove permanentemente, pulando a lixeira | Destrutivo |
| Solicitação bruta à API | Pode chamar métodos da API sem ferramenta dedicada | Potencialmente destrutivo |
O cliente de IA controla os prompts de confirmação. O servidor marca leituras, gravações e ferramentas destrutivas para que o cliente possa distinguir uma inspeção de uma alteração ao vivo.
Obtendo acesso
O Google Gmail exige OAuth 2.0; uma chave de API não é suficiente. Há duas formas de acesso, e a primeira não precisa de arquivos de configuração.
Conectar pelo chat (recomendado)
Diga "conectar Gmail" e o assistente executa o fluxo com você:
setup_instructionsimprime a lista de verificação: crie ou selecione um projeto do Google Cloud, ative a API Gmail, configure a tela de consentimento e crie um cliente OAuth de Aplicativo para desktop.- Baixe o JSON desse cliente ("Baixar JSON") e dê ao assistente o caminho —
set_cliento armazena com acesso apenas do proprietário. O segredo nunca passa pela conversa. start_loginretorna um link de consentimento do Google. Abra-o nesta máquina e aprove; o código volta para um ouvinte de uso único em127.0.0.1(PKCE), nunca pelo chat.finish_logintroca o código e salva os tokens em~/.config/mcp-google-gmail/credentials.json(modo 0600) e os verifica com uma chamada real à API do Gmail — assim, uma API ainda desativada é detectada ali mesmo.
Os tokens são relidos a cada chamada, então a conexão funciona imediatamente — sem reiniciar o aplicativo de IA. auth_status mostra o que está conectado, logout revoga e exclui.
Variáveis de ambiente (CI, instalações não assistidas)
-
Crie ou selecione um projeto do Google Cloud e ative a API Gmail.
-
Configure a tela de consentimento OAuth e crie um cliente OAuth de Aplicativo para desktop.
-
Autorize a conta do Google cuja caixa de entrada você deseja conectar — cada chamada opera nessa única caixa de entrada. O Playground OAuth 2.0 pode obter o token de atualização quando Usar suas próprias credenciais OAuth estiver ativado.
-
Solicite o escopo:
https://www.googleapis.com/auth/gmail.modifyEle cobre pesquisa, leitura, envio, rascunhos, rótulos e a lixeira — mas não exclusão permanente e não configurações do Gmail. Exclusão permanente através de
raw_requestadicionalmente exige o escopo completohttps://mail.google.com/.
Tokens de atualização OAuth em modo de teste podem expirar após sete dias. Publique o aplicativo OAuth, ou use um aplicativo Interno em um domínio do Workspace, quando precisar de acesso de longa duração. Trate o segredo do cliente e o token de atualização como senhas.
Configuração
Todas as variáveis são opcionais — sem nenhuma delas, o servidor conecta-se pelo chat.
| Variável | Obrigatória | Descrição |
|---|---|---|
GOOGLE_GMAIL_CLIENT_ID | Não* | ID do cliente OAuth. |
GOOGLE_GMAIL_CLIENT_SECRET | Não* | Segredo do cliente OAuth. |
GOOGLE_GMAIL_REFRESH_TOKEN | Não* | Token de atualização OAuth. |
GOOGLE_GMAIL_ACCESS_TOKEN | Não* | Alternativa de curta duração ao trio OAuth (cerca de 1 hora). |
GOOGLE_GMAIL_OAUTH_PORT | Não | Porta fixa de loopback para login no chat; útil com encaminhamento de porta SSH. |
GOOGLE_GMAIL_API_BASE | Não | Substituição da URL base da API do Gmail. |
GOOGLE_GMAIL_TIMEOUT_MS | Não | Tempo limite por solicitação; padrão 60000 ms. |
GOOGLE_GMAIL_MAX_RETRIES | Não | Tentativas para erros temporários; padrão 3. |
* Forneça o trio OAuth ou um token de acesso.
Dados, limites e trabalho em segundo plano
- As solicitações vão para o Gmail. O servidor local atualiza os tokens OAuth do Google e chama a API do Gmail. Sua telemetria anônima contém um ID de instalação, versão do pacote, cliente de IA e versões de plataforma, e nomes de ferramentas — nunca tokens OAuth, conteúdo de e-mail, argumentos de ferramentas ou prompts. Defina
ASKADS_TELEMETRY=0para optar por não participar. - O Google mede unidades de cota. O Gmail permite cerca de 250 unidades de cota por segundo por usuário; um envio custa 100 unidades, uma leitura típica custa 5. Contas de consumidor podem enviar cerca de 500 e-mails por dia, contas do Workspace cerca de 2.000. Em
429, o servidor usa backoff; leituras também tentam novamente após erros de rede e5xx, enquanto envios e outras gravações nunca são repetidos após uma falha incerta. - Não há sondagem em segundo plano. O servidor executa apenas quando chamado. Se seu aplicativo de IA suportar tarefas agendadas, ele pode verificar a caixa de entrada periodicamente;
raw_requesttambém pode acessarhistory.listpara sincronização incremental.
Documentação técnica
- Catálogo de capacidades do MCP — páginas orientadas a tarefas para cada ferramenta.
- Todas as ferramentas e entradas
- Documentação de desenvolvimento
- Documentação de publicação
- Referência da API do Gmail
Suporte
Encontrou um bug ou precisa de um cenário? Crie uma issue ou escreva no Telegram.
Você chegou ao final!