Keep/N8N-MCP-SETUP.md
sepehr 8d95f34fcc 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
2026-01-04 14:28:11 +01:00

151 lines
3.7 KiB
Markdown

# 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