Skip to main content
Glama
hevener10

MCP TODO Checklist Server

by hevener10
README.md
# MCP TODO Checklist

Um servidor MCP que implementa um sistema de checklist para gerenciamento de tarefas no Claude Desktop. O sistema permite criar e gerenciar múltiplas listas de tarefas, com suporte a prioridades, datas de vencimento e tags.

## Funcionalidades

- ✅ Criação e gerenciamento de múltiplas listas de tarefas
- 📌 Suporte a prioridades (baixa, média, alta)
- 📅 Datas de vencimento para tarefas
- 🏷️ Sistema de tags para organização
- 👥 Compartilhamento de listas entre usuários
- 💾 Armazenamento persistente em sistema de arquivos

## Requisitos

- Node.js 18 ou superior
- NPM 8 ou superior

## Instalação

### Método 1: Instalação Local (Desenvolvimento)

1. Clone o repositório
```bash
cd C:\workspace\mcp
git clone (seu-repositório) mcp-mr-checklist
cd mcp-mr-checklist
```

2. Instale as dependências e compile
```bash
npm install
npm run build
```

3. Configure no `claude_desktop_config.json`:
```json
{
  "servers": {
    "todo-checklist": {
      "type": "command",
      "command": "node dist/index.js",
      "cwd": "C:\\workspace\\mcp\\mcp-mr-checklist",
      "config": {
        "storagePath": "./data",
        "commandTimeout": 60000
      }
    }
  }
}
```

### Método 2: Instalação Global (Uso)

1. Instale o pacote globalmente
```bash
npm install -g @hevener/server-todo-checklist
```

2. Configure no `claude_desktop_config.json`:
```json
{
  "servers": {
    "todo-checklist": {
      "type": "command",
      "command": "mcp-server-todo-checklist",
      "config": {
        "storagePath": "C:\\Users\\SEU_USUARIO\\AppData\\Local\\claude-todo-checklist",
        "commandTimeout": 60000
      }
    }
  }
}
```

## Comandos Disponíveis no Claude

### Criar uma nova lista
```
/todo_create {
  "title": "Minha Lista",
  "description": "Descrição opcional da lista"
}
```

### Adicionar uma tarefa
```
/todo_add {
  "listTitle": "Minha Lista",
  "taskTitle": "Nova Tarefa",
  "priority": "high",
  "dueDate": "2024-01-20",
  "tags": ["trabalho", "urgente"]
}
```

### Listar todas as listas
```
/todo_list
```

### Ver detalhes de uma lista
```
/todo_show {
  "listTitle": "Minha Lista"
}
```

### Marcar tarefa como concluída
```
/todo_complete {
  "listTitle": "Minha Lista",
  "taskTitle": "Nova Tarefa"
}
```

## Estrutura do Projeto

```
src/
├── index.ts           # Ponto de entrada do servidor
├── commands.ts        # Definição dos comandos disponíveis
├── service/          
│   └── ChecklistService.ts  # Lógica de negócio
├── storage/
│   └── index.ts      # Implementação do armazenamento
└── types/
    ├── ChecklistItem.ts     # Tipos para itens
    └── index.ts            # Tipos principais
```

## Estrutura de Dados

### Lista (Checklist)
```typescript
interface Checklist {
  id: string;
  title: string;
  description?: string;
  items: ChecklistItem[];
  owner: string;
  shared?: string[];
  createdAt: Date;
  updatedAt: Date;
}
```

### Tarefa (ChecklistItem)
```typescript
interface ChecklistItem {
  id: string;
  title: string;
  description?: string;
  completed: boolean;
  dueDate?: Date;
  priority: 'low' | 'medium' | 'high';
  tags: string[];
  createdAt: Date;
  updatedAt: Date;
}
```

## Scripts de Desenvolvimento

```bash
# Compilar o projeto
npm run build

# Executar em modo desenvolvimento
npm run dev

# Observar alterações e recompilar
npm run watch

# Iniciar o servidor compilado
npm start
```

## Configurações

No arquivo `claude_desktop_config.json`, você pode configurar:

- `storagePath`: Diretório onde os dados serão armazenados
- `commandTimeout`: Tempo máximo de execução dos comandos em milissegundos (padrão: 60000)

## Tecnologias Utilizadas

- TypeScript
- Model Context Protocol SDK
- Zod (validação de dados)
- Sistema de armazenamento baseado em arquivos

## Licença

Distribuído sob a licença MIT. Veja `LICENSE` para mais informações.

TDQS

B3.2/5.0

Scored across 5 tools

Disambiguation3/5

The tools have clear purposes but some overlap exists, particularly between 'todo_add' (add a task to a list) and 'todo_create' (create a new task list), which could cause confusion if an agent needs to distinguish between adding tasks and creating lists. Descriptions help clarify, but the boundary is not perfectly distinct.

Naming Consistency5/5

All tool names follow a consistent 'todo_' prefix with a descriptive verb (add, complete, create, list, show), using snake_case uniformly. This predictable pattern makes it easy for agents to understand and navigate the toolset.

Tool Count5/5

With 5 tools, this server is well-scoped for a TODO checklist domain, covering core operations like creating lists, adding tasks, marking completion, and viewing details. Each tool earns its place without feeling excessive or insufficient.

Completeness3/5

The toolset covers basic CRUD operations but has notable gaps, such as missing update and delete functions for tasks or lists (e.g., no 'todo_update' or 'todo_delete'). Agents can work around this by using existing tools, but it limits full lifecycle management.

Maintenance

ActivityInactive
ResponsivenessNo issues