MewCP Google Tasks MCP
Servidor MCP do Google Tasks hospedado, sem estado e multilocatário permite que assistentes de IA gerenciem tarefas e listas de tarefas através do Google Tasks.
Documentação
Crie, acompanhe e gerencie tarefas e listas de tarefas do Google Tasks — diretamente dos seus fluxos de trabalho de IA.
Um servidor Model Context Protocol (MCP) que expõe a API do Google Tasks para criar, listar, atualizar, concluir e excluir tarefas e listas de tarefas.
Visão Geral
O Servidor MCP do Google Tasks fornece acesso programático completo ao Google Tasks por meio de uma interface stateless e multi-tenant:
- Listar, criar, atualizar e excluir listas de tarefas
- Listar, criar, consultar, atualizar, concluir e excluir tarefas individuais
- Toda ferramenta de mutação que sobrescreve estado (
update_task,update_tasklist) retorna tanto o estado anterior quanto o posterior do recurso
Perfeito para:
- Automatizar o gerenciamento de listas de tarefas e o acompanhamento de tarefas com agentes de IA
- Criar assistentes que possam criar e concluir tarefas em nome do usuário
- Integrar ações do Google Tasks em pipelines e lembretes baseados em LLM
Ferramentas
list_task_lists — Listar todas as listas de tarefas
Lista todas as listas de tarefas acessíveis pelo usuário. Retorna IDs, títulos e metadados das listas de tarefas. Use o ID da lista de tarefas da resposta para acessar as tarefas dentro de uma lista.
Entradas:
(none)
Esquema de saída data:
{
count: number;
tasklists: {
id: string;
title: string | null;
updated: string | null;
etag: string | null;
kind: string | null;
selfLink: string | null;
}[];
next_page_token: string | null;
}
add_task — Criar uma nova tarefa
Cria uma nova tarefa em uma lista de tarefas específica. Forneça o ID da lista de tarefas, o título e, opcionalmente, notas e data de vencimento. Retorna a tarefa criada com seu ID atribuído.
Entradas:
- `tasklist_id` (string, required) — The unique ID of the Google Tasks list.
- `title` (string, required) — The title of the new task.
- `notes` (string, optional, default: "") — Optional details or description for the task.
- `due` (string, optional, default: "") — Optional due date. MUST be an RFC 3339 timestamp (e.g., '2026-06-17T00:00:00.000Z').
Esquema de saída data:
{
id: string;
title: string | null;
notes: string | null;
due: string | null;
status: string | null;
position: string | null;
parent: string | null;
links: { [key: string]: any }[] | null;
webViewLink: string | null;
hidden: boolean | null;
completed: string | null;
deleted: boolean | null;
etag: string | null;
kind: string | null;
selfLink: string | null;
}
get_task — Obter os detalhes de uma tarefa
Obtém os detalhes de uma tarefa específica da lista de tarefas. Retorna o objeto completo da tarefa, incluindo título, notas, data de vencimento, status e posição.
Entradas:
- `tasklist_id` (string, required) — The unique ID of the Google Tasks list.
- `task_id` (string, required) — The unique ID of the Google Task
Esquema de saída data:
{
id: string;
title: string | null;
notes: string | null;
due: string | null;
status: string | null;
position: string | null;
parent: string | null;
links: { [key: string]: any }[] | null;
webViewLink: string | null;
hidden: boolean | null;
completed: string | null;
deleted: boolean | null;
etag: string | null;
kind: string | null;
selfLink: string | null;
}
get_task_by_name — Encontrar uma tarefa pelo título
Obtém os detalhes da tarefa a partir do nome da tarefa. Pesquisa em uma lista de tarefas por uma tarefa pelo seu título e retorna os detalhes da tarefa correspondente.
Entradas:
- `tasklist_id` (string, required) — The unique ID of the Google Tasks list.
- `task_title` (string, required) — The title of the task to search for.
Esquema de saída data:
{
id: string;
title: string | null;
notes: string | null;
due: string | null;
status: string | null;
position: string | null;
parent: string | null;
links: { [key: string]: any }[] | null;
webViewLink: string | null;
hidden: boolean | null;
completed: string | null;
deleted: boolean | null;
etag: string | null;
kind: string | null;
selfLink: string | null;
}
delete_task — Excluir permanentemente uma tarefa (destrutivo)
DESTRUTIVO — EXIGE CONFIRMAÇÃO EXPLÍCITA DO USUÁRIO ANTES DE CHAMAR. Exclui permanentemente uma tarefa específica da lista de tarefas. Esta ação é irreversível — a tarefa excluída e todos os seus dados não podem ser recuperados. NUNCA chame esta ferramenta de forma autônoma ou como parte de um fluxo automatizado. Você DEVE parar, informar ao usuário exatamente o que será excluído e que isso é permanente, e aguardar a confirmação escrita explícita antes de prosseguir.
Entradas:
- `tasklist_id` (string, required) — The unique ID of the Google Tasks list.
- `task_id` (string, required) — The unique ID of the Google Task
Esquema de saída data:
{
id: string;
title: string | null;
notes: string | null;
due: string | null;
status: string | null;
position: string | null;
parent: string | null;
links: { [key: string]: any }[] | null;
webViewLink: string | null;
hidden: boolean | null;
completed: string | null;
deleted: boolean | null;
etag: string | null;
kind: string | null;
selfLink: string | null;
}
complete_task — Marcar uma tarefa como concluída
Marca uma tarefa específica como concluída na lista de tarefas. Define o status da tarefa como 'completed'. Retorna o objeto da tarefa atualizado.
Entradas:
- `tasklist_id` (string, required) — The unique ID of the Google Tasks list.
- `task_id` (string, required) — The unique ID of the Google Task
Esquema de saída data:
{
id: string;
title: string | null;
notes: string | null;
due: string | null;
status: string | null;
position: string | null;
parent: string | null;
links: { [key: string]: any }[] | null;
webViewLink: string | null;
hidden: boolean | null;
completed: string | null;
deleted: boolean | null;
etag: string | null;
kind: string | null;
selfLink: string | null;
}
update_task — Atualizar uma tarefa existente
Atualiza uma tarefa existente. Apenas os campos fornecidos são alterados — os demais mantêm seu valor atual. OBSERVAÇÃO: isso sobrescreve os valores atuais dos campos — o estado original não é armazenado após a chamada. A resposta inclui tanto o estado anterior quanto o posterior, para que você tenha um registro completo do que mudou.
Entradas:
- `tasklist_id` (string, required) — The unique ID of the Google Tasks list.
- `task_id` (string, required) — The unique ID of the Google Task
- `task_title` (string, required) — The title of the task.
- `notes` (string, optional, default: "") — Optional details or description for the task.
- `due` (string, optional, default: "") — Optional due date. MUST be an RFC 3339 timestamp (e.g., '2026-06-17T00:00:00.000Z').
Esquema de saída data:
{
before: {
id: string;
title: string | null;
notes: string | null;
due: string | null;
status: string | null;
position: string | null;
parent: string | null;
links: { [key: string]: any }[] | null;
webViewLink: string | null;
hidden: boolean | null;
completed: string | null;
deleted: boolean | null;
etag: string | null;
kind: string | null;
selfLink: string | null;
};
after: {
id: string;
title: string | null;
notes: string | null;
due: string | null;
status: string | null;
position: string | null;
parent: string | null;
links: { [key: string]: any }[] | null;
webViewLink: string | null;
hidden: boolean | null;
completed: string | null;
deleted: boolean | null;
etag: string | null;
kind: string | null;
selfLink: string | null;
};
}
create_tasklist — Criar uma nova lista de tarefas
Cria uma lista de tarefas totalmente nova. Retorna a lista de tarefas criada com seu ID atribuído e metadados.
Entradas:
- `tasklist_name` (string, required) — The name of the Google Tasks list.
Esquema de saída data:
{
id: string;
title: string | null;
updated: string | null;
etag: string | null;
kind: string | null;
selfLink: string | null;
}
update_tasklist — Renomear uma lista de tarefas existente
Atualiza o nome de uma lista de tarefas específica. A resposta inclui tanto o estado anterior quanto o posterior, para que você tenha um registro completo do que mudou.
Entradas:
- `tasklist_id` (string, required) — The unique ID of the Google Tasks list.
- `title` (string, required) — The title or name of the Google Tasks list
Esquema de saída data:
{
before: {
id: string;
title: string | null;
updated: string | null;
etag: string | null;
kind: string | null;
selfLink: string | null;
};
after: {
id: string;
title: string | null;
updated: string | null;
etag: string | null;
kind: string | null;
selfLink: string | null;
};
}
list_tasks — Listar todas as tarefas em uma lista de tarefas
Lista todas as tarefas presentes na lista de tarefas específica. Retorna IDs, títulos, status e outros metadados de todas as tarefas da lista.
Entradas:
- `tasklist_id` (string, required) — The unique ID of the Google Tasks list.
Esquema de saída data:
{
count: number;
tasks: {
id: string;
title: string | null;
notes: string | null;
due: string | null;
status: string | null;
position: string | null;
parent: string | null;
links: { [key: string]: any }[] | null;
webViewLink: string | null;
hidden: boolean | null;
completed: string | null;
deleted: boolean | null;
etag: string | null;
kind: string | null;
selfLink: string | null;
}[];
next_page_token: string | null;
}
get_tasklist — Obter os detalhes de uma lista de tarefas
Obtém os detalhes ou metadados de uma lista de tarefas específica. Retorna o ID da lista de tarefas, o título e o timestamp da última atualização.
Entradas:
- `tasklist_id` (string, required) — The unique ID of the Google Tasks list.
Esquema de saída data:
{
id: string;
title: string | null;
updated: string | null;
etag: string | null;
kind: string | null;
selfLink: string | null;
}
delete_tasklist — Excluir permanentemente uma lista de tarefas (destrutivo)
DESTRUTIVO — EXIGE CONFIRMAÇÃO EXPLÍCITA DO USUÁRIO ANTES DE CHAMAR. Exclui permanentemente uma lista de tarefas inteira com todas as tarefas nela contidas. Esta ação é irreversível — a lista de tarefas e todas as suas tarefas não podem ser recuperadas. NUNCA chame esta ferramenta de forma autônoma ou como parte de um fluxo automatizado. Você DEVE parar, informar ao usuário exatamente o que será excluído e que isso é permanente, e aguardar a confirmação escrita explícita antes de prosseguir.
Entradas:
- `tasklist_id` (string, required) — The unique ID of the Google Tasks list.
Esquema de saída data:
{
id: string;
title: string | null;
updated: string | null;
etag: string | null;
kind: string | null;
selfLink: string | null;
}
Referência de Parâmetros da API
Envelope de Resposta
Toda ferramenta retorna o mesmo envelope de nível superior. Apenas data varia por ferramenta.
// Success
{
"success": true,
"statusCode": 200,
"retriable": false,
"retry_after_seconds": null,
"error": null,
"data": { ... }
}
// Error
{
"success": false,
"statusCode": 404,
"retriable": false,
"retry_after_seconds": null,
"error": { "code": "NOT_FOUND", "message": "No task found with the title {task_title}", "details": null },
"data": null
}
retriable—truequando é seguro tentar novamente (limite de taxa, erro de rede, 503).falsepara autenticação, não encontrado e outros erros não transitórios.retry_after_seconds— segundos de espera antes de tentar novamente; presente apenas quandoretriableétruee o serviço upstream especifica um atraso.error.code— string legível por máquina:NOT_FOUND(get_task_by_namenão encontrou correspondência),AUTH_ERROR(nenhum token de acesso OAuth disponível),UPSTREAM_ERROR(a API do Google Tasks retornou um erro HTTP),SERVER_ERROR(falha inesperada no lado do servidor).
Parâmetros Comuns
tasklist_id— O ID exclusivo de uma lista do Google Tasks. Obtenha-o delist_task_lists,create_tasklistou do campoidde qualquer resposta de lista de tarefas. Necessário para toda ferramenta de nível de tarefa e de nível de lista de tarefas.task_id— O ID exclusivo de uma tarefa do Google Tasks dentro de uma lista de tarefas. Obtenha-o delist_tasks,add_taskou do campoidde qualquer resposta de tarefa.next_page_token— Retornado porlist_task_listselist_tasksquando a API subjacente do Google Tasks indica que existem mais resultados. Este servidor atualmente transmite uma única página da API upstream e não expõe um parâmetro de entrada para solicitar páginas subsequentes.
Formatos de Recursos
ID da Lista de Tarefas (tasklist_id):
Opaque identifier assigned by the Google Tasks API, or the literal value `@default` for the user's default task list.
Example: MDAxMjM0NTY3ODkwMTIzNDU2Nzo6MA
ID da Tarefa (task_id):
Opaque identifier assigned by the Google Tasks API when a task is created.
Example: MTIzNDU2Nzg5MDEyMzQ1Njc4OTA
Data de Vencimento (due):
RFC 3339 timestamp.
Example: 2026-06-17T00:00:00.000Z
Solução de Problemas
Cabeçalhos Ausentes ou Inválidos
- Causa: Chave de API não fornecida nos cabeçalhos da solicitação ou formato incorreto
- Solução:
- Verifique se os cabeçalhos
Authorization: Bearer YOUR_API_KEYeX-Mewcp-Credential-Id: CREDENTIAL-IDestão presentes - Verifique se a chave de API está ativa na sua conta MewCP
- Verifique se os cabeçalhos
Créditos Insuficientes
- Causa: As chamadas de API excederam seus limites de solicitação
- Solução:
- Verifique o uso de créditos no seu painel do Curious Layer
- Faça upgrade para um plano pago ou adicione créditos para limites maiores
- Entre em contato com o suporte para ajustes de crédito
Credencial Não Conectada
- Causa: Nenhuma credencial do Google Tasks vinculada à sua conta
- Solução:
- Vá para Credenciais no seu painel do MewCP
- Conecte sua conta do Google via OAuth
- Tente novamente a solicitação com o cabeçalho
X-Mewcp-Credential-Idcorreto
Payload de Solicitação Malformado
- Causa: O payload JSON é inválido ou está faltando campos obrigatórios
- Solução:
- Valide a sintaxe JSON antes de enviar
- Certifique-se de que todos os parâmetros obrigatórios da ferramenta estejam incluídos
- Verifique se os tipos de parâmetros correspondem aos valores esperados
Servidor Não Encontrado
- Causa: Nome incorreto do servidor no endpoint da API
- Solução:
- Verifique o formato do endpoint:
{server-name}/mcp/{tool-name} - Use o nome correto do servidor conforme a documentação
- Verifique os servidores disponíveis na sua conta do Curious Layer
- Verifique o formato do endpoint:
Erro da API do Google Tasks
- Causa: A API upstream do Google Tasks retornou um erro
- Solução:
- Verifique o status do serviço do Google em Página de Status do Google Workspace
- Verifique se sua credencial tem as permissões necessárias do Google Tasks
- Revise a mensagem de erro para obter detalhes específicos
Recursos
- Documentação da API do Google Tasks — Referência oficial da API
- Referência da API do Google Tasks — Referência completa de endpoints
- Documentação do FastMCP — Especificação do FastMCP
- Credenciais do FastMCP — Pacote de Credenciais do FastMCP para gerenciamento de credenciais