MAG-Cie/mcp-microsoft-todo

Servidor MCP para Microsoft To Do via API Microsoft Graph. Gerencie listas de tarefas, crie, atualize, conclua e exclua tarefas a partir do Claude Code, Claude Desktop ou qualquer cliente compatível com MCP. Transporte stdio, autenticação MSAL por código de dispositivo e cache de token persistente.

O que é mcp-microsoft-todo?

O skill MAG-Cie/mcp-microsoft-todo é um servidor MCP (Model Context Protocol) que permite que agentes de IA, como Claude Code e Claude Desktop, interajam diretamente com o Microsoft To Do usando a API Microsoft Graph. Ele oferece funcionalidades completas de gerenciamento de tarefas, incluindo criação, atualização, conclusão e exclusão de tarefas, além de manipulação de listas de tarefas. A comunicação ocorre via transporte stdio, garantindo baixa latência e simplicidade de integração. A autenticação é feita com MSAL (Microsoft Authentication Library) usando o fluxo de código de dispositivo, ideal para ambientes headless, e os tokens são armazenados em cache persistente para evitar reautenticações frequentes. Este skill é útil para desenvolvedores que desejam automatizar fluxos de trabalho de produtividade ou integrar assistentes de IA com o ecossistema Microsoft, sem precisar de interfaces gráficas.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add MAG-Cie/mcp-microsoft-todo

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que mcp-microsoft-todo faz?

Servidor MCP para Microsoft To Do via API Microsoft Graph. Gerencie listas de tarefas, crie, atualize, conclua e exclua tarefas a partir do Claude Code, Claude Desktop ou qualquer cliente compatível com MCP. Transporte stdio, autenticação MSAL por código de dispositivo e cache de token persistente.

Funcionalidades

  • Listar todas as listas de tarefas – Obtenha todas as suas listas de tarefas do Microsoft To Do.
  • Criar nova lista de tarefas – Crie uma nova lista de tarefas personalizada.
  • Obter tarefas de uma lista – Recupere todas as tarefas de uma lista específica.
  • Criar tarefa – Adicione uma nova tarefa a uma lista.
  • Atualizar tarefa – Modifique o título, descrição, data de vencimento, importância ou status de conclusão de uma tarefa.
  • Concluir tarefa – Marque uma tarefa como concluída.
  • Excluir tarefa – Remova uma tarefa.
  • Cache de token persistente – Autentique uma vez e use tokens armazenados localmente.

Ferramentas

FerramentaDescrição
list_todo_listsLista todas as listas de tarefas do Microsoft To Do
create_todo_listCria uma nova lista de tarefas
get_tasksObtém todas as tarefas de uma lista de tarefas especificada
create_taskCria uma nova tarefa em uma lista de tarefas
update_taskAtualiza uma tarefa existente
complete_taskMarca uma tarefa como concluída
delete_taskExclui uma tarefa

Configuração

Pré-requisitos

  • Node.js 18+ instalado
  • Uma conta Microsoft com acesso ao Microsoft To Do
  • Um registro de aplicativo no Portal do Azure com as seguintes permissões da API Microsoft Graph:
    • Tasks.ReadWrite (Delegada) – para ler e escrever tarefas

Registrar aplicativo no Azure

  1. Acesse o Portal do Azure > Registros de aplicativo
  2. Clique em Novo registro
  3. Nomeie-o (ex: MCP Microsoft To Do)
  4. Em Tipos de conta com suporte, selecione Contas em qualquer diretório organizacional (Qualquer locatário do Microsoft Entra ID – Multilocatário)
  5. Clique em Registrar
  6. Na página de visão geral, copie o ID do aplicativo (cliente)
  7. Em Certificados e segredos, crie um novo segredo de cliente e anote o valor
  8. Em Permissões de API, adicione a permissão delegada Tasks.ReadWrite para Microsoft Graph
  9. Conceda consentimento de administrador (se necessário)

Configurar variáveis de ambiente

Renomeie .env.example para .env e preencha:

AZURE_CLIENT_ID=seu-id-do-aplicativo-cliente
AZURE_TENANT_ID=comum

Nota: O servidor usa fluxo de código de dispositivo (PublicClientApplication), então AZURE_TENANT_ID permanece "comum" para contas da Microsoft. O segredo do cliente não é necessário para fluxo de código público, mas a permissão Tasks.ReadWrite delegada é obrigatória.

Executar

npm install
npm run build
node dist/index.js

O servidor iniciará usando transporte stdio. Siga o prompt de autenticação exibido no terminal – visite a URL fornecida e insira o código de dispositivo.

Usar com Claude Desktop

Adicione ao seu claude_desktop_config.json:

{
  "mcpServers": {
    "microsoft-todo": {
      "command": "node",
      "args": ["caminho/para/mcp-microsoft-todo/dist/index.js"],
      "env": {
        "AZURE_CLIENT_ID": "seu-id-do-aplicativo-cliente",
        "AZURE_TENANT_ID": "comum"
      }
    }
  }
}

Autenticação

No primeiro uso, o servidor solicitará login via fluxo de código de dispositivo:

  1. Uma URL e um código serão exibidos no terminal
  2. Acesse a URL em qualquer navegador (pode ser em outro dispositivo)
  3. Insira o código exibido
  4. Faça login na sua conta Microsoft e consinta as permissões

O token de acesso será armazenado em cache no disco (no diretório do servidor). Em execuções futuras, o token será renovado automaticamente, a menos que expire ou seja revogado.

Exemplos

Listar todas as listas de tarefas

Use a ferramenta list_todo_lists para ver todas as suas listas.

Criar uma tarefa

Use create_task com:
  - todoTaskListId: "id-da-lista"
  - title: "Comprar mantimentos"
  - dueDateTime: "2025-01-15T10:00:00Z"
  - importance: "normal"

Concluir uma tarefa

Use complete_task com:
  - todoTaskListId: "id-da-lista"
  - taskId: "id-da-tarefa"

Resolução de problemas

  • Erro de autenticação: Certifique-se de que o ID do cliente está correto e o fluxo de código de dispositivo foi concluído. Você pode excluir o arquivo .mcp-todo-token-cache.json para forçar o re-login.
  • Permissão negada: Verifique se a permissão Tasks.ReadWrite delegada foi concedida no registro do aplicativo.
  • Token expirado: O servidor renova automaticamente os tokens, mas se você desligar o servidor por um longo período, o refresh token pode expirar. Exclua o cache e faça login novamente.

Licença

MIT

Habilidades Relacionadas