mcp-google-tasks

Servidor MCP para la API de Google Tasks: gestiona listas de tareas, crea y organiza tareas con fechas de vencimiento, notas y subtareas, realiza un seguimiento de la finalización y sincroniza cambios. Para Claude, Cursor, Codex y otros clientes de IA.

Documentación

A1 Google Tasks MCP

Español | Русский

npm Glama CI License: MIT

A1 Google Tasks MCP permite que una aplicación de IA gestione Google Tasks en lenguaje natural. Planifica un proyecto como una lista de tareas, divide el trabajo en subtareas con fechas de vencimiento y notas, marca las cosas como completadas y mantén todo en orden.

Utiliza la API de Google Tasks con tu cuenta de Google. Separa la finalización reversible de la eliminación permanente y hace explícitos los límites de la API de Tasks en lugar de dar a entender que todas las funciones de tareas pendientes son posibles.

  • 21 herramientas. Lista, crea y actualiza listas de tareas y tareas, mueve tareas, gestiona la finalización, limpia el trabajo completado y accede a la API sin procesar cuando falta una herramienta dedicada.
  • Se conecta desde la conversación. Di "conectar Google Tasks": el servidor te guía a través del cliente OAuth, captura la redirección de Google en 127.0.0.1 con PKCE y guarda los tokens él mismo — sin archivos de configuración, sin reinicios.
  • La finalización es reversible, la eliminación no. complete_task tiene deshacer (reopen_task); las herramientas de eliminación están separadas y marcadas como destructivas.
  • Las fechas de vencimiento son honestas. La API almacena solo la fecha del calendario — el servidor nunca finge programar una hora del día; las horas pertenecen a las notas.
  • Alcance mínimo de Google. Un único alcance tasks, sin acceso a Drive, Calendar o Gmail.

Comienza con una pregunta de solo lectura:

Muéstrame mis listas de tareas y todo lo que vence antes del viernes en mi lista predeterminada.

Conectar el servidor · Explorar casos de uso · Abrir documentación técnica


Véalo funcionar en un minuto

Tú: ¿Qué sigue abierto en la lista "Lanzamiento del sitio web" y qué vence esta semana?

Asistente: Muestra las tareas abiertas con sus fechas de vencimiento, notas y subtareas. No cambia nada.

Tú: Agrega una tarea "Enviar el anuncio de lanzamiento" con vencimiento el viernes como subtarea de "Marketing".

Asistente: Muestra la lista de destino, la tarea principal y la tarea propuesta, luego pide confirmación antes de crearla.

Tú: Confirmar.

Asistente: Crea la subtarea con fecha de vencimiento el viernes. No completa ni elimina nada a menos que lo pidas por separado.

Contenido

Inicio rápido

Necesitas Node.js 20+ y una cuenta de Google. No se requieren credenciales al momento de la instalación — el servidor se conecta desde la conversación.

  1. Agrega el servidor a tu aplicación de IA.
  2. Di "conectar Google Tasks": el asistente te guía para crear el cliente OAuth y aprobar el acceso sin editar archivos de configuración.
  3. Haz la pregunta de solo lectura anterior.
Codex

En la aplicación: abre Configuración → Servidores MCP, selecciona Agregar servidor, elige STDIO, ingresa el comando npx -y mcp-google-tasks@latest y las variables de entorno GOOGLE_TASKS_CLIENT_ID, GOOGLE_TASKS_CLIENT_SECRET, GOOGLE_TASKS_REFRESH_TOKEN, luego selecciona Guardar y Reiniciar.

Desde la línea de comandos:

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

Documentación de MCP de Codex

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

Documentación de MCP de Claude Code

Claude Desktop

La ruta oficial actual es Configuración → Extensiones. Para una extensión de escritorio personalizada, abre Configuración avanzada → Desarrollador de extensiones → Instalar extensión…, selecciona un archivo .mcpb y sigue las indicaciones.

Este repositorio actualmente publica un paquete npm stdio y no contiene un paquete .mcpb. Para compilaciones de Claude Desktop que aún admiten configuración local, usa la siguiente configuración JSON stdio como alternativa:

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

