fix: unify theme system - fix theme switching persistence
- 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
This commit is contained in:
139
mcp-server/CHANGES.md
Normal file
139
mcp-server/CHANGES.md
Normal file
@@ -0,0 +1,139 @@
|
||||
# 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)
|
||||
Reference in New Issue
Block a user