fix: Add debounced Undo/Redo system to avoid character-by-character history
- Add debounced state updates for title and content (500ms delay) - Immediate UI updates with delayed history saving - Prevent one-letter-per-undo issue - Add cleanup for debounce timers on unmount
This commit is contained in:
150
N8N-MCP-SETUP.md
Normal file
150
N8N-MCP-SETUP.md
Normal file
@@ -0,0 +1,150 @@
|
||||
# Configuration du MCP Server avec N8N
|
||||
|
||||
Le serveur MCP de Memento utilise le protocole **stdio** (standard input/output), pas HTTP. Voici comment le configurer avec N8N:
|
||||
|
||||
## 1. Configuration du MCP Server dans N8N
|
||||
|
||||
N8N doit connaître le serveur MCP avant de pouvoir l'utiliser. Ajoutez cette configuration dans votre fichier de config N8N:
|
||||
|
||||
### Méthode A: Via Variables d'Environnement
|
||||
|
||||
Ajoutez dans votre fichier `.env` de N8N:
|
||||
|
||||
```env
|
||||
N8N_MCP_SERVERS='{"memento":{"command":"node","args":["D:/dev_new_pc/Keep/mcp-server/index.js"],"env":{}}}'
|
||||
```
|
||||
|
||||
### Méthode B: Via Fichier de Configuration MCP
|
||||
|
||||
Créez un fichier `~/.n8n/mcp-config.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"memento": {
|
||||
"command": "node",
|
||||
"args": ["D:/dev_new_pc/Keep/mcp-server/index.js"],
|
||||
"env": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Puis dans N8N, ajoutez:
|
||||
```env
|
||||
N8N_MCP_CONFIG_PATH=/path/to/.n8n/mcp-config.json
|
||||
```
|
||||
|
||||
### Méthode C: Configuration Claude Desktop (Alternative)
|
||||
|
||||
Si vous utilisez Claude Desktop avec MCP, ajoutez dans `%APPDATA%\Claude\claude_desktop_config.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"memento": {
|
||||
"command": "node",
|
||||
"args": ["D:/dev_new_pc/Keep/mcp-server/index.js"]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 2. Utilisation dans N8N Workflows
|
||||
|
||||
Une fois configuré, vous pouvez utiliser le noeud **"MCP Client"** dans vos workflows:
|
||||
|
||||
### Exemple: Créer une note via MCP
|
||||
|
||||
```javascript
|
||||
// Node MCP Client
|
||||
{
|
||||
"serverName": "memento",
|
||||
"tool": "create_note",
|
||||
"parameters": {
|
||||
"title": "Note from N8N",
|
||||
"content": "Created via MCP protocol",
|
||||
"color": "blue"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Outils MCP Disponibles
|
||||
|
||||
1. **create_note** - Créer une note
|
||||
- Paramètres: title, content, color, type, checkItems, labels, isPinned, isArchived
|
||||
|
||||
2. **get_notes** - Récupérer toutes les notes
|
||||
- Paramètres: includeArchived, search
|
||||
|
||||
3. **get_note** - Récupérer une note par ID
|
||||
- Paramètres: id
|
||||
|
||||
4. **update_note** - Mettre à jour une note
|
||||
- Paramètres: id, title, content, color, checkItems, labels, isPinned, isArchived
|
||||
|
||||
5. **delete_note** - Supprimer une note
|
||||
- Paramètres: id
|
||||
|
||||
6. **search_notes** - Rechercher des notes
|
||||
- Paramètres: query
|
||||
|
||||
7. **pin_note** - Épingler/désépingler une note
|
||||
- Paramètres: id, isPinned
|
||||
|
||||
8. **archive_note** - Archiver/désarchiver une note
|
||||
- Paramètres: id, isArchived
|
||||
|
||||
9. **add_label** - Ajouter un label à une note
|
||||
- Paramètres: id, label
|
||||
|
||||
## 3. Alternative: Workflow REST API
|
||||
|
||||
Pour tester immédiatement sans configurer MCP, utilisez le workflow REST API fourni dans `n8n-memento-workflow.json`.
|
||||
|
||||
Ce workflow teste l'API REST de Memento:
|
||||
- Create Note (POST /api/notes)
|
||||
- Get All Notes (GET /api/notes)
|
||||
- Update Note (PUT /api/notes)
|
||||
|
||||
## 4. Démarrage des Serveurs
|
||||
|
||||
### Serveur Web Memento
|
||||
```bash
|
||||
cd D:/dev_new_pc/Keep/keep-notes
|
||||
npm run dev
|
||||
```
|
||||
→ http://localhost:3000
|
||||
|
||||
### Serveur MCP (pour test manuel)
|
||||
```bash
|
||||
cd D:/dev_new_pc/Keep/mcp-server
|
||||
node index.js
|
||||
```
|
||||
|
||||
### Import du Workflow dans N8N
|
||||
|
||||
1. Ouvrez N8N
|
||||
2. Cliquez sur "Import from File"
|
||||
3. Sélectionnez `n8n-memento-workflow.json`
|
||||
4. Assurez-vous que Memento tourne sur http://localhost:3000
|
||||
5. Exécutez le workflow avec "Execute Workflow"
|
||||
|
||||
## 5. Test du MCP Server
|
||||
|
||||
Pour tester le serveur MCP en ligne de commande:
|
||||
|
||||
```bash
|
||||
cd D:/dev_new_pc/Keep/mcp-server
|
||||
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node index.js
|
||||
```
|
||||
|
||||
Vous devriez voir la liste des 9 outils disponibles.
|
||||
|
||||
## Notes Importantes
|
||||
|
||||
- Le serveur MCP utilise **stdio** (stdin/stdout) pour la communication, pas HTTP
|
||||
- N8N doit être configuré pour connaître le serveur MCP avant utilisation
|
||||
- Le workflow JSON fourni teste uniquement l'API REST (plus simple à tester)
|
||||
- Pour utiliser MCP dans N8N, utilisez le noeud "MCP Client" après configuration
|
||||
- Le serveur Next.js doit tourner pour que l'API REST fonctionne
|
||||
Reference in New Issue
Block a user