En esas compilaciones, guárdalo en ~/Library/Application Support/Claude/claude_desktop_config.json en macOS o %APPDATA%\Claude\claude_desktop_config.json en Windows.

Documentación de MCP de Claude Desktop

Cursor

Agrega esto a ~/.cursor/mcp.json en macOS/Linux o %USERPROFILE%\.cursor\mcp.json en Windows:

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

Documentación de MCP de Cursor

VS Code

Ejecuta MCP: Abrir configuración de usuario y agrega:

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

Verifícalo con MCP: Listar servidores.

Documentación de MCP de VS Code

Qué puedes pedirle que haga

Ver tus listas y planificar el día

  • Muestra mis listas de tareas y las tareas abiertas en cada una.
  • ¿Qué vence esta semana en la lista predeterminada? Incluye subtareas.
  • ¿Qué cambió desde ayer? Incluye tareas completadas y ocultas.

Crear y organizar trabajo

  • Crea una lista "Lanzamiento del sitio web" con tareas para diseño, contenido y control de calidad.
  • Agrega una tarea con vencimiento el viernes con notas, anidada bajo la tarea "Marketing".
  • Mueve una tarea al principio de la lista, debajo de otra tarea o a una lista diferente.

Seguimiento de finalización

  • Marca la tarea de revisión como completada — y reábrela si el trabajo vuelve.
  • Limpia todas las tareas completadas de la vista de la lista de una sola vez.
  • Muestra las tareas ocultas que se limpiaron anteriormente.

Cómo cambia una tarea

  1. Las tareas viven en listas de tareas. Cada cuenta tiene una lista predeterminada integrada, identificada por el id especial @default; create_tasklist agrega más.
  2. Una tarea lleva un título, notas y una fecha de vencimiento solo de fecha — la API descarta la parte de la hora, por lo que una hora del día pertenece a las notas.
  3. El orden y el anidamiento cambian solo a través de move_task; el campo position de la API es de solo lectura.
  4. Completar una tarea es reversible: reopen_task la trae de vuelta. Eliminar una tarea o una lista es permanente, y eliminar una lista elimina todas las tareas que contiene.

Las tareas recurrentes no se pueden crear a través de la API. Las tareas asignadas desde Google Docs o Chat se pueden leer pero no crear ni mover a otra lista, y eliminarlas también las elimina en el documento de origen. No hay búsqueda ni ordenamiento del lado del servidor — el servidor lista las tareas y el cliente de IA las filtra.

Qué puede cambiar

OperaciónQué sucedeLímite de confirmación
Leer listas de tareas y tareasLee listas, tareas y sus filtrosSin cambios
Crear una lista de tareas o una tareaAgrega una lista o una tarea abiertaCambia Google Tasks
Actualizar una tarea o renombrar una listaCambia un título, notas o fecha de vencimientoCambia una tarea
Mover una tareaCambia el orden, el anidamiento o la lista contenedoraCambia una tarea
Completar o reabrir una tareaAlterna el estado de finalizaciónCambio reversible
Limpiar tareas completadasElimina todas las tareas completadas de una lista de la vistaDestructivo
Eliminar una tarea o una lista de tareasElimina la tarea, o la lista con todo lo que contieneDestructivo
Solicitud de API sin procesarPuede llamar métodos de API sin una herramienta dedicadaPotencialmente destructivo

El cliente de IA controla los avisos de confirmación. El servidor marca las herramientas de lectura, escritura y destructivas para que el cliente pueda distinguir una inspección de un cambio en vivo.

Obtener acceso

Google Tasks requiere OAuth 2.0; una clave de API no es suficiente. Hay dos formas de acceder, y la primera no necesita archivos de configuración.

Conectar desde el chat (recomendado)

