Google Tasks

Integre com o Google Tasks para gerenciar suas listas de tarefas e tarefas.

Documentação

Google Tasks MCP Server

Este servidor Model Context Protocol (MCP) fornece uma ponte entre clientes MCP e o Google Tasks, permitindo que você gerencie suas listas de tarefas e tarefas diretamente de clientes como Claude Desktop, Cursor e Codex.

[!NOTE] Todo o código deste projeto (exceto algumas edições) foi "vibe coded" - gerado com Claude/Copilot com instruções minhas.

Recursos

Este servidor MCP oferece as seguintes funcionalidades:

Gerenciamento de Listas de Tarefas

  • list-tasklists - Lista todas as suas listas de tarefas
  • get-tasklist - Obtém detalhes sobre uma lista de tarefas específica
  • create-tasklist - Cria uma nova lista de tarefas
  • update-tasklist - Atualiza uma lista de tarefas existente
  • delete-tasklist - Exclui uma lista de tarefas

Gerenciamento de Tarefas

  • list-tasks - Lista todas as tarefas em uma lista de tarefas, incluindo resultados paginados
  • get-task - Obtém detalhes sobre uma tarefa específica
  • create-task - Cria uma nova tarefa
  • update-task - Atualiza uma tarefa existente
  • delete-task - Exclui uma tarefa
  • complete-task - Marca uma tarefa como concluída
  • move-task - Move uma tarefa (reordenar, alterar o pai ou mover entre listas de tarefas)
  • clear-completed-tasks - Limpa todas as tarefas concluídas de uma lista

Instruções de Configuração

1. Criar Projeto no Google Cloud e Ativar a API

  1. Acesse o Google Cloud Console
  2. Crie um novo projeto
  3. Navegue até "APIs & Services" > "Library"
  4. Pesquise por "Google Tasks API" e ative-a
  5. Vá para "APIs & Services" > "Credentials"
  6. Clique em "Create Credentials" > "OAuth Client ID"
  7. Configure a tela de consentimento OAuth (External é suficiente para uso pessoal)
  8. Para Application Type, selecione "Web application"
  9. Adicione "http://localhost:3000/oauth2callback" como URI de redirecionamento autorizado
  10. Crie o client ID e o secret

2. Configurar Variáveis de Ambiente

Crie um arquivo .env no diretório deste projeto:

GOOGLE_CLIENT_ID=your_client_id_here
GOOGLE_CLIENT_SECRET=your_client_secret_here
GOOGLE_REDIRECT_URI=http://localhost:3000/oauth2callback

Variáveis de Ambiente:

  • GOOGLE_CLIENT_ID (obrigatório) - Seu Google OAuth Client ID
  • GOOGLE_CLIENT_SECRET (obrigatório) - Seu Google OAuth Client Secret
  • GOOGLE_REDIRECT_URI (opcional) - URI de redirecionamento OAuth (padrão: http://localhost:3000/oauth2callback)

Observação: O servidor valida se GOOGLE_CLIENT_ID e GOOGLE_CLIENT_SECRET estão definidos na inicialização e falhará com mensagens de erro claras se estiverem ausentes ou inválidos.

3. Compilar o Servidor

  1. Instale as dependências:
npm install
  1. Compile o servidor:
npm run build

4. Configurar um Cliente MCP

Codex

Adicione o servidor ao ~/.codex/config.toml:

[mcp_servers.google-tasks]
command = "zsh"
args = ["-lc", "cd /path/to/google-tasks-mcp && exec node build/index.js"]

Substitua /path/to/google-tasks-mcp pelo caminho para este projeto e reinicie o Codex.

Para verificar se o servidor está registrado:

codex mcp list
codex mcp get google-tasks

Claude for Desktop

  1. Instale o Claude for Desktop
  2. Abra o arquivo de configuração do Claude:
    • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  3. Adicione a configuração do servidor MCP do Google Tasks:
{
  "mcpServers": {
    "google-tasks": {
      "command": "node",
      "args": ["/path/to/google-tasks-mcp/build/index.js"]
    }
  }
}

Substitua o caminho pelo seu próprio valor e reinicie o Claude for Desktop.

Fluxo de Autenticação

Ao usar o servidor MCP do Google Tasks pela primeira vez:

  1. Use a ferramenta authenticate para obter uma URL de autorização
  2. Acesse a URL no seu navegador e faça login com sua conta Google
  3. Após autorizar, você receberá um código na página do navegador
  4. Use a ferramenta set-auth-code com esse código para concluir a autenticação
  5. Agora você pode usar todas as outras ferramentas para interagir com o Google Tasks

Observação: Seus tokens de autenticação (incluindo refresh tokens) são salvos automaticamente em disco em ~/.config/google-tasks-mcp/credentials.json com permissões restritas (600). Isso significa:

  • Você só precisa autenticar uma vez - as credenciais persistem entre reinicializações do servidor
  • Atualização automática de tokens - Os access tokens são atualizados automaticamente quando expiram (geralmente após 1 hora) usando o refresh token salvo
  • Sem necessidade de reautenticação - Após a configuração inicial, você não precisará autenticar novamente, a menos que revogue o acesso ou exclua o arquivo de credenciais

Requisitos

  • Node.js 20+ (consulte os engines em package.json)
  • Um cliente compatível com MCP
  • Projeto no Google Cloud com a Tasks API ativada

Recursos de Implementação

Este servidor MCP inclui as seguintes melhorias:

  • Armazenamento persistente de tokens - As credenciais de autenticação são salvas em disco (~/.config/google-tasks-mcp/credentials.json) com permissões restritas, para que você só precise autenticar uma vez
  • Validação de variáveis de ambiente - A validação na inicialização garante que as credenciais necessárias estejam configuradas, com mensagens de erro claras
  • Atualização automática de tokens - Os tokens OAuth são atualizados automaticamente quando expiram, eliminando a necessidade de reautenticação durante sessões ativas ou após reinicializações
  • Validação aprimorada de entradas - Validação abrangente de todas as entradas, incluindo formatos de ID, comprimentos de strings e formatos de data RFC 3339
  • Sanitização de HTML - As respostas de callback OAuth são sanitizadas para prevenir vulnerabilidades XSS
  • Desligamento gracioso - Limpeza adequada de recursos nos sinais SIGINT/SIGTERM
  • Segurança de tipos - Segurança total de tipos TypeScript em todo o código, com interfaces adequadas
  • URI de redirecionamento configurável - A URI de redirecionamento OAuth pode ser personalizada por meio da variável de ambiente GOOGLE_REDIRECT_URI

Capturas de Tela

Claude Desktop

Claude Desktop Screenshot

Cursor

Cursor Screenshot

Licença

Este projeto é apenas para fins de demonstração. Use por sua conta e risco.