Google Calendar

Integra-se com o Google Agenda para gerenciar eventos, lembretes e cronogramas usando OAuth 2.0.

Documentação

Servidor MCP do Google Calendar

Um servidor Model Context Protocol (MCP) que se integra ao Google Calendar, desenvolvido em TypeScript.

Recursos

  • Integração perfeita com o Google Calendar usando autenticação OAuth 2.0
  • Armazenamento persistente de tokens para autenticação automática
  • Liste e gerencie calendários com operações abrangentes de eventos
  • Crie, leia, atualize e exclua eventos do calendário
  • Busque eventos do calendário entre datas especificadas
  • Opção de transporte Server-Sent Events (SSE) para atualizações em tempo real
  • Integração simples com Claude e outros assistentes de IA compatíveis com MCP

Instalação

npm install -g mcp-google-calendar

Ou execute diretamente com:

npx -y mcp-google-calendar

Pré-requisitos

  1. Node.js (v16 ou superior)
  2. Conta no Google Cloud Platform
  3. API do Google Calendar habilitada
  4. Credenciais OAuth 2.0

Configuração

1. Configuração do Google Cloud

  1. Acesse o Google Cloud Console
  2. Crie um novo projeto ou selecione um existente
  3. Habilite a API do Google Calendar:
    • Navegue até "APIs e serviços" > "Biblioteca"
    • Pesquise por "Google Calendar API"
    • Clique em "Ativar"
  4. Configure a tela de consentimento OAuth:
    • Vá para "APIs e serviços" > "Tela de consentimento OAuth"
    • Escolha o tipo de usuário "Externo" (ou "Interno" para Google Workspace)
    • Preencha as informações necessárias:
      • Nome do aplicativo: mcp-calendar
      • E-mail de suporte ao usuário: (seu e-mail)
      • Informações de contato do desenvolvedor: (seu e-mail)
    • Adicione escopos:
    • Conclua a configuração
  5. Crie as credenciais OAuth:
    • Vá para "Credenciais"
    • Clique em "Criar credenciais" > "ID do cliente OAuth"
    • Escolha "Aplicativo de desktop" como tipo de aplicativo
    • Dê um nome (ex.: "MCP Calendar Desktop Client")
    • Baixe o arquivo JSON e salve como credentials.json no diretório do seu projeto

2. Configuração de Ambiente

Crie um arquivo .env na raiz do seu projeto:

# Server configuration
PORT=3420

# Google Calendar API configuration
CREDENTIALS_PATH=./credentials.json

Uso

Iniciando o Servidor

Inicie com WebSockets padrão:

npx -y mcp-google-calendar

Inicie com Server-Sent Events (SSE):

npx -y mcp-google-calendar --sse

Com o Claude Desktop

Adicione isto ao seu claude_desktop_config.json:

{
   "mcpServers": {
      "mcp-google-calendar": {
         "command": "npx",
         "args": ["-y", "mcp-google-calendar"],
         "env": {
            "CREDENTIALS_PATH": "/path/to/your/credentials.json"
         }
      }
   }
}

Processo de Autenticação

Na primeira vez que você executar o servidor:

  1. Uma janela do navegador será aberta automaticamente
  2. Faça login com sua conta Google
  3. Conceda as permissões de calendário solicitadas
  4. O token de autenticação é salvo em token.json

Em execuções subsequentes:

  • O servidor usa o token salvo automaticamente
  • Nenhuma interação com o navegador é necessária, a menos que o token expire

Ferramentas Disponíveis

FerramentaDescrição
list_calendarsObtenha todos os calendários disponíveis
list_calendar_eventsRecupere eventos entre datas especificadas
create_calendar_eventAdicione um novo evento ao seu calendário
get_calendar_eventBusque detalhes de um evento específico
edit_calendar_eventModifique um evento de calendário existente
delete_calendar_eventRemova um evento do seu calendário

Desenvolvimento

Clone e configure o projeto:

git clone https://github.com/am2rican5/mcp-google-calendar.git
cd mcp-google-calendar
npm install

Compile o projeto:

npm run build

Execute em modo de desenvolvimento:

npm start

Considerações de Segurança

⚠️ Aviso Importante de Segurança ⚠️

  • credentials.json e token.json contêm informações sensíveis de autenticação
  • Nunca envie esses arquivos para controle de versão ou compartilhe publicamente
  • Cada usuário deve criar suas próprias credenciais OAuth
  • Se você suspeitar de comprometimento das credenciais, revogue-as imediatamente no Google Cloud Console
  • O token concede acesso aos dados do seu Google Calendar

Licença

Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.

Contribuições

Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.

  1. Faça um fork do repositório
  2. Crie sua branch de recurso (git checkout -b feature/amazing-feature)
  3. Faça commit das suas alterações (git commit -m 'Add some amazing feature')
  4. Envie para a branch (git push origin feature/amazing-feature)
  5. Abra um Pull Request