mcp-google-tasks

Servidor MCP para a API do Google Tasks — gerencie listas de tarefas, crie e organize tarefas com datas de vencimento, notas e subtarefas, acompanhe a conclusão e sincronize alterações. Para Claude, Cursor, Codex e outros clientes de IA.

Documentação

A1 Google Tasks MCP

English | Русский

npm Glama CI License: MIT

A1 Google Tasks MCP permite que um aplicativo de IA gerencie o Google Tasks em linguagem natural. Planeje um projeto como uma lista de tarefas, divida o trabalho em subtarefas com datas de vencimento e notas, marque itens como concluídos e mantenha tudo em ordem.

Ele usa a API do Google Tasks com sua conta Google. Ele separa a conclusão reversível da exclusão permanente e torna explícitos os limites da API de Tasks, em vez de sugerir que todos os recursos de lista de tarefas são possíveis.

  • 21 ferramentas. Liste, crie e atualize listas de tarefas e tarefas, mova tarefas, gerencie a conclusão, limpe o trabalho concluído e acesse a API bruta quando uma ferramenta dedicada não existir.
  • Conecta-se a partir da conversa. Diga "conectar Google Tasks": o servidor orienta você pelo cliente OAuth, captura o redirecionamento do Google em 127.0.0.1 com PKCE e mantém os tokens ele mesmo — sem arquivos de configuração, sem reinicialização.
  • A conclusão é reversível, a exclusão não é. complete_task tem um desfazer (reopen_task); as ferramentas de exclusão são separadas e marcadas como destrutivas.
  • Datas de vencimento são honestas. A API armazena apenas a data do calendário — o servidor nunca finge agendar um horário do dia; horários pertencem às notas.
  • Escopo mínimo do Google. Um único escopo tasks, sem acesso a Drive, Calendar ou Gmail.

Comece com uma pergunta somente leitura:

Mostre minhas listas de tarefas e tudo o que vence antes de sexta-feira na minha lista padrão.

Conectar o servidor · Explorar casos de uso · Abrir documentação técnica


Veja funcionando em um minuto

Você: O que ainda está aberto na lista "Lançamento do site" e o que vence esta semana?

Assistente: Mostra as tarefas abertas com suas datas de vencimento, notas e subtarefas. Nada muda.

Você: Adicione uma tarefa "Enviar o anúncio de lançamento" com vencimento na sexta-feira como subtarefa de "Marketing".

Assistente: Mostra a lista de destino, a tarefa pai e a tarefa proposta e, em seguida, pede confirmação antes de criá-la.

Você: Confirmo.

Assistente: Cria a subtarefa com data de vencimento na sexta-feira. Não conclui nem exclui nada, a menos que você peça separadamente.

Conteúdo

Início rápido

Você precisa do Node.js 20+ e de uma conta Google. As credenciais não são necessárias no momento da instalação — o servidor se conecta a partir da conversa.

  1. Adicione o servidor ao seu aplicativo de IA.
  2. Diga "conectar Google Tasks": o assistente orienta você em criar o cliente OAuth e aprovar o acesso sem editar arquivos de configuração.
  3. 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 mcp-google-tasks@latest e as variáveis de ambiente GOOGLE_TASKS_CLIENT_ID, GOOGLE_TASKS_CLIENT_SECRET, GOOGLE_TASKS_REFRESH_TOKEN e, em seguida, selecione Salvar e Reiniciar.

Pela linha de comando:

codex mcp add google-tasks \
  -- npx -y mcp-google-tasks@latest
codex mcp list

Documentação MCP do Codex

Claude Code
claude mcp add \
  --transport stdio --scope user google-tasks \
  -- npx -y mcp-google-tasks@latest
claude mcp list

Documentação MCP do Claude Code

Claude Desktop

O caminho oficial atual é Configurações → Extensões. Para uma extensão personalizada de 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 versões do Claude Desktop que ainda suportam configuração local, use a seguinte configuração JSON stdio como alternativa:

