Microsoft Todo MCP Service

by jhirono
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Microsoft To Do MCP

Este servicio MCP (Protocolo de contexto de modelo) le permite interactuar con tareas de Microsoft To Do mediante un asistente de IA.

Instrucciones de configuración

1. Requisitos previos

  • Node.js 16 o superior
  • npm
  • Una cuenta de Microsoft
  • Registro de aplicaciones de Azure (ver configuración a continuación)

2. Instalación

La instalación de esta herramienta consta de dos partes:

  1. Instalación del paquete
  2. Configuración de la autenticación (requiere clonar el repositorio)

Paso 1: Instalar el paquete

npm install -g @jhirono/todomcp

Paso 2: Configurar la autenticación

Incluso si instala el paquete globalmente, necesitará clonar el repositorio para completar el proceso de autenticación:

git clone https://github.com/jhirono/todoMCP.git cd todoMCP npm install

3. Registro de aplicaciones de Azure

  1. Vaya al portal de Azure
  2. Vaya a "Registros de aplicaciones" y cree un nuevo registro.
  3. Nombre su aplicación (por ejemplo, "Para hacer MCP")
  4. Para "Tipos de cuentas compatibles", seleccione una de las siguientes opciones según sus necesidades:
    • Cuentas solo en este directorio organizacional (inquilino único) : para uso dentro de una sola organización
    • Cuentas en cualquier directorio organizacional (cualquier directorio de Azure AD - Multiinquilino) : para usar en varias organizaciones
    • Cuentas en cualquier directorio organizacional y cuentas personales de Microsoft : tanto para cuentas de trabajo como para cuentas personales
  5. Establezca la URI de redirección en http://localhost:3000/callback
  6. Después de crear la aplicación, vaya a "Certificados y secretos" y cree un nuevo secreto de cliente.
  7. Vaya a "Permisos de API" y agregue los siguientes permisos:
    • Microsoft Graph > Permisos delegados:
      • Tareas.Leer
      • Tareas.Lectura y escritura
      • Usuario.Lectura
  8. Haga clic en "Otorgar consentimiento de administrador" para estos permisos.

4. Configuración

Cree un archivo .env en el directorio raíz con la siguiente información:

CLIENT_ID=your_client_id CLIENT_SECRET=your_client_secret TENANT_ID=your_tenant_setting REDIRECT_URI=http://localhost:3000/callback

Opciones de TENANT_ID:

  • organizations : para cuentas organizativas multiinquilino (predeterminado si no se especifica)
  • consumers - Solo para cuentas personales de Microsoft
  • common - Tanto para cuentas organizacionales como personales
  • your-specific-tenant-id - Para configuraciones de un solo inquilino

Ejemplos:

# For multi-tenant organizational accounts (default) TENANT_ID=organizations # For personal Microsoft accounts TENANT_ID=consumers # For both organizational and personal accounts TENANT_ID=common # For a specific organization tenant TENANT_ID=00000000-0000-0000-0000-000000000000

Uso

Flujo de trabajo completo

  1. Autenticarse para obtener tokens (debe hacerse desde el repositorio clonado)
    npm run auth
    Esto abrirá una ventana del navegador para que pueda autenticarse con Microsoft y crear un archivo tokens.json .
  2. Crear el archivo de configuración MCP (debe hacerse desde el repositorio clonado)
    npm run create-config
    Esto crea un archivo mcp.json con sus tokens de autenticación.
  3. Configurar la configuración global de MCP
    # Copy the mcp.json file to your global Cursor configuration directory cp mcp.json ~/.cursor/mcp-servers.json
    Esto hace que Microsoft To Do MCP esté disponible en todos sus proyectos de Cursor.
  4. Empieza a usarlo con tu asistente de IA
    • En Cursor, ahora puedes usar comandos de Microsoft To Do directamente en cualquier proyecto
    • Pruebe comandos como auth status o list up todos para comenzar

El archivo de configuración de Claude Desktop se encuentra en:

  • macOS : ~/Library/Application Support/Claude/claude_desktop_config.json
  • Ventanas : %APPDATA%\Claude\claude_desktop_config.json
  • Linux : ~/.config/Claude/claude_desktop_config.json

Herramientas disponibles

  • auth-status : Comprueba tu estado de autenticación
  • get-task-lists : obtén todas tus listas de tareas pendientes
  • create-task-list : Crea una nueva lista de tareas
  • update-task-list : Actualizar una lista de tareas existente
  • delete-task-list : Eliminar una lista de tareas
  • get-tasks : Obtener todas las tareas en una lista
  • create-task : Crea una nueva tarea
  • update-task : Actualizar una tarea existente
  • delete-task : Eliminar una tarea
  • get-checklist-items : Obtener elementos de la lista de verificación para una tarea
  • create-checklist-item : Crea un elemento de lista de verificación
  • update-checklist-item : Actualizar un elemento de la lista de verificación
  • delete-checklist-item : eliminar un elemento de la lista de verificación

Limitaciones

  • La API requiere autenticación y permisos adecuados
  • Se pueden aplicar límites de velocidad según las políticas de Microsoft.

Solución de problemas

Problemas de autenticación

  • Error "MailboxNotEnabledForRESTAPI" : Esto suele significar que estás usando una cuenta personal de Microsoft. El acceso a la API de Microsoft To Do está limitado para cuentas personales a través de la API Graph.
  • Errores de adquisición de token : asegúrese de que CLIENT_ID , CLIENT_SECRET y TENANT_ID sean correctos en su archivo .env .
  • Problemas de permisos : asegúrese de haber otorgado el consentimiento del administrador para los permisos necesarios en el registro de su aplicación de Azure.

Problemas con el tipo de cuenta

  • Cuentas profesionales o educativas : Suelen funcionar mejor con la API de tareas pendientes. Use TENANT_ID=organizations o su ID de inquilino específico.
  • Cuentas personales : Tienen acceso limitado a la API de tareas pendientes. Si necesita usar una cuenta personal, pruebe con TENANT_ID=consumers o TENANT_ID=common .

Comprobación del estado de autenticación

Puede comprobar su estado de autenticación utilizando la herramienta auth-status o examinando el tiempo de expiración de sus tokens:

cat tokens.json | grep expiresAt

Para convertir la marca de tiempo en una fecha legible:

date -r $(echo "$(cat tokens.json | grep expiresAt | cut -d ":" -f2 | cut -d "," -f1) / 1000" | bc)

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Un servicio de Protocolo de Contexto de Modelo para Claude que permite la interacción en lenguaje natural con tareas de Microsoft Todo, incluida la visualización de listas de tareas, la creación de tareas y la administración de elementos de la lista de verificación.

  1. Setup Instructions
    1. 1. Prerequisites
    2. 2. Installation
    3. 3. Azure App Registration
    4. 4. Configuration
  2. Usage
    1. Complete Workflow
  3. Available Tools
    1. Limitations
      1. Troubleshooting
        1. Authentication Issues
        2. Account Type Issues
        3. Checking Authentication Status
      ID: mzlsn1su89