Di "conectar Google Tasks" y el asistente ejecuta el flujo contigo:

  1. setup_instructions imprime la lista de verificación: crea o selecciona un proyecto de Google Cloud, habilita Google Tasks API, configura la pantalla de consentimiento y crea un cliente OAuth de Aplicación de escritorio.
  2. Descarga el JSON de ese cliente ("Descargar JSON") y dale al asistente su ruta — set_client lo almacena solo para el propietario. El secreto nunca pasa por la conversación.
  3. start_login devuelve un enlace de consentimiento de Google. Ábrelo en esta máquina y aprueba; el código vuelve a un listener de un solo uso en 127.0.0.1 (PKCE), nunca a través del chat.
  4. finish_login intercambia el código y guarda los tokens en ~/.config/mcp-google-tasks/credentials.json (modo 0600) y los verifica con una llamada real a la API de Google Tasks — así, una API que aún está desactivada se detecta allí mismo.

Los tokens se releen en cada llamada, por lo que la conexión funciona de inmediato — sin reiniciar la aplicación de IA. auth_status muestra qué está conectado, logout revoca y elimina.

Variables de entorno (CI, instalaciones desatendidas)

  1. Crea o selecciona un proyecto de Google Cloud y habilita Google Tasks API.

  2. Configura la pantalla de consentimiento OAuth y crea un cliente OAuth de Aplicación de escritorio.

  3. Autoriza la cuenta de Google que posee las tareas. El OAuth 2.0 Playground puede obtener el token de actualización cuando Usar tus propias credenciales OAuth está habilitado.

  4. Solicita el alcance:

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

Los tokens de actualización OAuth en modo de prueba pueden expirar después de siete días. Publica la aplicación OAuth, o usa una aplicación Interna en un dominio de Workspace, cuando necesites acceso de larga duración. Trata el secreto del cliente y el token de actualización como contraseñas.

Configuración

Cada variable es opcional — sin ninguna de ellas, el servidor se conecta desde el chat.

VariableRequeridaDescripción
GOOGLE_TASKS_CLIENT_IDNo*ID de cliente OAuth.
GOOGLE_TASKS_CLIENT_SECRETNo*Secreto de cliente OAuth.
GOOGLE_TASKS_REFRESH_TOKENNo*Token de actualización OAuth.
GOOGLE_TASKS_ACCESS_TOKENNo*Alternativa de corta duración al trío OAuth.
GOOGLE_TASKS_OAUTH_PORTNoPuerto de loopback fijo para el inicio de sesión en el chat; útil con reenvío de puertos SSH.
GOOGLE_TASKS_API_BASENoAnulación de la URL base de la API de Google Tasks.
GOOGLE_TASKS_TIMEOUT_MSNoTiempo de espera por solicitud; predeterminado 60000 ms.
GOOGLE_TASKS_MAX_RETRIESNoReintentos de errores temporales; predeterminado 3.

* Proporciona el trío OAuth o un token de acceso.

Sin credenciales, el servidor aún se inicia y completa el protocolo de enlace MCP; la primera llamada a una herramienta falla con un mensaje que nombra las variables a configurar y pide un reinicio.

Datos, límites y trabajo en segundo plano

  • Las solicitudes van a Google Tasks. El servidor local actualiza los tokens OAuth de Google y llama a la API de Tasks. Su telemetría anónima contiene un ID de instalación, versión del paquete, cliente de IA y versiones de plataforma, y nombres de herramientas — nunca tokens OAuth, contenido de tareas, argumentos de herramientas o avisos. Configura ASKADS_TELEMETRY=0 para optar por no participar.
  • Google aplica una cuota diaria. La API de Tasks tiene un límite de cortesía de 50,000 consultas por día por proyecto. En 429, el servidor usa retroceso; las lecturas también reintentan después de errores de red y 5xx, mientras que las escrituras no se reproducen después de una falla incierta — verifica el resultado con get_task en su lugar.
  • No hay sondeo en segundo plano. El servidor solo se ejecuta cuando se le llama. list_tasks admite sincronización incremental a través del filtro updated_min, por lo que una aplicación de IA con tareas programadas puede verificar cambios periódicamente sin releer todo.

Documentación técnica

Soporte

¿Encontraste un error o necesitas un escenario? Crea un problema o escribe en Telegram.


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

¡Llegaste al final!