{
  "mcpServers": {
    "google-tasks": {
      "command": "npx",
      "args": ["-y", "mcp-google-tasks@latest"]
    }
  }
}

Nessas versões, salve-o em ~/Library/Application Support/Claude/claude_desktop_config.json no macOS ou %APPDATA%\Claude\claude_desktop_config.json no Windows.

Documentação MCP do Claude Desktop

Cursor

Adicione isto a ~/.cursor/mcp.json no macOS/Linux ou %USERPROFILE%\.cursor\mcp.json no Windows:

{
  "mcpServers": {
    "google-tasks": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-google-tasks@latest"]
    }
  }
}

Documentação MCP do Cursor

VS Code

Execute MCP: Abrir Configuração do Usuário e adicione:

{
  "servers": {
    "google-tasks": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-google-tasks@latest"]
    }
  }
}

Verifique com MCP: Listar Servidores.

Documentação MCP do VS Code

O que você pode pedir para ele fazer

Ver suas listas e planejar o dia

  • Mostre minhas listas de tarefas e as tarefas abertas em cada uma.
  • O que vence esta semana na lista padrão? Inclua subtarefas.
  • O que mudou desde ontem? Inclua tarefas concluídas e ocultas.

Criar e organizar trabalho

  • Crie uma lista "Lançamento do site" com tarefas para design, conteúdo e QA.
  • Adicione uma tarefa com vencimento na sexta-feira com notas, aninhada sob a tarefa "Marketing".
  • Mova uma tarefa para o topo da lista, sob outra tarefa ou para uma lista diferente.

Acompanhar a conclusão

  • Marque a tarefa de revisão como concluída — e reabra-a se o trabalho voltar.
  • Limpe todas as tarefas concluídas da visualização da lista de uma só vez.
  • Mostre as tarefas ocultas que foram limpas anteriormente.

Como uma tarefa muda

  1. As tarefas vivem em listas de tarefas. Toda conta tem uma lista padrão integrada, identificada pelo id especial @default; create_tasklist adiciona mais.
  2. Uma tarefa contém um título, notas e uma data de vencimento somente com data — a API descarta a parte do horário, então um horário do dia pertence às notas.
  3. Ordenação e aninhamento mudam apenas por meio de move_task; o campo position da API é somente leitura.
  4. Concluir uma tarefa é reversível: reopen_task a traz de volta. Excluir uma tarefa ou uma lista é permanente, e excluir uma lista remove todas as tarefas nela.

Tarefas recorrentes não podem ser criadas pela API. Tarefas atribuídas do Google Docs ou Chat podem ser lidas, mas não criadas ou movidas para outra lista, e excluir uma também a remove no documento de origem. Não há busca ou ordenação no lado do servidor — o servidor lista as tarefas e o cliente de IA as filtra.

O que pode mudar

OperaçãoO que aconteceLimite de confirmação
Ler listas de tarefas e tarefasLê listas, tarefas e seus filtrosSem alteração
Criar uma lista de tarefas ou uma tarefaAdiciona uma lista ou uma tarefa abertaAltera o Google Tasks
Atualizar uma tarefa ou renomear uma listaAltera um título, notas ou data de vencimentoAltera uma tarefa
Mover uma tarefaAltera ordem, aninhamento ou a lista que a contémAltera uma tarefa
Concluir ou reabrir uma tarefaAlterna o status de conclusãoAlteração reversível
Limpar tarefas concluídasRemove todas as tarefas concluídas de uma lista da visualizaçãoDestrutiva
Excluir uma tarefa ou uma lista de tarefasRemove a tarefa, ou a lista com tudo nelaDestrutiva
Solicitação de API brutaPode chamar métodos da API sem uma ferramenta dedicadaPotencialmente destrutiva

O cliente de IA controla os prompts de confirmação. O servidor marca ferramentas de leitura, escrita e destrutivas para que o cliente possa distinguir uma inspeção de uma alteração ao vivo.

Obtendo acesso

O Google Tasks exige OAuth 2.0; uma chave de API não é suficiente. Há duas formas de acesso, e a primeira não precisa de arquivos de configuração.

