MewCP Google Tasks MCP
Servidor MCP de Google Tasks alojado, sin estado y multiinquilino que permite a los asistentes de IA gestionar tareas y listas de tareas a través de Google Tasks.
Documentación
Crea, rastrea y gestiona Google Tasks y listas de tareas — directamente desde tus flujos de trabajo de IA.
Un servidor de Model Context Protocol (MCP) que expone la API de Google Tasks para crear, listar, actualizar, completar y eliminar tareas y listas de tareas.
Resumen
El servidor MCP de Google Tasks proporciona acceso programático completo a Google Tasks a través de una interfaz multi-tenant sin estado:
- Listar, crear, actualizar y eliminar listas de tareas
- Listar, crear, buscar, actualizar, completar y eliminar tareas individuales
- Cada herramienta de mutación que sobrescribe el estado (
update_task,update_tasklist) devuelve tanto el estado anterior como el posterior del recurso
Perfecto para:
- Automatizar la gestión de listas de tareas y el seguimiento de tareas desde agentes de IA
- Crear asistentes que puedan crear y completar tareas en nombre de un usuario
- Integrar acciones de Google Tasks en pipelines y recordatorios impulsados por LLM
Herramientas
list_task_lists — Listar todas las listas de tareas
Lista todas las listas de tareas accesibles por el usuario. Devuelve los IDs de las listas de tareas, títulos y metadatos. Usa el ID de la lista de tareas de la respuesta para acceder a las tareas dentro de una lista.
Entradas:
(none)
Esquema de salida 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 — Crear una nueva tarea
Crea una nueva tarea en una lista de tareas específica. Proporciona el ID de la lista de tareas, el título y notas y fecha de vencimiento opcionales. Devuelve la tarea creada con su ID asignado.
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 salida 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 — Obtener los detalles de una tarea
Obtiene el detalle de una tarea específica de la lista de tareas. Devuelve el objeto completo de la tarea, incluyendo título, notas, fecha de vencimiento, estado y posición.
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 salida 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 — Buscar una tarea por título
Obtiene los detalles de la tarea a partir del nombre de la tarea. Busca en una lista de tareas una tarea por su título y devuelve los detalles de la tarea coincidente.
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 salida 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 — Eliminar permanentemente una tarea (destructivo)
DESTRUCTIVO — REQUIERE CONFIRMACIÓN EXPLÍCITA DEL USUARIO ANTES DE LLAMAR. Elimina permanentemente una tarea específica de la lista de tareas. Esta acción es irreversible: la tarea eliminada y todos sus datos no se pueden recuperar. NUNCA llames a esta herramienta de forma autónoma o como parte de un flujo automatizado. DEBES detenerte, decirle al usuario exactamente qué se eliminará y que es permanente, y esperar su confirmación escrita explícita antes de continuar.
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 salida 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 una tarea como completada
Marca una tarea específica como completada de la lista de tareas. Establece el estado de la tarea a 'completada'. Devuelve el objeto de tarea actualizado.
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 salida 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 — Actualizar una tarea existente
Actualiza una tarea existente. Solo se cambian los campos que proporcionas; los demás conservan su valor actual. NOTA: esto sobrescribe los valores de campo actuales: el estado original no se almacena después de la llamada. La respuesta incluye tanto el estado anterior como el posterior para que tengas un registro completo de lo que cambió.
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 salida 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 — Crear una nueva lista de tareas
Crea una lista de tareas completamente nueva. Devuelve la lista de tareas creada con su ID asignado y metadatos.
Entradas:
- `tasklist_name` (string, required) — The name of the Google Tasks list.
Esquema de salida data:
{
id: string;
title: string | null;
updated: string | null;
etag: string | null;
kind: string | null;
selfLink: string | null;
}
update_tasklist — Renombrar una lista de tareas existente
Actualiza el nombre de una lista de tareas específica. La respuesta incluye tanto el estado anterior como el posterior para que tengas un registro completo de lo que cambió.
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 salida 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 las tareas en una lista de tareas
Lista todas las tareas presentes en la lista de tareas específica. Devuelve los IDs de tareas, títulos, estados y otros metadatos de todas las tareas de la lista.
Entradas:
- `tasklist_id` (string, required) — The unique ID of the Google Tasks list.
Esquema de salida 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 — Obtener los detalles de una lista de tareas
Obtiene los detalles o metadatos de una lista de tareas específica. Devuelve el ID de la lista de tareas, el título y la marca de tiempo de la última actualización.
Entradas:
- `tasklist_id` (string, required) — The unique ID of the Google Tasks list.
Esquema de salida data:
{
id: string;
title: string | null;
updated: string | null;
etag: string | null;
kind: string | null;
selfLink: string | null;
}
delete_tasklist — Eliminar permanentemente una lista de tareas (destructivo)
DESTRUCTIVO — REQUIERE CONFIRMACIÓN EXPLÍCITA DEL USUARIO ANTES DE LLAMAR. Elimina permanentemente una lista de tareas completa con todas sus tareas. Esta acción es irreversible: la lista de tareas y todas sus tareas no se pueden recuperar. NUNCA llames a esta herramienta de forma autónoma o como parte de un flujo automatizado. DEBES detenerte, decirle al usuario exactamente qué se eliminará y que es permanente, y esperar su confirmación escrita explícita antes de continuar.
Entradas:
- `tasklist_id` (string, required) — The unique ID of the Google Tasks list.
Esquema de salida data:
{
id: string;
title: string | null;
updated: string | null;
etag: string | null;
kind: string | null;
selfLink: string | null;
}
Referencia de Parámetros de API
Envoltura de Respuesta
Cada herramienta devuelve la misma envoltura de nivel superior. Solo data varía según la herramienta.
// 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—truecuando es seguro reintentar (límite de velocidad, error de red, 503).falsepara autenticación, no encontrado y otros errores no transitorios.retry_after_seconds— segundos a esperar antes de reintentar; presente solo cuandoretriableestruey el proveedor upstream especifica un retraso.error.code— cadena legible por máquina:NOT_FOUND(get_task_by_nameno encontró coincidencia),AUTH_ERROR(no hay token de acceso OAuth disponible),UPSTREAM_ERROR(la API de Google Tasks devolvió un error HTTP),SERVER_ERROR(fallo inesperado del lado del servidor).
Parámetros Comunes
tasklist_id— El ID único de una lista de Google Tasks. Obtenlo delist_task_lists,create_tasklisto del campoidde cualquier respuesta de lista de tareas. Requerido por cada herramienta de nivel de tarea y de nivel de lista de tareas.task_id— El ID único de una tarea de Google dentro de una lista de tareas. Obtenlo delist_tasks,add_tasko del campoidde cualquier respuesta de tarea.next_page_token— Devuelto porlist_task_listsylist_taskscuando la API subyacente de Google Tasks indica que existen más resultados. Este servidor actualmente pasa una sola página de la API upstream y no expone un parámetro de entrada para solicitar páginas posteriores.
Formatos de Recursos
ID de Lista de Tareas (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 de Tarea (task_id):
Opaque identifier assigned by the Google Tasks API when a task is created.
Example: MTIzNDU2Nzg5MDEyMzQ1Njc4OTA
Fecha de Vencimiento (due):
RFC 3339 timestamp.
Example: 2026-06-17T00:00:00.000Z
Solución de Problemas
Encabezados Faltantes o Inválidos
- Causa: Clave de API no proporcionada en los encabezados de la solicitud o formato incorrecto
- Solución:
- Verifica que los encabezados
Authorization: Bearer YOUR_API_KEYyX-Mewcp-Credential-Id: CREDENTIAL-IDestén presentes - Comprueba que la clave de API esté activa en tu cuenta de MewCP
- Verifica que los encabezados
Créditos Insuficientes
- Causa: Las llamadas a la API han excedido tus límites de solicitud
- Solución:
- Revisa el uso de créditos en tu panel de Curious Layer
- Mejora a un plan de pago o agrega créditos para límites más altos
- Contacta al soporte para ajustes de créditos
Credencial No Conectada
- Causa: No hay una credencial de Google Tasks vinculada a tu cuenta
- Solución:
- Ve a Credenciales en tu panel de MewCP
- Conecta tu cuenta de Google mediante OAuth
- Reintenta la solicitud con el encabezado
X-Mewcp-Credential-Idcorrecto
Carga Útil de Solicitud Malformada
- Causa: El JSON de la carga útil es inválido o faltan campos requeridos
- Solución:
- Valida la sintaxis JSON antes de enviar
- Asegúrate de que todos los parámetros requeridos de la herramienta estén incluidos
- Comprueba que los tipos de parámetros coincidan con los valores esperados
Servidor No Encontrado
- Causa: Nombre de servidor incorrecto en el endpoint de la API
- Solución:
- Verifica el formato del endpoint:
{server-name}/mcp/{tool-name} - Usa el nombre de servidor correcto de la documentación
- Revisa los servidores disponibles en tu cuenta de Curious Layer
- Verifica el formato del endpoint:
Error de la API de Google Tasks
- Causa: La API upstream de Google Tasks devolvió un error
- Solución:
- Revisa el estado del servicio de Google en Página de Estado de Google Workspace
- Verifica que tu credencial tenga los permisos requeridos de Google Tasks
- Revisa el mensaje de error para obtener detalles específicos
Recursos
- Documentación de la API de Google Tasks — Referencia oficial de la API
- Referencia de la API de Google Tasks — Referencia completa de endpoints
- Documentación de FastMCP — Especificación de FastMCP
- Credenciales de FastMCP — Paquete de Credenciales de FastMCP para el manejo de credenciales