- Unified localStorage key to 'theme-preference' across all components
- Fixed header.tsx using wrong localStorage key ('theme' instead of 'theme-preference')
- Added localStorage hybrid persistence for instant theme changes
- Removed router.refresh() which was causing stale data revert
- Replaced Blue theme with Sepia
- Consolidated auth() calls to prevent race conditions
- Updated UserSettingsData types to include all themes
140 lines
4.6 KiB
Markdown
140 lines
4.6 KiB
Markdown
# MCP Server Correction Summary
|
|
|
|
## Date: 2026-01-18
|
|
|
|
## Modifications effectuées pour adapter le serveur MCP au code actuel de Keep Notes
|
|
|
|
### 1. **Correction du chemin de base de données** ✅
|
|
- **Ancien chemin:** `file:${join(__dirname, '../keep-notes/prisma/dev.db')}` (incorrect)
|
|
- **Nouveau chemin:** `file:D:/dev_new_pc/Keep/keep-notes/prisma/dev.db` (chemin absolu Windows)
|
|
|
|
### 2. **Mise à jour du schéma Prisma** ✅
|
|
Ajout de tous les champs manquants dans le modèle `Note`:
|
|
- `links` (String?) - Liens dans les notes
|
|
- `reminder` (DateTime?) - Rappels
|
|
- `isReminderDone` (Boolean) - État du rappel
|
|
- `reminderRecurrence` (String?) - Récurrence des rappels
|
|
- `reminderLocation` (String?) - Lieu du rappel
|
|
- `isMarkdown` (Boolean) - Support Markdown
|
|
- `size` (String) - Taille de la note (small, medium, large)
|
|
- `notebookId` (String?) - Association avec un notebook
|
|
|
|
Ajout des modèles manquants:
|
|
- `Notebook` - Gestion des notebooks
|
|
- `Label` - Gestion des labels
|
|
- `User`, `Account`, `Session` - Authentification
|
|
- `NoteShare` - Partage de notes
|
|
- `AiFeedback`, `MemoryEchoInsight` - Fonctionnalités IA
|
|
- `UserAISettings` - Paramètres IA utilisateur
|
|
|
|
### 3. **Outils MCP ajoutés - Notebooks** ✅
|
|
- `create_notebook` - Créer un nouveau notebook
|
|
- `get_notebooks` - Récupérer tous les notebooks
|
|
- `get_notebook` - Récupérer un notebook spécifique avec ses notes
|
|
- `update_notebook` - Mettre à jour un notebook
|
|
- `delete_notebook` - Supprimer un notebook
|
|
|
|
### 4. **Outils MCP ajoutés - Labels** ✅
|
|
- `create_label` - Créer un nouveau label (nécessite notebookId)
|
|
- `get_labels_detailed` - Récupérer tous les labels avec détails
|
|
- `update_label` - Mettre à jour un label
|
|
- `delete_label` - Supprimer un label
|
|
|
|
### 5. **Mise à jour des outils existants - Notes** ✅
|
|
Ajout de paramètres dans `create_note`:
|
|
- `links` - Tableau de liens
|
|
- `reminder` - Date de rappel (ISO 8601)
|
|
- `isReminderDone` - État du rappel
|
|
- `reminderRecurrence` - Récurrence (daily, weekly, monthly, yearly)
|
|
- `reminderLocation` - Lieu du rappel
|
|
- `isMarkdown` - Activer/désactiver Markdown
|
|
- `size` - Taille de la note (small, medium, large)
|
|
- `notebookId` - ID du notebook associé
|
|
|
|
Ajout de paramètres dans `update_note`:
|
|
- Tous les paramètres ci-dessus sont optionnels pour la mise à jour
|
|
|
|
Ajout de paramètres dans `get_notes` et `search_notes`:
|
|
- `notebookId` - Filtrer par notebook
|
|
|
|
### 6. **Mise à jour de la documentation** ✅
|
|
- Renommage de "Memento" vers "Keep Notes"
|
|
- Documentation complète de tous les nouveaux outils
|
|
- Exemples d'utilisation pour N8N et Cursor
|
|
- Référence complète du schéma Prisma
|
|
- Instructions d'installation et de configuration mises à jour
|
|
|
|
### 7. **Tests de validation** ✅
|
|
✅ Connexion à la base de données réussie
|
|
✅ 56 notes trouvées dans la base de données
|
|
✅ 6 notebooks récupérés avec succès
|
|
✅ 6 labels récupérés avec succès
|
|
✅ Client Prisma généré correctement
|
|
|
|
## Structure finale du serveur MCP
|
|
|
|
### Outils disponibles (19 au total)
|
|
|
|
**Gestion des notes (9 outils):**
|
|
1. create_note
|
|
2. get_notes
|
|
3. get_note
|
|
4. update_note
|
|
5. delete_note
|
|
6. search_notes
|
|
7. get_labels (legacy)
|
|
8. toggle_pin
|
|
9. toggle_archive
|
|
|
|
**Gestion des notebooks (5 outils):**
|
|
10. create_notebook
|
|
11. get_notebooks
|
|
12. get_notebook
|
|
13. update_notebook
|
|
14. delete_notebook
|
|
|
|
**Gestion des labels (5 outils):**
|
|
15. create_label
|
|
16. get_labels_detailed
|
|
17. update_label
|
|
18. delete_label
|
|
|
|
## Fichiers modifiés/créés
|
|
|
|
- ✅ `mcp-server/index.js` - Serveur MCP principal (réécrit)
|
|
- ✅ `mcp-server/prisma/schema.prisma` - Schéma Prisma (mis à jour)
|
|
- ✅ `mcp-server/README.md` - Documentation (réécrite)
|
|
- ✅ `mcp-server/test-server.js` - Script de test (nouveau)
|
|
- ✅ `mcp-server/CHANGES.md` - Résumé des modifications (nouveau)
|
|
|
|
## Configuration Cursor
|
|
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"keep-notes": {
|
|
"command": "node",
|
|
"args": ["D:/dev_new_pc/Keep/mcp-server/index.js"]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## Configuration N8N
|
|
|
|
Utiliser les mêmes paramètres que ci-dessus avec le nœud MCP dans N8N.
|
|
|
|
## Points importants
|
|
|
|
1. **Aucune modification du code Keep Notes** - Seul le dossier `mcp-server` a été modifié
|
|
2. **Base de données partagée** - Le MCP utilise la même base SQLite que Keep Notes
|
|
3. **Prisma synchronisé** - Le schéma Prisma du MCP correspond maintenant à celui de Keep Notes
|
|
4. **Tests réussis** - Toutes les opérations de base ont été testées et fonctionnent
|
|
|
|
## Prochaines étapes possibles (optionnelles)
|
|
|
|
- [ ] Ajouter des tests unitaires pour chaque outil MCP
|
|
- [ ] Ajouter la gestion des utilisateurs (authentification)
|
|
- [ ] Implémenter les fonctionnalités IA (Memory Echo, suggestions de titres)
|
|
- [ ] Implémenter le partage de notes (NoteShare)
|