Todoist

Implementación completa de la API REST de Todoist para el servidor MCP

Documentación

Todoist MCP Server

Una implementación de servidor del Model Context Protocol (MCP) que integra Claude y otros asistentes de IA con Todoist, permitiendo la gestión de tareas en lenguaje natural.

Características

  • Integración completa con la API de Todoist: Acceso a la API REST v2 completa de Todoist y soporte para la API Sync de Todoist a través de lenguaje natural
  • Procesamiento por lotes: El cliente puede procesar múltiples tareas en una sola solicitud
  • Búsqueda por nombre: La IA puede buscar tareas, proyectos y etiquetas por nombre en lugar de por ID
  • Tareas: Crear, actualizar, cerrar, reabrir, mover y eliminar tareas usando lenguaje conversacional
  • Proyectos: Crear y gestionar proyectos y secciones
  • Comentarios: Añadir y gestionar comentarios en tareas y proyectos
  • Etiquetas: Crear y gestionar etiquetas personales y compartidas
  • Contexto inteligente: Al iniciar, proporciona automáticamente tus proyectos y etiquetas a la IA mediante instrucciones del servidor — no se necesitan llamadas de herramientas adicionales
  • Soporte de prompts: Puedes proporcionar fácilmente información sobre tus proyectos al cliente

Configuración

Necesitarás un token de API de Todoist para usar este servidor MCP.

Obtención de un token de API de Todoist

  1. Inicia sesión en tu cuenta de Todoist
  2. Ve a Configuración → Integraciones
  3. Encuentra tu token de API en "Desarrollador"

Uso

Añade a mcpServers en la configuración de tu plataforma:

"todoist": {
    "command": "npx",
    "args": ["-y", "todoist-mcp"],
    "env": { "API_KEY": "your_todoist_api_token" }
}
PlataformaConfiguración
Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.json (macOS), %APPDATA%\Claude\ (Windows)
Claude Code.mcp.jsonclaude mcp add --transport stdio --scope project --env API_KEY=token todoist -- npx -y todoist-mcp
Cursor~/.cursor/mcp.json o .cursor/mcp.json
Codex~/.codex/config.toml o .codex/config.toml — ver ejemplo abajo
Gemini CLI~/.gemini/settings.jsongemini mcp add -e API_KEY=token todoist npx -y todoist-mcp

Codex — CLI:

codex mcp add todoist --env API_KEY=your_token -- npx -y todoist-mcp

O añade a config.toml:

[mcp_servers.todoist]
command = "npx"
args = ["-y", "todoist-mcp"]

[mcp_servers.todoist.env]
API_KEY = "your_todoist_api_token"

Herramientas Disponibles

Tareas

  • get_tasks_list: Obtener tareas con filtrado opcional por proyecto, sección, etiqueta o IDs
  • get_tasks_by_filter: Obtener tareas usando el lenguaje de filtros de Todoist (p. ej. "today", "overdue", "P1 | P2", "#Work & @urgent")
  • create_tasks: Crear nuevas tareas con varios atributos
  • get_tasks: Obtener tareas específicas por ID o nombre
  • update_tasks: Actualizar tareas existentes
  • close_tasks: Marcar tareas como completadas
  • reopen_tasks: Reabrir tareas completadas
  • delete_tasks: Eliminar tareas
  • move_tasks: Mover tareas a un proyecto o sección diferente

Proyectos

  • get_projects_list: Obtener todos los proyectos
  • create_projects: Crear nuevos proyectos
  • get_projects: Obtener proyectos específicos por ID o nombre
  • update_projects: Actualizar proyectos existentes
  • delete_projects: Eliminar proyectos
  • get_collaborators: Obtener todos los colaboradores de un proyecto
  • move_projects: Mover proyectos a una ubicación diferente o subproyecto

Secciones

  • get_sections_list: Obtener todas las secciones o filtrar por proyecto
  • create_sections: Crear nuevas secciones
  • get_sections: Obtener secciones específicas por ID o nombre
  • update_sections: Actualizar secciones
  • delete_sections: Eliminar secciones

Comentarios

  • get_comments_list: Obtener comentarios de un proyecto o tarea
  • create_comments: Crear nuevos comentarios
  • get_comments: Obtener comentarios específicos por ID
  • update_comments: Actualizar comentarios
  • delete_comments: Eliminar comentarios

Etiquetas

  • get_labels_list: Obtener todas las etiquetas personales
  • create_labels: Crear nuevas etiquetas personales
  • get_labels: Obtener etiquetas personales por ID o nombre
  • update_labels: Actualizar etiquetas personales
  • delete_labels: Eliminar etiquetas personales
  • get_shared_labels: Obtener todas las etiquetas compartidas
  • rename_shared_labels: Renombrar etiquetas compartidas
  • remove_shared_labels: Eliminar etiquetas compartidas

Utilidades

  • utils_get_colors: Obtener colores disponibles para proyectos, etiquetas y filtros

Prompts

  • projects_list: Obtener lista de proyectos con sus secciones y parámetros en formato markdown

Ejemplo de Uso

Haz preguntas a tu asistente de IA (como Claude) como por ejemplo:

"What tasks do I have due today?"
"Create a task to review the quarterly report by next Friday"
"Make a new project called 'Home Renovation'"
"Add a comment to my meeting prep task"
"Show me all my high priority tasks"
"Create a label for 'Urgent' tasks with a red color"
"What projects do I have in my Todoist?"
"Mark my dentist appointment task as complete"

Desarrollo

# Install dependencies
npm install

# Build the project and run inspector
npm run build && npx @modelcontextprotocol/inspector -e API_KEY=YOUR_API_KEY_HERE node dist/index.js

Licencia

Este proyecto está licenciado bajo la Licencia MIT: consulta el archivo LICENSE para más detalles.

Problemas y Soporte

Si encuentras algún problema o necesitas soporte, por favor crea un issue en el repositorio de GitHub.