MCP Google Workspace
Um servidor MCP abrangente para gerenciar serviços do Google Workspace como Calendário, Contatos e Gmail usando autenticação OAuth2.
Documentação
MCP Google Workspace
O ÚNICO servidor MCP abrangente para Google Workspace que permite que Claude, Cursor, Windsurf e outros sistemas de IA gerenciem completamente Google Agenda, Contatos E Gmail - leia, crie, atualize, exclua e organize em todos os três serviços!
Integração completa com Google Workspace para Claude Desktop e outros agentes de IA usando o Model Context Protocol (MCP). Este servidor fornece capacidades abrangentes de gerenciamento para Agenda, Contatos e Gmail com autenticação OAuth2.
Por que Este Servidor MCP?
Outros servidores MCP de agenda fornecem apenas acesso somente leitura. Este é o único servidor MCP que dá a sistemas de IA como Claude, Cursor e Windsurf a capacidade de:
Gerenciamento de Agenda
- ✅ Criar novos eventos de agenda
- ✅ Atualizar eventos existentes (incluindo eventos recorrentes)
- ✅ Excluir eventos
- ✅ Gerenciar múltiplas agendas
- ✅ Verificar disponibilidade entre agendas
Gerenciamento de Contatos
- ✅ Listar e pesquisar contatos
- ✅ Criar novos contatos com detalhes completos
- ✅ Atualizar contatos existentes
- ✅ Excluir contatos
- ✅ Gerenciar detalhes de contatos (e-mails, telefones, endereços, organizações)
Gerenciamento de Gmail (NOVO!)
- ✅ Pesquisar e listar e-mails com consultas poderosas
- ✅ Ler conteúdo completo de e-mails com anexos
- ✅ Enviar novos e-mails e respostas
- ✅ Organizar com rótulos e pastas
- ✅ Atualizar status de e-mails (lido/não lido, estrelado, importante)
- ✅ Criar e gerenciar rascunhos
- ✅ Operações em lote para gerenciamento de e-mails em massa
Recursos
Recursos da Agenda
- Suporte a Múltiplas Agendas: Liste eventos de várias agendas simultaneamente
- Gerenciamento de Eventos: Crie, atualize (incluindo notificações), exclua e pesquise eventos de agenda
- Eventos Recorrentes: Escopos avançados de modificação para eventos recorrentes (instância única, todas as instâncias ou apenas instâncias futuras)
- Gerenciamento de Agenda: Liste agendas e suas propriedades
- Consultas de Disponibilidade: Verifique disponibilidade entre agendas
Recursos de Contatos
- Pesquisa de Contatos: Pesquise contatos por nome, e-mail ou outros critérios
- Detalhes Completos de Contatos: Gerencie nomes, e-mails, números de telefone, endereços, organizações e notas
- Operações em Lote: Liste contatos com suporte a paginação
- Seleção de Campos: Escolha quais campos de contato recuperar para respostas otimizadas
Recursos do Gmail (NOVO!)
- Pesquisa Avançada: Use os poderosos operadores de pesquisa do Gmail
- Gerenciamento de E-mails: Leia, envie, responda, encaminhe e exclua e-mails
- Organização por Rótulos: Crie e gerencie rótulos/pastas
- Gerenciamento de Rascunhos: Crie, atualize e envie rascunhos
- Operações em Lote: Atualize vários e-mails de uma vez
- Suporte a Tópicos: Lide com conversas de e-mail
- Informações de Anexos: Visualize detalhes de anexos (nomes, tamanhos, tipos)
Autenticação
- Autenticação OAuth2: Autenticação segura com renovação automática de token
- Permissões Unificadas: Fluxo único de autenticação para acesso a Agenda, Contatos e Gmail
Instalação
Via npx (Recomendado)
npx mcp-google
Via npm
npm install -g mcp-google
Configuração
1. Crie Credenciais OAuth do Google
- Acesse o Google Cloud Console
- Crie um novo projeto ou selecione um existente
- Ative estas APIs:
- Configure a tela de consentimento OAuth:
- Vá para "APIs & Services" > "OAuth consent screen"
- Escolha o tipo de usuário "Externo"
- Preencha os campos obrigatórios (nome do aplicativo, e-mail de suporte, etc.)
- Adicione seu e-mail como usuário de teste (obrigatório enquanto estiver em modo de teste)
- Crie credenciais OAuth 2.0:
- Vá para "APIs & Services" > "Credentials"
- Clique em "Create Credentials" > "OAuth client ID"
- Escolha "Desktop app" como tipo de aplicativo
- Dê um nome ao seu cliente OAuth (ex.: "MCP Calendar Client")
- Baixe o arquivo JSON de credenciais
2. Configure o Claude Desktop
Adicione isto ao arquivo de configuração do Claude Desktop:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Opção A: Variáveis de Ambiente Diretas (Mais Simples - Sem necessidade de arquivo JSON!)
{
"mcpServers": {
"google-workspace": {
"command": "npx",
"args": ["-y", "mcp-google"],
"env": {
"GOOGLE_CLIENT_ID": "YOUR_CLIENT_ID.apps.googleusercontent.com",
"GOOGLE_CLIENT_SECRET": "YOUR_CLIENT_SECRET"
}
}
}
}
Opção B: Use o Arquivo de Credenciais Google Baixado
{
"mcpServers": {
"google-workspace": {
"command": "npx",
"args": ["-y", "mcp-google"],
"env": {
"GOOGLE_OAUTH_CREDENTIALS": "/path/to/downloaded/credentials.json"
}
}
}
}
Basta usar o caminho do arquivo onde você salvou o JSON baixado do Google Cloud Console.
3. Autentique
- Reinicie o Claude Desktop
- O servidor MCP abrirá uma janela do navegador para autenticação
- Faça login com sua conta Google e conceda permissões de Agenda, Contatos E Gmail
- Os tokens serão salvos com segurança para uso futuro
Nota: Se estiver atualizando de uma versão anterior, você precisará reautenticar para conceder as novas permissões do Gmail.
Variáveis de Ambiente
GOOGLE_OAUTH_CREDENTIALS: Caminho para o arquivo JSON de credenciais OAuthGOOGLE_CALENDAR_MCP_TOKEN_PATH: Caminho personalizado para armazenamento de tokens (opcional)NODE_ENV: Defina como "production" para uso em produção
Ferramentas Disponíveis
Ferramentas de Agenda
list-calendars
Liste todas as agendas acessíveis com suas propriedades.
list-events
Liste eventos de uma ou mais agendas com opções de filtragem.
create-event
Crie um novo evento de agenda com suporte para:
- Eventos únicos ou recorrentes
- Participantes e notificações
- Cores personalizadas
- Fusos horários
update-event
Atualize eventos existentes incluindo:
- Modificação de instâncias únicas de eventos recorrentes
- Alteração de detalhes do evento
- Gerenciamento de participantes
delete-event
Exclua eventos de agendas.
search-events
Pesquise eventos entre agendas usando consultas de texto.
get-freebusy
Consulte informações de disponibilidade em múltiplas agendas.
list-colors
Liste as cores disponíveis para eventos de agenda.
Ferramentas de Contatos
list-contacts
Liste e pesquise contatos com suporte a paginação.
get-contact
Obtenha informações detalhadas sobre um contato específico.
create-contact
Crie novos contatos com:
- Nomes e apelidos
- Múltiplos endereços de e-mail
- Números de telefone
- Endereços físicos
- Organizações e cargos
- Notas e biografias
update-contact
Atualize informações de contatos existentes com atualizações específicas por campo.
delete-contact
Exclua contatos do Google Contatos.
Ferramentas do Gmail (NOVO!)
list-emails
Pesquise e liste e-mails com consultas poderosas do Gmail.
get-email
Leia o conteúdo completo do e-mail incluindo corpo e anexos.
send-email
Envie novos e-mails ou respostas com suporte a HTML.
update-email
Modifique propriedades de e-mails (rótulos, status de leitura, estrela, arquivar).
delete-email
Mova e-mails para a lixeira ou exclua permanentemente.
create-draft
Crie rascunhos de e-mail para edição posterior.
update-draft
Edite rascunhos de e-mail existentes.
send-draft
Envie um rascunho salvo.
list-labels
Liste todos os rótulos/pastas do Gmail.
create-label
Crie novos rótulos para organizar e-mails.
update-label
Modifique propriedades e cores de rótulos.
delete-label
Remova rótulos do Gmail.
batch-update-emails
Execute operações em massa em múltiplos e-mails.
Exemplos de Uso
Exemplos de Agenda
Verificar disponibilidade
What times am I free tomorrow between 9am and 5pm?
Criar um evento
Create a meeting called "Team Standup" tomorrow at 10am for 30 minutes
Pesquisar eventos
Find all events this week that mention "project review"
Atualizar eventos recorrentes
Change all future instances of my weekly team meeting to 2pm
Exemplos de Contatos
Listar contatos
Show me all my contacts with email addresses
Criar um contato
Create a contact for John Doe, email: john@example.com, phone: 555-1234
Pesquisar contatos
Find contacts who work at Google
Atualizar contato
Update Jane Smith's phone number to 555-5678
Exemplos do Gmail
Pesquisar e-mails
Show me all unread emails from this week
Enviar e-mail
Send an email to john@example.com with subject "Meeting Tomorrow" and body "Let's meet at 2pm"
Organizar caixa de entrada
Mark all newsletters as read and archive them
Gerenciar rótulos
Create a label called "Important Projects" and apply it to all emails from my manager
Operações em lote
Move all emails older than 30 days to trash
Solução de Problemas
Problemas de Autenticação
- Certifique-se de que o URI de redirecionamento corresponda exatamente:
http://localhost:3000/oauth2callback - Verifique se tanto a Calendar API quanto a People API estão ativadas no Google Cloud Console
- Confirme que as credenciais OAuth são do tipo "Desktop app"
- Se estiver atualizando de uma versão somente agenda, execute novamente a autenticação para conceder permissões de contatos
Expiração de Token
- Os tokens são renovados automaticamente
- Se os problemas persistirem, exclua o arquivo de token e reautentique
Erros de Permissão
- Certifique-se de ter concedido todas as permissões solicitadas de Agenda, Contatos e Gmail
- Verifique se a conta Google tem acesso aos recursos que você está tentando acessar
- Certifique-se de que todas as APIs necessárias estejam ativadas no seu projeto Google Cloud:
- Google Calendar API
- Google People API
- Gmail API
Segurança
- Os tokens OAuth são armazenados com permissões restritas (0600)
- Segredos do cliente nunca devem ser commitados no controle de versão
- Use variáveis de ambiente para configuração sensível
Desenvolvimento
# Install dependencies
npm install
# Build
npm run build
# Run locally
npm start
Equipe
Desenvolvido por Boris Djordjevic e pela equipe 199 Longevity.
Construído sobre o google-calendar-mcp original por nspady.
Licença
MIT
Contribuição
Contribuições são bem-vindas! Abra uma issue ou envie um pull request no GitHub.
Histórico de Versões
v1.1.3
- Corrigida a validação de fuso horário para suportar milissegundos em timestamps ISO
- Agora compatível com o formato
Date.toISOString()do JavaScript (ex.:2024-01-01T00:00:00.000Z) - Regex de validação de data/hora melhorado para lidar com ambos os formatos, com e sem milissegundos
v1.1.2
- Fluxo de autenticação melhorado com página de destino clara e informativa
- Os usuários agora veem exatamente quais permissões o Claude terá antes de conectar
- UI profissional que identifica claramente isso como autenticação do Google Agenda
- Nota de segurança adicionada de que as credenciais nunca são armazenadas
v1.1.1
- Documentação aprimorada para destacar capacidades únicas de gerenciamento completo de agenda
- Seção "Por que Este Servidor MCP?" adicionada enfatizando recursos de criar/atualizar/excluir
- Descrição do pacote e palavras-chave atualizadas para melhor descoberta
v1.1.0
- Configuração simplificada: Suporte adicionado para variáveis de ambiente diretas (sem necessidade de arquivo JSON!)
- Os usuários agora podem usar
GOOGLE_CLIENT_IDeGOOGLE_CLIENT_SECRETdiretamente na configuração do Claude - README atualizado com instruções mais claras de configuração OAuth para Desktop app
- Etapas desnecessárias de configuração de URI de redirecionamento removidas
v1.0.1
- Lógica de nova tentativa automática adicionada para erros de rede
- Tratamento de erros melhorado para problemas de desconexão de socket
- Recuperação silenciosa quando eventos são criados apesar de erros de conexão
v1.0.0
- Lançamento inicial com autenticação OAuth2 aprimorada
- Ferramentas abrangentes de gerenciamento de agenda
- Suporte a múltiplas agendas
- Consultas de disponibilidade