mcp-google-calendar
Servidor MCP para a API do Google Calendar — liste calendários, crie e gerencie eventos, participantes, Google Meet, eventos recorrentes, disponibilidade, Ausência do escritório e Horário de foco. Para Claude, Cursor, Codex e outros clientes de IA.
Documentação
Google Calendar MCP
Português | Русский
A1 Google Calendar MCP permite que um aplicativo de IA gerencie o Google Agenda em linguagem natural. Revise sua semana, agende uma reunião com convidados e um link do Google Meet, remarcar ou cancelar, encontre um horário em que todos estejam livres e bloqueie Fora do Escritório ou Foco.
Ele usa a API do Google Agenda com sua conta Google. Ele distingue uma série recorrente inteira de uma ocorrência única e torna explícitos os limites da API do Agenda, em vez de sugerir que toda tarefa de agenda é possível.
- 19 ferramentas. Inspecione agendas, eventos e disponibilidade, crie e edite eventos, expanda séries recorrentes e bloqueie Fora do Escritório e Foco — além de seis para conectar sua conta Google.
- Entre na conversa. Nenhum arquivo de credenciais para escrever manualmente: peça ao assistente para conectar, aprove o acesso no navegador e a próxima solicitação funciona — sem reiniciar. O segredo do cliente viaja como um caminho de arquivo, nunca pela conversa.
- Ninguém recebe e-mail por acidente. O padrão da API do Agenda para convites, alterações e cancelamentos é o silêncio; os convidados recebem e-mail somente quando você solicitar via
send_updates. - As gravações nunca são repetidas. Após uma falha ambígua, o servidor não tenta novamente uma gravação — um evento duplicado poderia reenviar e-mail para todos os convidados.
- Escopos mínimos do Google. Ele usa
calendar.eventsecalendar.readonly, sem o escopo amplocalendar.
Comece com uma pergunta somente leitura:
O que está na minha agenda esta semana? Aponte quaisquer reuniões sobrepostas.
Conecte o servidor · Explore casos de uso · Abra a documentação técnica
Veja funcionando em um minuto
Você: Como está minha quinta-feira e quando Anna e eu estamos livres?
Assistente: Mostra os eventos de quinta-feira e os horários livres que vocês compartilham. Nada muda.
Você: Agende uma revisão de design de 45 minutos com Anna no primeiro horário livre, com um link do Google Meet.
Assistente: Mostra o horário proposto, a lista de convidados e o link do Meet, e então pede confirmação antes de criar o evento.
Você: Confirmo.
Assistente: Cria o evento. Ninguém recebe e-mail, a menos que você peça para enviar convites.
Conteúdo
- Início rápido
- O que você pode pedir para fazer
- Como um evento muda
- 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+, de uma conta Google e de credenciais OAuth de um projeto do Google Cloud com a API do Google Agenda ativada.
- Prepare o acesso OAuth do Google.
- Adicione o servidor ao seu aplicativo de IA.
- Faça a pergunta somente leitura acima.
Codex
No aplicativo: abra Configurações → Servidores MCP, selecione Adicionar servidor, escolha STDIO, insira o comando npx -y @a1-x-tech/mcp-google-calendar@latest e as variáveis de ambiente GOOGLE_CALENDAR_CLIENT_ID, GOOGLE_CALENDAR_CLIENT_SECRET, GOOGLE_CALENDAR_REFRESH_TOKEN, e então selecione Salvar e Reiniciar.
Pela linha de comando:
codex mcp add google-calendar \
--env GOOGLE_CALENDAR_CLIENT_ID=your_client_id \
--env GOOGLE_CALENDAR_CLIENT_SECRET=your_client_secret \
--env GOOGLE_CALENDAR_REFRESH_TOKEN=your_refresh_token \
-- npx -y @a1-x-tech/mcp-google-calendar@latest
codex mcp list
Claude Code
claude mcp add \
--env GOOGLE_CALENDAR_CLIENT_ID=your_client_id \
--env GOOGLE_CALENDAR_CLIENT_SECRET=your_client_secret \
--env GOOGLE_CALENDAR_REFRESH_TOKEN=your_refresh_token \
--transport stdio --scope user google-calendar \
-- npx -y @a1-x-tech/mcp-google-calendar@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 builds do Claude Desktop que ainda suportam configuração local, use a seguinte configuração JSON stdio como alternativa:
{
"mcpServers": {
"google-calendar": {
"command": "npx",
"args": ["-y", "@a1-x-tech/mcp-google-calendar@latest"],
"env": {
"GOOGLE_CALENDAR_CLIENT_ID": "your_client_id",
"GOOGLE_CALENDAR_CLIENT_SECRET": "your_client_secret",
"GOOGLE_CALENDAR_REFRESH_TOKEN": "your_refresh_token"
}
}
}
}
Nesses builds, salve-o em ~/Library/Application Support/Claude/claude_desktop_config.json no macOS ou %APPDATA%\Claude\claude_desktop_config.json no Windows.
Cursor
Adicione isso a ~/.cursor/mcp.json no macOS/Linux ou %USERPROFILE%\.cursor\mcp.json no Windows:
{
"mcpServers": {
"google-calendar": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@a1-x-tech/mcp-google-calendar@latest"],
"env": {
"GOOGLE_CALENDAR_CLIENT_ID": "your_client_id",
"GOOGLE_CALENDAR_CLIENT_SECRET": "your_client_secret",
"GOOGLE_CALENDAR_REFRESH_TOKEN": "your_refresh_token"
}
}
}
}
VS Code
Execute MCP: Abrir Configuração do Usuário e adicione:
{
"servers": {
"google-calendar": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@a1-x-tech/mcp-google-calendar@latest"],
"env": {
"GOOGLE_CALENDAR_CLIENT_ID": "${input:calendar_client_id}",
"GOOGLE_CALENDAR_CLIENT_SECRET": "${input:calendar_client_secret}",
"GOOGLE_CALENDAR_REFRESH_TOKEN": "${input:calendar_refresh_token}"
}
}
},
"inputs": [
{ "type": "promptString", "id": "calendar_client_id", "description": "Google OAuth client ID" },
{ "type": "promptString", "id": "calendar_client_secret", "description": "Google OAuth client secret", "password": true },
{ "type": "promptString", "id": "calendar_refresh_token", "description": "Google OAuth refresh token", "password": true }
]
}
Verifique com MCP: Listar Servidores.
O que você pode pedir para fazer
Veja sua agenda
- Quais reuniões tenho esta semana? Inclua as recorrentes.
- Mostre o 1:1 de amanhã com seus convidados, link do Meet e lembretes.
- Liste todas as ocorrências da sincronização da equipe em março.
Planeje e altere reuniões
- Crie uma revisão de 45 minutos na quinta-feira com dois convidados e um link do Google Meet.
- Remarque a retrospectiva uma hora depois e atualize a lista de convidados — mas não envie e-mail para ninguém ainda.
- Mova o evento de planejamento para a agenda da equipe.
- Cancele a ocorrência de sexta-feira do standup, deixando o restante da série intacto.
Proteja seu tempo
- Quando Anna, Boris e eu estamos todos livres por uma hora na próxima semana?
- Bloqueie Fora do Escritório para minhas férias e recuse automaticamente novos convites.
- Crie duas horas de Foco amanhã de manhã e silencie o Google Chat.
Como um evento muda
calendar_id: "primary"é sua agenda principal; outras agendas vêm delist_calendars, e gravações precisam de acesso de escritor.- Uma série recorrente e uma ocorrência única têm ids diferentes: o id da série altera ou cancela todas as ocorrências, um id de instância (de
list_event_instances) exatamente uma. update_eventaltera apenas os campos que você fornece, mas um objeto aninhado substitui seu predecessor por completo — uma nova listaattendeessubstitui toda a lista de convidados.- Nenhuma gravação envia e-mail a ninguém, a menos que
send_updatesdiga o contrário — o padrão da API do Agenda é o silêncio.
Blocos de Fora do Escritório e Foco existem apenas na agenda principal de uma conta do Google Workspace; Gmail de consumidor e agendas secundárias os rejeitam. Criar um evento não verifica conflitos — peça uma verificação de disponibilidade primeiro. Eventos de dia inteiro terminam em uma data exclusiva: um evento até sexta-feira termina na data de sábado.
O que pode mudar
| Operação | O que acontece | Limite de confirmação |
|---|---|---|
| Ler agendas, eventos e disponibilidade | Lê dados da agenda; disponibilidade mostra blocos ocupados sem títulos | Sem alteração |
| Criar um evento | Adiciona um evento com horário, dia inteiro ou recorrente, opcionalmente com convidados e Google Meet | Altera uma agenda |
| Criar um bloco de Fora do Escritório ou Foco | Adiciona um evento especial que pode recusar automaticamente convites ou silenciar o Google Chat | Altera uma agenda |
| Atualizar um evento | Remarca ou edita um evento; um id de série edita todas as ocorrências | Altera uma agenda |
| Mover um evento | Realoca um evento para outra agenda | Altera duas agendas |
| Excluir um evento | Cancela um evento ou uma série inteira; não há desfazer | Destrutivo |
| Solicitação bruta à API | Pode chamar métodos da API sem uma ferramenta dedicada | Potencialmente destrutivo |
O cliente de IA controla os prompts de confirmação. O servidor marca ferramentas de leitura, gravação e destrutivas para que o cliente possa distinguir uma inspeção de uma alteração ao vivo.
Obtendo acesso
O acesso às suas próprias agendas requer OAuth 2.0; uma chave de API não é suficiente. Há duas maneiras de conectar, e a primeira não precisa de nenhum arquivo de configuração.
Entre pela conversa
Inicie o servidor sem credenciais e peça ao assistente para conectar. Ele o guia com seis ferramentas integradas:
| Ferramenta | O que faz |
|---|---|
setup_instructions | A lista de verificação passo a passo para o lado do Google Cloud, adaptada ao que já está configurado |
set_client | Lê o JSON do cliente OAuth que você baixou — por caminho de arquivo, então o segredo nunca passa pela conversa |
start_login | Retorna o link de autorização do Google e aguarda o navegador |
finish_login | Confirma o login e informa qual conta foi conectada |
auth_status | Se existe um login, de onde veio e quando expira — nunca o token em si |
logout | Revoga o token no Google e exclui o arquivo local |
O login entra em vigor imediatamente: a próxima chamada de ferramenta funciona sem reiniciar o cliente de IA. O token é armazenado em ~/.config/mcp-google-calendar/credentials.json (no Windows, em %APPDATA%), legível apenas pela sua conta, e nunca sai da sua máquina.
Ou configure variáveis de ambiente
O caminho clássico, e o indicado para CI e instalações headless:
-
Crie ou selecione um projeto do Google Cloud e ative a API do Google Agenda.
-
Configure a tela de consentimento OAuth e crie um cliente OAuth de Aplicativo de desktop.
-
Autorize a conta Google cujas agendas você deseja gerenciar. O Playground OAuth 2.0 pode obter o token de atualização quando Usar minhas próprias credenciais OAuth estiver ativado.
-
Solicite ambos os escopos:
https://www.googleapis.com/auth/calendar.events https://www.googleapis.com/auth/calendar.readonlyO escopo amplo
https://www.googleapis.com/auth/calendaré necessário apenas para chamadasraw_requestque gerenciam agendas ou regras de compartilhamento.
Variáveis de ambiente sempre vencem um login feito na conversa, então uma instalação configurada existente continua se comportando exatamente como antes.
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
| Variável | Obrigatória | Descrição |
|---|---|---|
GOOGLE_CALENDAR_CLIENT_ID | Sim* | ID do cliente OAuth. |
GOOGLE_CALENDAR_CLIENT_SECRET | Sim* | Segredo do cliente OAuth. |
GOOGLE_CALENDAR_REFRESH_TOKEN | Sim* | Token de atualização OAuth. |
GOOGLE_CALENDAR_ACCESS_TOKEN | Sim* | Alternativa de curta duração (~1 hora) ao trio OAuth. |
GOOGLE_CALENDAR_API_BASE | Não | Substituição da URL base da API do Google; padrão https://www.googleapis.com. |
GOOGLE_CALENDAR_TIMEOUT_MS | Não | Tempo limite por solicitação; padrão 60000 ms. |
GOOGLE_CALENDAR_MAX_RETRIES | Não | Tentativas de erro temporário; padrão 3. |
* Forneça o trio OAuth ou um token de acesso. Sem credenciais, o servidor ainda inicia e completa o handshake MCP; a primeira chamada de ferramenta então nomeia as variáveis exatas a definir.
Dados, limites e trabalho em segundo plano
- As solicitações vão para o Google Agenda. O servidor local atualiza os tokens OAuth do Google e chama a API do Agenda. 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, dados de agenda, argumentos de ferramentas ou prompts. Defina
ASKADS_TELEMETRY=0para optar por não participar. - O Google aplica cotas por projeto. Em
429, o servidor tenta novamente com backoff; leituras também tentam novamente após erros de rede e5xx, enquanto gravações não são repetidas após uma falha incerta — um evento duplicado poderia reenviar e-mail para todos os convidados. - Não há polling em segundo plano. O servidor executa apenas quando chamado.
list_eventssuporta verificações incrementais viaupdated_min; se seu aplicativo de IA suportar tarefas agendadas, ele pode verificar sua agenda periodicamente.
Documentação técnica
- Catálogo de capacidades 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 Google Agenda
Suporte
Encontrou um bug ou precisa de um cenário? Crie um problema ou escreva no Telegram.
Você chegou ao final!