Todoist MCP

Interactúa con tu cuenta de Todoist para gestionar tareas y proyectos.

Documentación

Todoist MCP

Nota: previsiblemente obsoleto por el Todoist AI SDK, ver aquí.


Conecta este servidor Model Context Protocol a tu LLM para interactuar con Todoist.

Funcionalidad

Esta integración implementa todas las APIs disponibles del Todoist TypeScript Client, proporcionando acceso a:

Gestión de Tareas

  • Crear tareas (con contenido, descripciones, fechas de vencimiento, prioridades, etiquetas y más)
  • Crear tareas con lenguaje natural (p. ej., "Enviar informe antes del viernes a las 5pm #Trabajo")
  • Recuperar tareas (individuales, filtradas o todas)
  • Recuperar tareas completadas (por fecha de finalización o fecha de vencimiento)
  • Obtener estadísticas de productividad
  • Actualizar tareas
  • Mover tareas (individualmente o en lotes)
  • Cerrar/reabrir tareas
  • Eliminar tareas

Gestión de Proyectos

  • Crear, recuperar, actualizar y eliminar proyectos

Gestión de Secciones

  • Crear, recuperar, actualizar y eliminar secciones dentro de proyectos

Gestión de Comentarios

  • Añadir, recuperar, actualizar y eliminar comentarios para tareas o proyectos

Gestión de Etiquetas

  • Crear, recuperar, actualizar y eliminar etiquetas
  • Gestionar etiquetas compartidas

Colaboración

  • Obtener colaboradores para proyectos

Configuración

Compilar la aplicación del servidor:

bun install
bun run build

Ejecutar en desarrollo

TODOIST_API_KEY=<key> bun dev

Despliegue con Docker:

docker compose up -d

Depuración:

Usa el inspector para depurar el servidor:


bunx @modelcontextprotocol/inspector

Configurar Claude:

Debes instalar la aplicación de escritorio Claude que soporta MCP.

Puedes obtener tu clave de API de Todoist desde Todoist > Configuración > Integraciones > Desarrollador.

Luego, en tu claude_desktop_config.json, añade un nuevo servidor MCP:

{
    "mcpServers": {
        "default-server": {
            "type": "streamable-http",
            "url": "http://localhost:3000/mcp",
            "note": "For Streamable HTTP connections, add this URL directly in your MCP Client"
        }
    }
}

Ahora puedes iniciar la aplicación de escritorio de Claude y pedirle que actualice Todoist.

🔐 Características de Seguridad

Este servidor MCP ha sido asegurado con medidas de seguridad de nivel empresarial:

  • Autenticación Requerida: Tokens JWT Bearer o autenticación con clave de API
  • Límite de Peticiones: Previene el abuso con límites configurables
  • Validación de Entrada: Validación y saneamiento integral de solicitudes
  • Cabeceras de Seguridad: CORS, CSP, HSTS y otras cabeceras de seguridad
  • Registro y Monitorización: Registro de eventos de seguridad y monitorización de solicitudes
  • Configuración de Entorno: Configuración segura mediante variables de entorno

Consulta SECURITY.md para documentación detallada de seguridad.

Configuración Rápida de Seguridad

  1. Generar tokens seguros:

    npm run setup-security
    
  2. Crear el archivo .env:

    cp .env.example .env
    # Add your generated tokens and Todoist API key
    
  3. Variables de Entorno Requeridas:

    JWT_SECRET=your_generated_jwt_secret_here
    TODOIST_API_KEY=your_todoist_api_key_here
    

Autenticación

El servidor soporta dos métodos de autenticación:

Método 1: Clave de API (Recomendado para scripts)

curl -X POST http://localhost:3000/mcp \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc": "2.0", "method": "tools/list", "id": 1}'

Método 2: Token JWT Bearer (Recomendado para aplicaciones)

curl -X POST http://localhost:3000/mcp \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc": "2.0", "method": "tools/list", "id": 1}'