MCP Google Calendar Plus
Um servidor para gerenciamento completo do Google Agenda, incluindo criação, atualização e exclusão de eventos. Requer autenticação Google 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 Calendar, Contacts 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 Calendar, Contacts e Gmail com autenticação OAuth2.
Por que Este Servidor MCP?
Outros servidores MCP de calendário 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 Calendário
- ✅ Criar novos eventos de calendário
- ✅ Atualizar eventos existentes (incluindo eventos recorrentes)
- ✅ Excluir eventos
- ✅ Gerenciar múltiplos calendários
- ✅ Verificar disponibilidade entre calendários
Gerenciamento de Contatos
- ✅ Listar e pesquisar contatos
- ✅ Criar novos contatos com detalhes completos
- ✅ Atualizar contatos existentes
- ✅ Excluir contatos
- ✅ Gerenciar detalhes de contato (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 marcadores e pastas
- ✅ Atualizar status de e-mail (lido/não lido, com estrela, importante)
- ✅ Criar e gerenciar rascunhos
- ✅ Operações em lote para gerenciamento de e-mails em massa
Recursos
Recursos de Calendário
- Suporte a Múltiplos Calendários: Liste eventos de vários calendários simultaneamente
- Gerenciamento de Eventos: Crie, atualize (incluindo notificações), exclua e pesquise eventos de calendário
- Eventos Recorrentes: Escopos de modificação avançados para eventos recorrentes (instância única, todas as instâncias ou apenas instâncias futuras)
- Gerenciamento de Calendários: Liste calendários e suas propriedades
- Consultas de Disponibilidade: Verifique disponibilidade entre calendários
Recursos de Contatos
- Pesquisa de Contatos: Pesquise contatos por nome, e-mail ou outros critérios
- Detalhes Completos de Contato: 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 de 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 Marcadores: Crie e gerencie marcadores/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 por 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 de autenticação único para acesso a Calendar, Contacts 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á em "APIs e Serviços" > "Tela de consentimento OAuth"
- 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 (necessário enquanto estiver em modo de teste)
- Crie as credenciais OAuth 2.0:
- Vá em "APIs e Serviços" > "Credenciais"
- Clique em "Criar Credenciais" > "ID do cliente OAuth"
- Escolha "Aplicativo de desktop" 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 do 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 arquivo JSON baixado do Google Cloud Console.
3. Autenticação
- Reinicie o Claude Desktop
- O servidor MCP abrirá uma janela do navegador para autenticação
- Faça login com sua conta do Google e conceda permissões de Calendar, Contacts E Gmail
- Os tokens serão salvos com segurança para uso futuro
Observação: Se você estiver atualizando de uma versão anterior, será necessário 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 Calendário
list-calendars
Liste todos os calendários acessíveis com suas propriedades.
list-events
Liste eventos de um ou mais calendários com opções de filtragem.
create-event
Crie um novo evento de calendário 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 individuais de eventos recorrentes
- Alteração de detalhes do evento
- Gerenciamento de participantes
delete-event
Exclua eventos de calendários.
search-events
Pesquise eventos em calendários usando consultas de texto.
get-freebusy
Consulte informações de disponibilidade em múltiplos calendários.
list-colors
Liste as cores disponíveis para eventos de calendário.
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 Contacts.
Ferramentas de 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 do e-mail (marcadores, status de leitura, estrela, arquivamento).
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 marcadores/pastas do Gmail.
create-label
Crie novos marcadores para organizar e-mails.
update-label
Modifique propriedades e cores dos marcadores.
delete-label
Remova marcadores do Gmail.
batch-update-emails
Execute operações em massa em múltiplos e-mails.
Exemplos de Uso
Exemplos de Calendário
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 de 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 marcadores
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 corresponde 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 "Aplicativo de desktop"
- Se estiver atualizando de uma versão somente-calendário, 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 Calendar, Contacts e Gmail
- Verifique se a conta do Google tem acesso aos recursos que você está tentando acessar
- Certifique-se de que todas as APIs necessárias estejam ativadas no seu projeto do 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 em controle de versão
- Use variáveis de ambiente para configurações sensíveis
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, de nspady.
Licença
MIT
Contribuições
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) - Expressão regular de validação de datetime melhorada 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
- Interface profissional que identifica claramente esta como autenticação do Google Calendar
- Nota de segurança adicionada informando que as credenciais nunca são armazenadas
v1.1.1
- Documentação aprimorada para destacar as capacidades exclusivas de gerenciamento completo de calendário
- Seção "Por que Este Servidor MCP?" adicionada com ênfase nos recursos de criar/atualizar/excluir
- Descrição e palavras-chave do pacote 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 aplicativo de desktop
- 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 queda de conexão
- 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 calendário
- Suporte a múltiplos calendários
- Consultas de disponibilidade