Task Manager (Go)
Um servidor inteligente de gerenciamento de tarefas e projetos com análise de complexidade orientada por LLM e criação inteligente de subtarefas, utilizando armazenamento baseado em arquivos markdown.
Documentação
🚀 Servidor MCP Task Manager (Go)
Uma implementação poderosa em Go do servidor Model Context Protocol (MCP) para gerenciamento inteligente de tarefas e projetos. Este servidor integra-se perfeitamente com aplicações LLM para fornecer recursos avançados de gerenciamento de tarefas com análise automática de complexidade e criação inteligente de subtarefas.
✨ Recursos
📋 Gerenciamento Básico de Tarefas
- Organização por Projetos: Crie e gerencie múltiplos projetos com arquivos de tarefas baseados em markdown
- Tarefas Hierárquicas: Suporte para tarefas com subtarefas e dependências
- Acompanhamento de Status: Gerenciamento abrangente de status (todo, in_progress, done, blocked)
- Navegação Inteligente: Obtenha automaticamente as próximas tarefas não concluídas
- Armazenamento em Arquivos: Arquivos markdown legíveis para facilitar o controle de versão
🧠 Inteligência Aprimorada (Baseada em LLM)
- Análise de Complexidade: O LLM avalia a complexidade das tarefas e sugere divisões
- Criação Inteligente de Subtarefas: Divida automaticamente tarefas complexas (recursivo até 3 níveis)
- Gerenciamento de Escolhas: Lide com múltiplas abordagens de implementação com entrada estruturada do usuário
- Registro de Decisões: Lembre e acompanhe as decisões do usuário nos arquivos do projeto
🏷️ Metadados Ricos
- Categorias: [MVP], [AI], [UX], [INFRA] para classificação organizada de tarefas
- Prioridades: P0 (Crítico), P1 (Alta), P2 (Média), P3 (Baixa)
- Níveis de Complexidade: Baixa, Média, Alta com horas estimadas
- Dependências: Acompanhe relacionamentos e pré-requisitos de tarefas
🚀 Início Rápido
Pré-requisitos
- Go 1.21+: Baixar Go
- Git: Para clonar o repositório
- Cliente MCP: Qualquer cliente compatível com MCP (Claude Desktop, etc.)
Instalação
# Clone the repository
git clone https://github.com/gosvig123/mcp-task-manager-go.git
cd mcp-task-manager-go
# Install dependencies
go mod tidy
# Build the server
go build -o task-manager-go main.go
# Test the installation
go run cmd/test/main.go
Configuração
Crie um arquivo .env (opcional):
# Transport type (stdio or sse)
TRANSPORT=stdio
# For SSE transport (web-based clients)
HOST=0.0.0.0
PORT=8050
# Task storage directory (relative to project root)
TASKS_DIR=./tasks
# Task management settings
MAX_RECURSION_DEPTH=3
AUTO_SUBTASK_CREATION=true
🔧 Uso
Executando o Servidor
Método 1: Execução Direta (Stdio)
# Run with stdio transport (default)
./task-manager-go
# Or with Go run
go run main.go
Método 2: Transporte SSE (Baseado na Web)
# Set environment variable and run
TRANSPORT=sse ./task-manager-go
# Or export and run
export TRANSPORT=sse
./task-manager-go
🔌 Integração com Cliente MCP
Configuração do Claude Desktop
Adicione ao seu claude_desktop_config.json do Claude Desktop:
{
"mcpServers": {
"task-manager-go": {
"command": "/path/to/your/task-manager-go",
"env": {
"TRANSPORT": "stdio",
"TASKS_DIR": "tasks"
}
}
}
}
Alternativa: Usando Go Run
{
"mcpServers": {
"task-manager-go": {
"command": "go",
"args": ["run", "main.go"],
"cwd": "/path/to/mcp-task-manager-go",
"env": {
"TRANSPORT": "stdio"
}
}
}
}
Configuração SSE (para clientes web)
{
"mcpServers": {
"task-manager-go": {
"transport": "sse",
"url": "http://localhost:8050/sse"
}
}
}
🛠️ Ferramentas MCP Disponíveis
📁 Gerenciamento de Projetos
-
create_task_file- Crie novos arquivos de tarefas de projetoParameters: project_name (string) Returns: Confirmation with file path -
list_projects- Liste todos os projetos disponíveisParameters: None Returns: Array of project names
✅ Operações de Tarefas
-
add_task- Adicione tarefas com descrições e subtarefasParameters: - project_name (string) - title (string) - description (string) - subtasks (array, optional) - batch_mode (boolean, optional) Returns: Confirmation message -
update_task_status- Atualize o status de tarefas/subtarefasParameters: - project_name (string) - task_title (string) - subtask_title (string, optional) - status (enum: todo|in_progress|done|blocked) Returns: Status update confirmation -
get_next_task- Obtenha a próxima tarefa não concluídaParameters: project_name (string) Returns: JSON with task and subtask details
🧠 Recursos Avançados (Em Breve)
parse_prd- Converta PRDs em tarefas estruturadasexpand_task- Divida tarefas em subtarefasestimate_task_complexity- Análise de complexidade baseada em LLMsuggest_next_actions- Sugestões com IAget_task_dependencies- Acompanhe relacionamentos de tarefasgenerate_task_file- Gere modelos de arquivos
📖 Exemplos de Uso
Fluxo de Trabalho Básico
-
Crie um novo projeto:
LLM: "Create a task file for my web app project" → Calls: create_task_file(project_name="web-app") -
Adicione tarefas com análise de complexidade:
LLM: "Add a task to implement user authentication" → LLM analyzes complexity → High complexity detected → Calls: add_task(project_name="web-app", title="User Authentication", description="Implement secure user login/logout system", subtasks=["Set up auth middleware", "Create login endpoints", ...]) -
Acompanhe o progresso:
LLM: "What should I work on next?" → Calls: get_next_task(project_name="web-app") → Returns: {"task": "User Authentication", "subtask": "Set up auth middleware"} -
Atualize o status:
LLM: "Mark the auth middleware as completed" → Calls: update_task_status(project_name="web-app", task_title="User Authentication", subtask_title="Set up auth middleware", status="done")
Exemplo de Saída de Arquivo de Tarefas
# Project Tasks
## Categories
- [MVP] Core functionality tasks
- [AI] AI-related features
- [UX] User experience improvements
- [INFRA] Infrastructure and setup
## Priority Levels
- P0: Blocker/Critical
- P1: High Priority
- P2: Medium Priority
- P3: Low Priority
## Task 1: [MVP] User Authentication (P0)
Implement secure user login/logout system with session management
### Dependencies:
- Task 2
### Complexity: high
Estimated hours: 16
### Subtasks:
- [x] Set up auth middleware
- [ ] Create login endpoints
- [ ] Add password hashing
- [ ] Implement session management
---
🏗️ Estrutura do Projeto
mcp-task-manager-go/
├── main.go # Entry point
├── cmd/
│ └── test/ # Test utilities
├── internal/
│ ├── server/ # MCP server implementation
│ │ └── server.go # Tool handlers and server setup
│ └── task/ # Task management core
│ ├── models.go # Data structures
│ ├── manager.go # File operations
│ ├── markdown.go # Markdown processing
│ └── validation.go # Input validation
├── tasks/ # Task files storage (created at runtime)
├── go.mod # Go module definition
└── README.md # This file
🧠 Sistema de Regras Aprimorado
Criação Automática de Subtarefas
O sistema divide inteligentemente tarefas complexas:
- Análise de Complexidade por LLM: O LLM chamador avalia as descrições das tarefas
- Divisão Automática: Tarefas de alta complexidade são divididas em subtarefas gerenciáveis
- Processamento Recursivo: Subtarefas também são analisadas (até 3 níveis de profundidade)
- Limites Inteligentes: Detecção de complexidade configurável
Gerenciamento de Escolhas
Lide com múltiplas abordagens de implementação:
- Detecção de Abordagens: O LLM identifica quando existem múltiplas abordagens
- Escolhas Estruturadas: Apresente opções em um formato claro
- Registro de Decisões: Armazene seleções do usuário nos arquivos do projeto
- Preservação de Contexto: Lembre decisões para referência futura
Exemplo de Fluxo de Escolhas
**Choice:** Choose authentication method
Options:
- [ ] JWT tokens
- [x] Session-based auth
- [ ] OAuth integration
Reasoning: Session-based auth is simpler for MVP and provides better security for this use case.
🔧 Desenvolvimento
Compilação
# Build for current platform
go build -o task-manager-go main.go
# Build for different platforms
GOOS=linux GOARCH=amd64 go build -o task-manager-go-linux main.go
GOOS=windows GOARCH=amd64 go build -o task-manager-go.exe main.go
Testes
# Run basic functionality test
go run cmd/test/main.go
# Run all tests (when implemented)
go test ./...
# Test with a real MCP client
./task-manager-go
Contribuição
- Faça um fork do repositório
- Crie um branch de recurso:
git checkout -b feature-name - Faça suas alterações e teste minuciosamente
- Faça commit com mensagens claras:
git commit -m "Add feature X" - Envie e crie um Pull Request
📋 Roadmap
- Gerenciamento Básico de Tarefas - Operações CRUD básicas
- Integração com Servidor MCP - Transportes Stdio e SSE
- Armazenamento em Markdown - Arquivos de tarefas legíveis
- Análise de PRD - Converta requisitos em tarefas
- Ferramentas Avançadas - Análise de complexidade, sugestões
- Fluxos de Escolha - Tomada de decisão interativa
- Dependências - Gerenciamento de relacionamentos de tarefas
- Modelos - Geração de arquivos a partir de tarefas
📄 Licença
Licença MIT - consulte o arquivo LICENSE para detalhes.
🤝 Suporte
- Problemas: GitHub Issues
- Discussões: GitHub Discussions
- Documentação: Este README e comentários de código inline
Feito com ❤️ para o ecossistema MCP