- 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
151 lines
3.7 KiB
Markdown
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
|