Google Tasks

Integra con Google Tasks para gestionar tus listas de tareas y tareas pendientes.

Documentación

Servidor MCP de Google Tasks

Este servidor de Protocolo de Contexto de Modelo (MCP) proporciona un puente entre los clientes MCP y Google Tasks, permitiéndote gestionar tus listas de tareas y tareas directamente desde clientes como Claude Desktop, Cursor y Codex.

[!NOTE] Todo el código (salvo algunas ediciones) de este proyecto fue "vibe coded" - generado con Claude/Copilot con instrucciones mías.

Características

Este servidor MCP proporciona la siguiente funcionalidad:

Gestión de Listas de Tareas

  • list-tasklists - Lista todas tus listas de tareas
  • get-tasklist - Obtén detalles sobre una lista de tareas específica
  • create-tasklist - Crea una nueva lista de tareas
  • update-tasklist - Actualiza una lista de tareas existente
  • delete-tasklist - Elimina una lista de tareas

Gestión de Tareas

  • list-tasks - Lista todas las tareas en una lista de tareas, incluyendo resultados paginados
  • get-task - Obtén detalles sobre una tarea específica
  • create-task - Crea una nueva tarea
  • update-task - Actualiza una tarea existente
  • delete-task - Elimina una tarea
  • complete-task - Marca una tarea como completada
  • move-task - Mueve una tarea (reordenar, cambiar de padre, o mover entre listas de tareas)
  • clear-completed-tasks - Limpia todas las tareas completadas de una lista

Instrucciones de Configuración

1. Crear Proyecto en Google Cloud y Habilitar la API

  1. Ve a la Consola de Google Cloud
  2. Crea un nuevo proyecto
  3. Navega a "APIs y Servicios" > "Biblioteca"
  4. Busca "Google Tasks API" y habilítala
  5. Ve a "APIs y Servicios" > "Credenciales"
  6. Haz clic en "Crear Credenciales" > "ID de Cliente OAuth"
  7. Configura la pantalla de consentimiento OAuth (Externo es suficiente para uso personal)
  8. Para Tipo de Aplicación, selecciona "Aplicación web"
  9. Añade "http://localhost:3000/oauth2callback" como URI de redirección autorizada
  10. Crea el ID de cliente y el secreto

2. Configurar Variables de Entorno

Crea un archivo .env en el directorio de este proyecto:

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

Variables de Entorno:

  • GOOGLE_CLIENT_ID (requerido) - Tu ID de Cliente OAuth de Google
  • GOOGLE_CLIENT_SECRET (requerido) - Tu Secreto de Cliente OAuth de Google
  • GOOGLE_REDIRECT_URI (opcional) - URI de redirección OAuth (por defecto es http://localhost:3000/oauth2callback)

Nota: El servidor valida que GOOGLE_CLIENT_ID y GOOGLE_CLIENT_SECRET estén configurados al iniciar y fallará con mensajes de error claros si faltan o son inválidos.

3. Compilar el Servidor

  1. Instala las dependencias:
npm install
  1. Compila el servidor:
npm run build

4. Configurar un Cliente MCP

Codex

Añade el servidor a ~/.codex/config.toml:

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

Reemplaza /path/to/google-tasks-mcp con la ruta a este proyecto, luego reinicia Codex.

Para verificar que el servidor está registrado:

codex mcp list
codex mcp get google-tasks

Claude para Desktop

  1. Instala Claude para Desktop
  2. Abre el archivo de configuración de Claude:
    • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  3. Añade la configuración del servidor MCP de Google Tasks:
{
  "mcpServers": {
    "google-tasks": {
      "command": "node",
      "args": ["/path/to/google-tasks-mcp/build/index.js"]
    }
  }
}

Reemplaza la ruta con tu propio valor, luego reinicia Claude para Desktop.

Flujo de Autenticación

Cuando uses el servidor MCP de Google Tasks por primera vez:

  1. Usa la herramienta authenticate para obtener una URL de autorización
  2. Visita la URL en tu navegador e inicia sesión con tu cuenta de Google
  3. Después de autorizar, recibirás un código en la página del navegador
  4. Usa la herramienta set-auth-code con este código para completar la autenticación
  5. Ahora puedes usar todas las demás herramientas para interactuar con Google Tasks

Nota: Tus tokens de autenticación (incluyendo los tokens de actualización) se guardan automáticamente en disco en ~/.config/google-tasks-mcp/credentials.json con permisos restringidos (600). Esto significa:

  • Solo necesitas autenticarte una vez - las credenciales persisten entre reinicios del servidor
  • Actualización automática de tokens - Los tokens de acceso se actualizan automáticamente cuando expiran (normalmente después de 1 hora) usando el token de actualización guardado
  • No se necesita re-autenticación - Después de la configuración inicial, no necesitarás autenticarte de nuevo a menos que revoques el acceso o elimines el archivo de credenciales

Requisitos

  • Node.js 20+ (ver package.json engines)
  • Un cliente compatible con MCP
  • Proyecto en Google Cloud con la API de Tasks habilitada

Características de Implementación

Este servidor MCP incluye las siguientes mejoras:

  • Almacenamiento persistente de tokens - Las credenciales de autenticación se guardan en disco (~/.config/google-tasks-mcp/credentials.json) con permisos restringidos, por lo que solo necesitas autenticarte una vez
  • Validación de variables de entorno - La validación al inicio asegura que las credenciales requeridas estén configuradas con mensajes de error claros
  • Actualización automática de tokens - Los tokens OAuth se actualizan automáticamente cuando expiran, eliminando la necesidad de re-autenticarse durante sesiones activas o después de reinicios
  • Validación mejorada de entradas - Validación exhaustiva de todas las entradas incluyendo formatos de ID, longitudes de cadenas y formatos de fecha RFC 3339
  • Saneamiento de HTML - Las respuestas de devolución de llamada OAuth se sanean para prevenir vulnerabilidades XSS
  • Apagado elegante - Limpieza adecuada de recursos en señales SIGINT/SIGTERM
  • Seguridad de tipos - Seguridad de tipos completa de TypeScript en todo el código con interfaces adecuadas
  • URI de redirección configurable - La URI de redirección OAuth se puede personalizar mediante la variable de entorno GOOGLE_REDIRECT_URI

Capturas de Pantalla

Claude Desktop

Claude Desktop Screenshot

Cursor

Cursor Screenshot

Licencia

Este proyecto es solo para fines de demostración. Úsalo bajo tu propio riesgo.