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 tareasget-tasklist- Obtén detalles sobre una lista de tareas específicacreate-tasklist- Crea una nueva lista de tareasupdate-tasklist- Actualiza una lista de tareas existentedelete-tasklist- Elimina una lista de tareas
Gestión de Tareas
list-tasks- Lista todas las tareas en una lista de tareas, incluyendo resultados paginadosget-task- Obtén detalles sobre una tarea específicacreate-task- Crea una nueva tareaupdate-task- Actualiza una tarea existentedelete-task- Elimina una tareacomplete-task- Marca una tarea como completadamove-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
- Ve a la Consola de Google Cloud
- Crea un nuevo proyecto
- Navega a "APIs y Servicios" > "Biblioteca"
- Busca "Google Tasks API" y habilítala
- Ve a "APIs y Servicios" > "Credenciales"
- Haz clic en "Crear Credenciales" > "ID de Cliente OAuth"
- Configura la pantalla de consentimiento OAuth (Externo es suficiente para uso personal)
- Para Tipo de Aplicación, selecciona "Aplicación web"
- Añade "http://localhost:3000/oauth2callback" como URI de redirección autorizada
- 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 GoogleGOOGLE_CLIENT_SECRET(requerido) - Tu Secreto de Cliente OAuth de GoogleGOOGLE_REDIRECT_URI(opcional) - URI de redirección OAuth (por defecto eshttp://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
- Instala las dependencias:
npm install
- 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
- Instala Claude para Desktop
- Abre el archivo de configuración de Claude:
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- MacOS:
- 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:
- Usa la herramienta
authenticatepara obtener una URL de autorización - Visita la URL en tu navegador e inicia sesión con tu cuenta de Google
- Después de autorizar, recibirás un código en la página del navegador
- Usa la herramienta
set-auth-codecon este código para completar la autenticación - 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.jsonengines) - 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

Cursor

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