@justmpm/memory 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,254 @@
1
+ # @justmpm/memory
2
+
3
+ MCP Server (Model Context Protocol) para gerenciar memória persistente de subagents entre sessões.
4
+
5
+ ## Descrição
6
+
7
+ Este servidor permite que subagents salvem e recuperem aprendizados específicos do projeto entre diferentes sessões de trabalho. Cada agent mantém sua própria memória isolada, armazenada em `.claude/agent-memory/<agent-name>/MEMORY.md`.
8
+
9
+ ## Por que usar?
10
+
11
+ - **Persistência entre sessões**: Aprendizados salvos não se perdem quando a sessão termina
12
+ - **Memória por agent**: Cada subagent tem sua própria memória isolada
13
+ - **Específico por projeto**: Cada projeto tem sua própria pasta de memórias
14
+ - **Auto-limpeza**: Limite automático de 200 linhas para manter memória gerenciável
15
+ - **Busca eficiente**: Encontre informações rapidamente sem ler tudo
16
+
17
+ ## Instalação
18
+
19
+ ```bash
20
+ npm install
21
+ npm run build
22
+ ```
23
+
24
+ ## Uso
25
+
26
+ ### Como Servidor MCP
27
+
28
+ Para usar este servidor como MCP, adicione ao seu arquivo de configuração do cliente MCP:
29
+
30
+ **Opção 1 - Caminho absoluto (desenvolvimento local):**
31
+ ```json
32
+ {
33
+ "mcpServers": {
34
+ "memory": {
35
+ "command": "node",
36
+ "args": ["D:\\Users\\Matheus Pimenta\\Pictures\\Pacotes-Pessoais\\mcps-ai\\memory\\dist\\index.js"]
37
+ }
38
+ }
39
+ }
40
+ ```
41
+
42
+ **Opção 2 - Após publicar no npm (futuro):**
43
+ ```json
44
+ {
45
+ "mcpServers": {
46
+ "memory": {
47
+ "command": "npx",
48
+ "args": ["@justmpm/memory"]
49
+ }
50
+ }
51
+ }
52
+ ```
53
+
54
+ **Nota:** O nome do servidor MCP é "memory" para facilitar o uso, enquanto o nome do pacote npm é "@justmpm/memory".
55
+
56
+ ### Comandos Disponíveis
57
+
58
+ #### `read` - Lê a memória do agent
59
+
60
+ **Quando usar:** Ao iniciar uma sessão para carregar contexto anterior.
61
+
62
+ ```json
63
+ {
64
+ "command": "read",
65
+ "agent": "sentinel"
66
+ }
67
+ ```
68
+
69
+ **Retorna:** Conteúdo completo do MEMORY.md com contagem de linhas.
70
+
71
+ #### `write` - Substitui toda a memória
72
+
73
+ **Quando usar:** Para reorganizar, limpar ou reconstruir memória do zero.
74
+
75
+ ```json
76
+ {
77
+ "command": "write",
78
+ "agent": "sentinel",
79
+ "content": "# Memória do Sentinel\n\n## Padrões\n- Sempre use TypeScript estrito\n\n## Bugs\n- Bug XYZ ocorre quando..."
80
+ }
81
+ ```
82
+
83
+ **Retorna:** Confirmação + contagem de linhas.
84
+
85
+ #### `append` - Adiciona uma entrada no final
86
+
87
+ **Quando usar:** Ao aprender algo novo e importante.
88
+
89
+ ```json
90
+ {
91
+ "command": "append",
92
+ "agent": "sentinel",
93
+ "entry": "Padrão descoberto: sempre use Zod para validar inputs do usuário"
94
+ }
95
+ ```
96
+
97
+ **Retorna:** Timestamp + preview da entrada.
98
+
99
+ **Nota:** O timestamp é adicionado automaticamente: `## [2026-02-09 12:34:56]`
100
+
101
+ #### `search` - Busca texto na memória
102
+
103
+ **Quando usar:** Para encontrar informações rápidas sem ler tudo.
104
+
105
+ ```json
106
+ {
107
+ "command": "search",
108
+ "agent": "sentinel",
109
+ "query": "Zod"
110
+ }
111
+ ```
112
+
113
+ **Retorna:** Máximo 20 ocorrências com número da linha.
114
+
115
+ #### `list` - Lista todos os agents com memória
116
+
117
+ **Quando usar:** Para descobrir quais agents usaram memória no projeto.
118
+
119
+ ```json
120
+ {
121
+ "command": "list"
122
+ }
123
+ ```
124
+
125
+ **Retorna:** Lista com nome de cada agent + contagem de linhas.
126
+
127
+ ## Estrutura de Arquivos
128
+
129
+ ```
130
+ .claude/
131
+ └── agent-memory/
132
+ ├── sentinel/
133
+ │ └── MEMORY.md
134
+ ├── qa-tester/
135
+ │ └── MEMORY.md
136
+ └── nexus/
137
+ └── MEMORY.md
138
+ ```
139
+
140
+ **Nota:** O nome do agent é normalizado automaticamente:
141
+ - "Sentinel" → "sentinel"
142
+ - "QA-Tester" → "qa-tester"
143
+ - "My Agent" → "my-agent"
144
+
145
+ ## Workflow Recomendado
146
+
147
+ 1. **Ao iniciar sessão:**
148
+ ```json
149
+ { "command": "read", "agent": "sentinel" }
150
+ ```
151
+ → Carrega memória anterior para contexto
152
+
153
+ 2. **Ao aprender algo importante:**
154
+ ```json
155
+ { "command": "append", "agent": "sentinel", "entry": "Padrão descoberto: ..." }
156
+ ```
157
+ → Salva aprendizado incremental
158
+
159
+ 3. **Quando memória ficar grande (~200 linhas):**
160
+ ```json
161
+ { "command": "write", "agent": "sentinel", "content": "# Memória Reorganizada\n\n..." }
162
+ ```
163
+ → Consolide e remova entradas obsoletas
164
+
165
+ 4. **Para buscar informação específica:**
166
+ ```json
167
+ { "command": "search", "agent": "sentinel", "query": "Zod" }
168
+ ```
169
+ → Encontre rapidamente sem ler tudo
170
+
171
+ ## O Que Salvar
172
+
173
+ ### ✅ SEMPRE salve
174
+
175
+ - **Padrões de código:** Ex: "Sempre use 2 espaços de indentação em TSX"
176
+ - **Decisões arquiteturais:** Ex: "Escolhemos Firestore em vez de PostgreSQL porque..."
177
+ - **Bugs recorrentes:** Ex: "Erro X acontece quando..."
178
+ - **Soluções específicas:** Ex: "Para resolver problema Y, use..."
179
+ - **Configurações importantes:** Ex: "Firebase Auth usa Google Sign-In"
180
+ - **Preferências do usuário:** Ex: "Matheus prefere estilos inline para componentes simples"
181
+
182
+ ### ❌ NÃO salve
183
+
184
+ - Coisas triviais: "Hoje está chovendo"
185
+ - Informações que mudam frequentemente: "Tem 3 arquivos na pasta"
186
+ - Coisas óbvias: "O código precisa compilar"
187
+ - Informações duplicadas
188
+ - Logs de conversação
189
+
190
+ ## Boas Práticas
191
+
192
+ ### Formatação recomendada
193
+
194
+ Use seções markdown organizadas:
195
+
196
+ ```markdown
197
+ # Memória do [Nome do Agent]
198
+
199
+ ## Padrões
200
+ - Sempre use TypeScript estrito
201
+ - Use Zod para validação de inputs
202
+
203
+ ## Decisões
204
+ - Escolhemos Zustand em vez de Redux (mais leve)
205
+ - Firestore para banco de dados (escalabilidade)
206
+
207
+ ## Bugs
208
+ - Bug XYZ: ocorre quando...
209
+ - Solução temporária: use workaround...
210
+
211
+ ## Configurações
212
+ - Firebase Auth com Google Sign-In
213
+ - MUI v7 para componentes
214
+
215
+ ## Preferências
216
+ - Matheus prefere componentes funcionais
217
+ - Use 2 espaços de indentação
218
+ ```
219
+
220
+ ### Dicas
221
+
222
+ - **Seja específico:** "Use 2 espaços" > "Formate bem"
223
+ - **Adicione contexto:** "No projeto X, use Y..."
224
+ - **Use append para entradas cronológicas:** Mantém histórico
225
+ - **Use write para reorganizar:** Limpa e estrutura
226
+ - **Search antes de salvar:** Evita duplicatas
227
+ - **Limpe periodicamente:** Remova entradas obsoletas
228
+
229
+ ## Limitações
230
+
231
+ - **Máximo 200 linhas:** Quando excedido, mantém as últimas 160 linhas
232
+ - **Memória é específica por projeto:** Cada projeto tem sua própria pasta
233
+ - **Parâmetro agent é opcional:** Usa "unknown" se não fornecido (mas é recomendável sempre fornecer)
234
+
235
+ ## Desenvolvimento
236
+
237
+ ```bash
238
+ # Desenvolvimento com hot reload
239
+ npm run dev
240
+
241
+ # Build
242
+ npm run build
243
+
244
+ # Executar
245
+ npm start
246
+ ```
247
+
248
+ ## Versão
249
+
250
+ Para alterar a versão do servidor MCP, basta modificar o campo `version` no arquivo `package.json`. O `index.ts` lê automaticamente a versão do package.json em tempo de execução.
251
+
252
+ ## Licença
253
+
254
+ MIT © Koda AI Studio
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Memory MCP Server - Sistema de memória persistente para subagents
3
+ *
4
+ * Permite que subagents salvem e recuperem aprendizados entre sessões.
5
+ * Cada agent tem sua própria memória, armazenada em .claude/agent-memory/<agent-name>/MEMORY.md
6
+ *
7
+ * @see https://modelcontextprotocol.io/
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}