mcp-memory-taskmanager
Version:
Intelligent MCP Memory System with Task Manager - Domain-specific knowledge organization and autonomous task management for AI assistants
730 lines (601 loc) • 23.3 kB
Markdown
# 🧠 MCP Memory System - Componentized Knowledge Management
> **Transforme modelos menores em especialistas através de memória componentizada e pensamento sequencial**
## 🎯 Visão do Projeto
O MCP Memory System revoluciona como agentes de IA aprendem e aplicam conhecimento de programação. Ao invés de um único arquivo de memória extenso, criamos **microinterações especializadas** com **grafos de conhecimento** organizados por domínio, permitindo que até mesmo modelos menores tenham performance de modelos grandes.
### 🔑 Conceitos Fundamentais
- **🧩 Componentização**: Memórias especializadas por domínio (Frontend, Backend, DevOps, etc.)
- **🔄 Microinterações**: Isolamento de informações para especialistas específicos
- **🕸️ Grafos de Conhecimento**: Relações estruturadas entre conceitos e soluções
- **⚡ Otimização para Modelos Menores**: Performance de GPT-4 com modelos como GPT-3.5
- **📈 Aprendizado Contínuo**: Sistema que fica mais inteligente com tentativas e erros
- **🧠 Pensamento Sequencial**: Raciocínio estruturado passo a passo
- **🎯 Task Manager**: Planejamento e execução autônoma de tarefas
- **🔌 Multi-IDE Support**: Funciona com Claude Desktop, Cursor, Windsurf, Trae AI e VS Code
## 🏗️ Arquitetura do Sistema
```
mcp-memory/
├── 📁 memories/ # Memórias especializadas por domínio
│ ├── 🎨 frontend/
│ │ ├── react.jsonl # Padrões React específicos
│ │ ├── vue.jsonl # Padrões Vue específicos
│ │ └── angular.jsonl # Padrões Angular específicos
│ ├── ⚙️ backend/
│ │ ├── nodejs.jsonl # Padrões Node.js
│ │ ├── python.jsonl # Padrões Python
│ │ └── java.jsonl # Padrões Java
│ ├── 🚀 devops/
│ │ ├── docker.jsonl # Containerização
│ │ ├── kubernetes.jsonl # Orquestração
│ │ └── ci-cd.jsonl # Pipelines CI/CD
│ ├── 📱 mobile/
│ ├── 🗄️ database/
│ ├── 🔒 security/
│ ├── 🧪 testing/
│ ├── 🏛️ architecture/
│ ├── 🎨 ui-design/
│ └── 👥 ux-design/
├── 🛠️ tools/ # Ferramentas MCP
│ ├── memory-operations.js # Operações de memória
│ ├── sequential-thinking.js # Pensamento sequencial
│ └── knowledge-graph.js # Grafos de conhecimento
├── 📋 prompts/ # Instruções do agente
│ ├── AgentInstructions.md # Instruções principais
│ ├── UserHulls.md # Configurações do usuário
│ ├── ProjectHulls.md # Configurações do projeto
│ └── DomainSpecificInstructions.md
├── ⚙️ mcp-config.json # Configuração MCP completa
└── 📖 README.md # Este arquivo
```
## 🚀 Instalação Rápida
### Via NPX (Recomendado)
```bash
# Instalação global do sistema
npm install -g @gabriel/mcp-memory-taskmanager
# Ou instalação direta via NPX
npx @gabriel/mcp-memory-taskmanager
```
### Configuração Manual
1. **Clone o repositório**:
```bash
git clone https://github.com/gabriel/mcp-memory-taskmanager.git
cd mcp-memory-taskmanager
```
2. **Configure seu IDE**:
#### 🎯 Cursor
```bash
# Copie a configuração para Cursor
cp mcp-config.json ~/.cursor/mcp.json
```
#### 🌊 Windsurf
```bash
# Copie a configuração para Windsurf
cp mcp-config.json ~/.windsurf/mcp.json
```
#### 💻 VS Code
```bash
# Crie configuração no workspace
mkdir -p .vscode
cp mcp-config.json .vscode/mcp.json
```
#### 🤖 Claude Desktop
```bash
# Configure Claude Desktop
cp mcp-config.json ~/.config/claude/claude_desktop_config.json
```
3. **Reinicie seu IDE** para carregar os servidores MCP
## 🎮 Como Usar
### 🔄 Fluxo de Trabalho Básico
1. **📥 Recebimento da Tarefa**: Agente recebe uma tarefa de programação
2. **🧠 Pensamento Sequencial**: Quebra o problema em etapas estruturadas
3. **🔍 Consulta de Memória**: Busca conhecimento nos domínios relevantes
4. **⚡ Aplicação Especializada**: Aplica padrões e melhores práticas específicas
5. **🛠️ Implementação**: Executa a solução otimizada
6. **📚 Aprendizado**: Armazena novos padrões e resultados
7. **🔗 Conexões**: Cria relações cross-domain quando aplicável
### 💡 Exemplo Prático
**Tarefa**: "Criar um dashboard React com dados em tempo real"
```mermaid
graph TD
A[Tarefa Recebida] --> B[Pensamento Sequencial]
B --> C[Consulta Frontend Memory]
B --> D[Consulta Backend Memory]
B --> E[Consulta UI Design Memory]
C --> F[Padrões React + WebSocket]
D --> G[APIs Real-time + Node.js]
E --> H[Dashboard Design Patterns]
F --> I[Implementação Otimizada]
G --> I
H --> I
I --> J[Armazenar Aprendizado]
J --> K[Conectar Domínios]
```
## ⚙️ Configuração Completa
### 🎯 Trae AI
Adicione à sua configuração MCP do Trae AI:
```json
{
"mcpServers": {
"specialized-memory": {
"command": "npx",
"args": ["-y", "@gabriel/mcp-memory-taskmanager"],
"env": {
"MEMORY_FILE_PATH": "C:\\Users\\your-username\\Desktop\\memory\\memory.json",
"TASK_MANAGER_FILE_PATH": "C:\\Users\\your-username\\Desktop\\tasks\\tasks.json",
"ENABLE_BACKUP": "true",
"MAX_MEMORY_SIZE": "10000",
"ENABLE_DOMAIN_SPECIALIZATION": "true",
"ENABLE_KNOWLEDGE_GRAPHS": "true"
}
},
"sequential-thinking": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
}
},
"globalSettings": {
"memoryIntegration": {
"enableCrossDomainConnections": true,
"autoStorePatterns": true,
"learningMode": "continuous"
},
"sequentialThinking": {
"enableStructuredReasoning": true,
"maxThoughts": 10,
"enableReflection": true
},
"performanceOptimization": {
"enableContextCompression": true,
"prioritizeRelevantMemories": true,
"cacheFrequentPatterns": true
}
}
}
```
### 🤖 Claude Desktop
Adicione ao seu `claude_desktop_config.json`:
```json
{
"mcpServers": {
"specialized-memory": {
"command": "npx",
"args": ["-y", "@gabriel/mcp-memory-taskmanager"],
"env": {
"MEMORY_FILE_PATH": "/path/to/memory.json",
"TASK_MANAGER_FILE_PATH": "/path/to/tasks.json",
"ENABLE_DOMAIN_SPECIALIZATION": "true"
}
},
"sequential-thinking": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
}
}
}
```
### 🎯 Cursor
Adicione às configurações MCP do Cursor:
```json
{
"mcpServers": {
"specialized-memory": {
"command": "npx",
"args": ["-y", "@gabriel/mcp-memory-taskmanager"]
},
"sequential-thinking": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
}
}
}
```
## 🧩 Domínios Especializados
### 🎨 Frontend Development
- **Tecnologias**: React, Vue, Angular, Svelte, Next.js
- **Padrões**: Componentes, Hooks, Estado, Performance, Acessibilidade
- **Memória**: Soluções específicas por framework e padrão
### ⚙️ Backend Development
- **Tecnologias**: Node.js, Python, Java, C#, Go, Rust
- **Padrões**: APIs, Bancos de Dados, Arquitetura, Segurança
- **Memória**: Implementações otimizadas por linguagem
### 🚀 DevOps & Infrastructure
- **Tecnologias**: Docker, Kubernetes, Terraform, AWS, Azure
- **Padrões**: CI/CD, Monitoramento, Segurança, Escalabilidade
- **Memória**: Configurações e pipelines testados
### 📱 Mobile Development
- **Tecnologias**: React Native, Flutter, Swift, Kotlin
- **Padrões**: Performance, UX, Integração, Offline
- **Memória**: Soluções específicas por plataforma
### 🗄️ Database
- **Tecnologias**: PostgreSQL, MongoDB, Redis, Elasticsearch
- **Padrões**: Schema, Otimização, Escalabilidade, Backup
- **Memória**: Designs e queries otimizados
### 🔒 Security
- **Tecnologias**: OAuth2, JWT, Encryption, Compliance
- **Padrões**: Autenticação, Autorização, Proteção de Dados
- **Memória**: Implementações seguras validadas
### 🧪 Testing
- **Tecnologias**: Jest, Cypress, Playwright, k6
- **Padrões**: Unit, Integration, E2E, Performance
- **Memória**: Estratégias de teste por cenário
### 🏛️ Architecture
- **Padrões**: Microservices, Clean Architecture, DDD
- **Conceitos**: Escalabilidade, Resiliência, Performance
- **Memória**: Decisões arquiteturais documentadas
### 🎨 UI Design
- **Ferramentas**: Figma, Design Systems, Component Libraries
- **Padrões**: Responsive, Accessibility, Typography
- **Memória**: Padrões visuais e componentes
### 👥 UX Design
- **Métodos**: User Research, Usability Testing, A/B Testing
- **Padrões**: User Journey, Information Architecture
- **Memória**: Insights de usuário e otimizações
## ⚡ Otimizações para Modelos Menores
### 🎯 Estratégias Implementadas
1. **📦 Compressão de Contexto**
- Redução inteligente do tamanho do contexto
- Priorização de informações relevantes
- Cache de padrões frequentes
2. **🔍 Busca Semântica**
- Recuperação eficiente de conhecimento
- Matching por similaridade
- Ranking por relevância
3. **🧠 Memória Estruturada**
- Organização hierárquica
- Relações explícitas
- Contexto especializado
4. **📈 Aprendizado Incremental**
- Melhoria contínua
- Feedback loops
- Adaptação automática
### 📊 Resultados Esperados
| Métrica | Modelo Padrão | Com MCP Memory | Melhoria |
|---------|---------------|----------------|----------|
| Qualidade do Código | 70% | 90% | +20% |
| Tempo de Resposta | 5s | 2s | -60% |
| Precisão de Sugestões | 60% | 85% | +25% |
| Redução de Erros | - | - | -60% |
| Produtividade | 100% | 140% | +40% |
## 🔧 Variáveis de Ambiente
- `MEMORY_FILE_PATH`: Caminho para dados de memória (padrão: `./memory/memory.json`)
- `TASK_MANAGER_FILE_PATH`: Caminho para dados de tarefas (padrão: `./tasks/tasks.json`)
- `ENABLE_BACKUP`: Habilitar backups automáticos (padrão: `false`)
- `MAX_MEMORY_SIZE`: Número máximo de memórias (padrão: `10000`)
- `ENABLE_DOMAIN_SPECIALIZATION`: Habilitar especialização por domínio (padrão: `true`)
- `ENABLE_KNOWLEDGE_GRAPHS`: Habilitar grafos de conhecimento (padrão: `true`)
- `ENABLE_CROSS_DOMAIN_CONNECTIONS`: Habilitar conexões entre domínios (padrão: `true`)
- `LEARNING_MODE`: Modo de aprendizado (`continuous`, `batch`, `manual`) (padrão: `continuous`)
## Available Tools
### Memory System
#### `store_memory`
Store information with domain classification.
**Parameters:**
- `content` (string): The information to store
- `domain` (string): Domain classification (coding, personal, work, etc.)
- `tags` (array): Tags for categorization
- `importance` (number): Importance level (1-10)
#### `search_memory`
Search stored memories by content, domain, or tags.
**Parameters:**
- `query` (string): Search query
- `domain` (string): Filter by domain
- `tags` (array): Filter by tags
- `limit` (number): Maximum number of results
### Task Manager
#### `request_planning`
Register a new user request and plan its associated tasks.
**Parameters:**
- `originalRequest` (string): The original user request
- `splitDetails` (string): Details about how the request was split
- `tasks` (array): Array of task objects with title and description
#### `get_next_task`
Get the next pending task for a request.
**Parameters:**
- `requestId` (string): The request ID
#### `mark_task_done`
Mark a task as completed.
**Parameters:**
- `requestId` (string): The request ID
- `taskId` (string): The task ID
- `completedDetails` (string): Details about task completion
#### `approve_task_completion`
Approve a completed task.
**Parameters:**
- `requestId` (string): The request ID
- `taskId` (string): The task ID
#### `approve_request_completion`
Approve the completion of an entire request.
**Parameters:**
- `requestId` (string): The request ID
## 💡 Exemplos de Uso
### 🧠 Armazenamento de Memória Especializada
```typescript
// Armazenar padrão React específico
store_memory({
content: "Use React.memo para otimização de componentes quando props não mudam frequentemente. Combine com useMemo e useCallback para máxima eficiência.",
domain: "frontend",
subdomain: "react",
tags: ["react", "optimization", "performance", "memo", "hooks"],
importance: 9,
pattern_type: "component_optimization",
code_example: `const OptimizedComponent = React.memo(({ data, onAction }) => {
const memoizedValue = useMemo(() => expensiveCalculation(data), [data]);
const memoizedCallback = useCallback(() => onAction(data.id), [onAction, data.id]);
return <div>{memoizedValue}</div>;
});`,
related_concepts: ["useMemo", "useCallback", "performance", "re-rendering"]
});
// Armazenar padrão de API Backend
store_memory({
content: "Implementação de rate limiting com Redis para APIs Node.js usando express-rate-limit",
domain: "backend",
subdomain: "nodejs",
tags: ["nodejs", "api", "rate-limiting", "redis", "security"],
importance: 8,
pattern_type: "api_security",
code_example: `const rateLimit = require('express-rate-limit');
const RedisStore = require('rate-limit-redis');
const limiter = rateLimit({
store: new RedisStore({ client: redisClient }),
windowMs: 15 * 60 * 1000, // 15 minutes
max: 100, // limit each IP to 100 requests per windowMs
message: 'Too many requests from this IP'
});
app.use('/api/', limiter);`,
related_concepts: ["security", "scalability", "redis", "middleware"]
});
```
### 🔍 Busca Inteligente por Domínio
```typescript
// Buscar padrões React específicos
search_memory({
query: "React component optimization performance",
domain: "frontend",
subdomain: "react",
tags: ["optimization", "performance"],
pattern_type: "component_optimization",
limit: 5,
include_related: true
});
// Buscar padrões de segurança para APIs
search_memory({
query: "API security authentication JWT",
domain: "backend",
tags: ["security", "authentication"],
pattern_type: "api_security",
limit: 3,
cross_domain_search: true // Buscar também em domínio security
});
```
### 🎯 Planejamento de Tarefas com Pensamento Sequencial
```typescript
// Planejar desenvolvimento de dashboard complexo
request_planning({
originalRequest: "Criar dashboard React com dados em tempo real, autenticação JWT e testes automatizados",
splitDetails: "Quebrar em fases: arquitetura, frontend, backend, integração, testes e deploy",
domains_involved: ["frontend", "backend", "security", "testing", "devops"],
tasks: [
{
title: "Arquitetura e Design System",
description: "Definir arquitetura, componentes base e design system",
domain: "architecture",
estimated_complexity: 7,
dependencies: []
},
{
title: "Componentes React Base",
description: "Criar componentes reutilizáveis com TypeScript",
domain: "frontend",
estimated_complexity: 6,
dependencies: ["architecture"]
},
{
title: "API Backend com WebSocket",
description: "Implementar APIs REST e WebSocket para dados real-time",
domain: "backend",
estimated_complexity: 8,
dependencies: ["architecture"]
},
{
title: "Sistema de Autenticação JWT",
description: "Implementar auth completo com refresh tokens",
domain: "security",
estimated_complexity: 7,
dependencies: ["backend"]
},
{
title: "Testes Automatizados",
description: "Unit, integration e E2E tests",
domain: "testing",
estimated_complexity: 6,
dependencies: ["frontend", "backend", "security"]
},
{
title: "CI/CD e Deploy",
description: "Pipeline automatizado com Docker e Kubernetes",
domain: "devops",
estimated_complexity: 5,
dependencies: ["testing"]
}
],
learning_objectives: [
"Padrões de real-time data com WebSocket",
"Otimização de performance React",
"Estratégias de teste para aplicações real-time",
"Deploy de aplicações com WebSocket"
]
});
```
### 🔗 Conexões Cross-Domain
```typescript
// Criar conexão entre padrões Frontend e Backend
create_cross_domain_connection({
source_domain: "frontend",
target_domain: "backend",
connection_type: "api_integration",
pattern_relationship: {
frontend_pattern: "react_data_fetching",
backend_pattern: "rest_api_design",
integration_notes: "Usar React Query para cache e sincronização com APIs REST"
},
shared_concepts: ["error_handling", "loading_states", "data_validation"]
});
```
## Development
### Building from Source
```bash
git clone https://github.com/gabriel/mcp-memory-taskmanager.git
cd mcp-memory-taskmanager
npm install
npm run build
```
### Running in Development Mode
```bash
npm run dev
```
### Testing
```bash
npm test
```
### Using MCP Inspector
```bash
npm run inspector
```
## 📁 Estrutura de Arquivos
```
mcp-memory-taskmanager/
├── 📂 src/
│ ├── index.ts # Implementação principal do servidor MCP
│ ├── memory-operations.ts # Operações de memória especializadas
│ ├── sequential-thinking.ts # Integração pensamento sequencial
│ ├── knowledge-graph.ts # Sistema de grafos de conhecimento
│ ├── domain-specialists/ # Especialistas por domínio
│ │ ├── frontend-specialist.ts
│ │ ├── backend-specialist.ts
│ │ ├── devops-specialist.ts
│ │ └── ...
│ └── utils/
│ ├── compression.ts # Compressão de contexto
│ ├── semantic-search.ts # Busca semântica
│ └── pattern-matching.ts # Matching de padrões
├── 📂 dist/ # JavaScript compilado
├── 📂 prompts/ # Configurações do agente
│ ├── AgentInstructions.md # Instruções principais
│ ├── UserHulls.md # Configurações do usuário
│ ├── ProjectHulls.md # Configurações do projeto
│ └── DomainSpecificInstructions.md
├── 📂 memories/ # Armazenamento de memórias
│ ├── 🎨 frontend/
│ │ ├── react.jsonl
│ │ ├── vue.jsonl
│ │ └── angular.jsonl
│ ├── ⚙️ backend/
│ │ ├── nodejs.jsonl
│ │ ├── python.jsonl
│ │ └── java.jsonl
│ ├── 🚀 devops/
│ ├── 📱 mobile/
│ ├── 🗄️ database/
│ ├── 🔒 security/
│ ├── 🧪 testing/
│ ├── 🏛️ architecture/
│ ├── 🎨 ui-design/
│ └── 👥 ux-design/
├── 📂 knowledge-graphs/ # Grafos de conhecimento
│ ├── domain-relationships.json
│ ├── pattern-connections.json
│ └── cross-domain-links.json
├── 📂 tasks/ # Gerenciamento de tarefas
│ └── tasks.json
├── 📂 configs/ # Configurações
│ ├── mcp-config.json
│ ├── domain-config.json
│ └── optimization-config.json
├── 📂 docs/ # Documentação
│ ├── installation.md
│ ├── domain-guides/
│ └── api-reference.md
├── package.json
├── tsconfig.json
└── README.md
```
## 📈 Métricas e Monitoramento
### 🎯 KPIs de Sucesso
- **Componentização**: 90% das memórias organizadas por domínio
- **Microinterações**: 100% das operações usam memória especializada
- **Aprendizado Contínuo**: Melhoria mensurável na qualidade
- **Otimização**: Modelos menores atingem 80% da performance de modelos grandes
- **Integração**: 100% compatibilidade com IDEs principais
### 📊 Métricas Técnicas
- ⚡ Tempo de resposta < 2s para consultas
- 🎯 Taxa de acerto > 85% em sugestões
- 🔄 Redução de 60% em erros repetitivos
- 📈 Aumento de 40% na produtividade
## 🛠️ Desenvolvimento e Contribuição
### 🚀 Roadmap
#### Fase 1: Infraestrutura Base ✅
- [x] Sistema de memória componentizado
- [x] Integração MCP Sequential Thinking
- [x] Configurações especializadas
- [x] Documentação completa
#### Fase 2: Grafos de Conhecimento 🔄
- [ ] Implementação de grafos especializados
- [ ] Sistema de aprendizado contínuo
- [ ] Métricas de performance
- [ ] Otimizações para modelos menores
#### Fase 3: Distribuição e Escala 📋
- [ ] Package NPX
- [ ] Testes de integração
- [ ] CI/CD pipeline
- [ ] Documentação interativa
### 🤝 Como Contribuir
1. **Fork** o repositório
2. **Crie** uma branch para sua feature
3. **Implemente** suas mudanças
4. **Teste** com diferentes IDEs
5. **Submeta** um Pull Request
### 🧪 Testes
```bash
# Testes unitários
npm test
# Testes de integração
npm run test:integration
# Testes com IDEs
npm run test:ide
# Testes de performance
npm run test:performance
# Testes de domínios especializados
npm run test:domains
# Testes de grafos de conhecimento
npm run test:knowledge-graphs
```
## 📚 Documentação Adicional
- 📖 [Guia de Instalação Detalhado](./docs/installation.md)
- 🎯 [Configuração por IDE](./docs/ide-setup.md)
- 🧠 [Guia de Pensamento Sequencial](./docs/sequential-thinking.md)
- 🔧 [API de Memória](./docs/memory-api.md)
- 🎨 [Padrões por Domínio](./docs/domain-patterns.md)
- 📊 [Métricas e Monitoramento](./docs/metrics.md)
- 🕸️ [Grafos de Conhecimento](./docs/knowledge-graphs.md)
- ⚡ [Otimização para Modelos Menores](./docs/model-optimization.md)
## 🆘 Suporte
### 🐛 Reportar Bugs
- **GitHub Issues**: [Criar novo issue](https://github.com/gabriel/mcp-memory-taskmanager/issues)
- **Template**: Use o template de bug report
- **Logs**: Inclua logs relevantes
### 💡 Solicitar Features
- **GitHub Discussions**: [Iniciar discussão](https://github.com/gabriel/mcp-memory-taskmanager/discussions)
- **RFC**: Para mudanças grandes, crie um RFC
### 📞 Contato
- **Email**: support@mcp-memory-system.com
- **Discord**: [Servidor da Comunidade](https://discord.gg/mcp-memory)
- **Twitter**: [@MCPMemorySystem](https://twitter.com/MCPMemorySystem)
## 📄 Licença
Este projeto está licenciado sob a **MIT License** - veja o arquivo [LICENSE](LICENSE) para detalhes.
## 🙏 Agradecimentos
- **Anthropic** pelo protocolo MCP e Sequential Thinking
- **Comunidade MCP** pelas ferramentas e inspiração
- **Desenvolvedores** que contribuíram com feedback e testes
- **IDEs** que suportam o protocolo MCP
---
**🚀 Transforme seu agente de IA em um especialista em programação com o MCP Memory System!**
*Feito com ❤️ para a comunidade de desenvolvedores*