Todoist MCP

Interaja com sua conta do Todoist para gerenciar tarefas e projetos.

Documentação

Todoist MCP

Nota: previsivelmente obsoleto pelo Todoist AI SDK, veja aqui.


Conecte este servidor Model Context Protocol ao seu LLM para interagir com o Todoist.

Funcionalidades

Esta integração implementa todas as APIs disponíveis no Todoist TypeScript Client, fornecendo acesso a:

Gerenciamento de Tarefas

  • Criar tarefas (com conteúdo, descrições, datas de vencimento, prioridades, etiquetas e mais)
  • Criar tarefas com linguagem natural (ex.: "Enviar relatório até sexta às 17h #Trabalho")
  • Recuperar tarefas (individuais, filtradas ou todas)
  • Recuperar tarefas concluídas (por data de conclusão ou data de vencimento)
  • Obter estatísticas de produtividade
  • Atualizar tarefas
  • Mover tarefas (individualmente ou em lote)
  • Fechar/reabrir tarefas
  • Excluir tarefas

Gerenciamento de Projetos

  • Criar, recuperar, atualizar e excluir projetos

Gerenciamento de Seções

  • Criar, recuperar, atualizar e excluir seções dentro de projetos

Gerenciamento de Comentários

  • Adicionar, recuperar, atualizar e excluir comentários para tarefas ou projetos

Gerenciamento de Etiquetas

  • Criar, recuperar, atualizar e excluir etiquetas
  • Gerenciar etiquetas compartilhadas

Colaboração

  • Obter colaboradores para projetos

Configuração

Compile o aplicativo do servidor:

bun install
bun run build

Execute em desenvolvimento

TODOIST_API_KEY=<key> bun dev

Implantação com Docker:

docker compose up -d

Depuração:

Use o inspetor para depurar o servidor:


bunx @modelcontextprotocol/inspector

Configurar o Claude:

Você deve instalar o aplicativo de desktop Claude que suporta MCP.

Você pode obter sua chave de API do Todoist em Todoist > Configurações > Integrações > Desenvolvedor.

Em seguida, no seu claude_desktop_config.json, adicione um novo 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"
        }
    }
}

Agora você pode iniciar o aplicativo de desktop do Claude e pedir para atualizar o Todoist.

🔐 Recursos de Segurança

Este servidor MCP foi protegido com medidas de segurança de nível empresarial:

  • Autenticação Necessária: Tokens JWT Bearer ou autenticação por chave de API
  • Limitação de Taxa: Previne abuso com limites configuráveis
  • Validação de Entrada: Validação e sanitização abrangente de requisições
  • Cabeçalhos de Segurança: CORS, CSP, HSTS e outros cabeçalhos de segurança
  • Registro e Monitoramento: Registro de eventos de segurança e monitoramento de requisições
  • Configuração de Ambiente: Configuração segura via variáveis de ambiente

Veja SECURITY.md para documentação detalhada de segurança.

Configuração Rápida de Segurança

  1. Gere tokens seguros:

    npm run setup-security
    
  2. Crie o arquivo .env:

    cp .env.example .env
    # Add your generated tokens and Todoist API key
    
  3. Variáveis de Ambiente Necessárias:

    JWT_SECRET=your_generated_jwt_secret_here
    TODOIST_API_KEY=your_todoist_api_key_here
    

Autenticação

O servidor suporta dois métodos de autenticação:

Método 1: Chave 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 aplicações)

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}'