Conectar pelo chat (recomendado)

Diga "conectar Google Tasks" e o assistente executa o fluxo com você:

  1. setup_instructions imprime a lista de verificação: crie ou selecione um projeto do Google Cloud, ative a API Google Tasks, configure a tela de consentimento e crie um cliente OAuth de aplicativo de desktop.
  2. Baixe o JSON desse cliente ("Baixar JSON") e dê ao assistente o caminho — set_client o armazena com acesso somente do proprietário. O segredo nunca passa pela conversa.
  3. start_login retorna um link de consentimento do Google. Abra-o nesta máquina e aprove; o código volta para um ouvinte de uso único em 127.0.0.1 (PKCE), nunca pelo chat.
  4. finish_login troca o código e salva os tokens em ~/.config/mcp-google-tasks/credentials.json (modo 0600) e os verifica com uma chamada real à API do Google Tasks — assim, uma API que ainda está desativada é detectada ali mesmo.

Os tokens são relidos a cada chamada, então a conexão funciona imediatamente — sem reiniciar o aplicativo de IA. auth_status mostra o que está conectado, logout revoga e exclui.

Variáveis de ambiente (CI, instalações não assistidas)

  1. Crie ou selecione um projeto do Google Cloud e ative a API Google Tasks.

  2. Configure a tela de consentimento OAuth e crie um cliente OAuth de aplicativo de desktop.

  3. Autorize a conta Google que possui as tarefas. O Playground OAuth 2.0 pode obter o token de atualização quando Usar suas próprias credenciais OAuth estiver ativado.

  4. Solicite o escopo:

    https://www.googleapis.com/auth/tasks
    

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

Toda variável é opcional — sem nenhuma delas, o servidor se conecta pelo chat.

VariávelObrigatóriaDescrição
GOOGLE_TASKS_CLIENT_IDNão*ID do cliente OAuth.
GOOGLE_TASKS_CLIENT_SECRETNão*Segredo do cliente OAuth.
GOOGLE_TASKS_REFRESH_TOKENNão*Token de atualização OAuth.
GOOGLE_TASKS_ACCESS_TOKENNão*Alternativa de curta duração ao trio OAuth.
GOOGLE_TASKS_OAUTH_PORTNãoPorta de loopback fixa para o login no chat; útil com encaminhamento de porta SSH.
GOOGLE_TASKS_API_BASENãoSubstituição da URL base da API do Google Tasks.
GOOGLE_TASKS_TIMEOUT_MSNãoTempo limite por solicitação; padrão 60000 ms.
GOOGLE_TASKS_MAX_RETRIESNãoTentativas de erro temporário; padrão 3.

* Forneça o trio OAuth ou um token de acesso.

Sem credenciais, o servidor ainda inicia e conclui o handshake MCP; a primeira chamada de ferramenta falha com uma mensagem nomeando as variáveis a definir e pedindo uma reinicialização.

Dados, limites e trabalho em segundo plano

  • As solicitações vão para o Google Tasks. O servidor local atualiza os tokens OAuth do Google e chama a API de Tasks. 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, conteúdo de tarefas, argumentos de ferramentas ou prompts. Defina ASKADS_TELEMETRY=0 para optar por não participar.
  • O Google aplica uma cota diária. A API de Tasks tem um limite de cortesia de 50.000 consultas por dia por projeto. Em 429, o servidor usa backoff; leituras também tentam novamente após erros de rede e 5xx, enquanto gravações não são repetidas após uma falha incerta — verifique o resultado com get_task.
  • Não há sondagem em segundo plano. O servidor executa apenas quando chamado. list_tasks suporta sincronização incremental por meio do filtro updated_min, para que um aplicativo de IA com tarefas agendadas possa verificar alterações periodicamente sem reler tudo.

Documentação técnica

Suporte

Encontrou um bug ou precisa de um cenário? Crie um problema ou escreva no Telegram.


Две Моны дают пять

Você chegou ao fim!