Provides comprehensive tools for managing PocketBase instances, allowing for the generation, execution, and reverting of migrations, as well as the listing and viewing of collections and fields via the REST API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PocketBase MCP Servercreate a 'blog_posts' collection with title, content, and author fields"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🚀 PocketBase MCP Server
Un serveur MCP (Model Context Protocol) complet pour gérer les migrations PocketBase via API REST. Génère et exécute des migrations pour créer, modifier et supprimer des collections PocketBase.
📥 Installation depuis GitHub
Cloner et installer
Configuration rapide
Créez un fichier de configuration MCP (
~/.claude_desktop_config.jsonou équivalent):
Redémarrez votre client MCP (Claude Desktop, Cursor, etc.)
Testez l'installation:
# Démarrer le serveur en mode développement npm run dev
📦 Installation globale (optionnel)
Dépôt GitHub: https://github.com/Step-by-Step-technology/pocketbase-mcp
✨ Fonctionnalités
✅ Outils Disponibles
Outil | Description | Statut |
| Génère une migration pour créer une nouvelle collection | ✅ Fonctionne parfaitement |
| Génère une migration pour modifier les règles d'une collection | ✅ Nouveau |
| Génère une migration pour supprimer une collection | ✅ Nouveau |
| Génère une migration pour modifier les champs d'une collection | ✅ Nouveau |
| Génère une migration pour ajouter un seul champ à une collection | ✅ NOUVEAU |
| Génère une migration pour supprimer un seul champ d'une collection | ✅ NOUVEAU |
| Génère une migration pour revenir en arrière sur une migration précédente | ✅ NOUVEAU |
| Exécute n'importe quel type de migration (création, modification, suppression) | ✅ Amélioré |
| Exécute une migration de création (outil original préservé) | ✅ Fonctionne parfaitement |
| Liste toutes les migrations disponibles | ✅ Existant |
| Affiche le contenu d'une migration | ✅ Existant |
| Liste toutes les collections PocketBase | ✅ Existant |
| Affiche les détails d'une collection | ✅ Existant |
🚀 Installation (Alternative)
Si vous avez déjà cloné le projet localement ou si vous travaillez sur une version existante:
Prérequis
Node.js 18+
PocketBase en cours d'exécution
Token d'administration PocketBase
Installation locale
Note: Pour une installation complète depuis GitHub, référez-vous à la section 📥 Installation depuis GitHub ci-dessus.
Configuration
Les variables d'environnement sont configurées dans le fichier de configuration MCP (cline_mcp_settings.json):
Variables requises:
POCKETBASE_URL: URL de votre instance PocketBase (ex:http://127.0.0.1:8090)POCKETBASE_TOKEN: Token d'administration PocketBase (obtenu via l'interface admin)POCKETBASE_MIGRATIONS_DIR: Chemin absolu vers le répertoire des migrations
📦 Structure du Projet
🛠️ Utilisation
Démarrer le Serveur MCP
Configuration Claude Desktop
Ajoutez à ~/.claude_desktop_config.json:
📝 Exemples Complets
1. Créer une Collection
2. Modifier les Règles d'une Collection
3. Modifier les Champs d'une Collection
4. Supprimer une Collection
5. Exécuter une Migration
6. Ajouter un Champ à une Collection
7. Supprimer un Champ d'une Collection
8. Revenir en Arrière sur une Migration
🔄 Workflow Complet
Étape 1: Créer une Migration
Étape 2: Exécuter la Migration
Étape 3: Vérifier
Étape 4: Modifier si nécessaire
🎯 Cas d'Utilisation Avancés
Migration de Création avec Règles d'Authentification
Migration de Collection d'Authentification
⚙️ Configuration Technique
Variables d'Environnement
Variable | Description | Valeur par défaut |
| URL de l'instance PocketBase |
|
| Token d'administration PocketBase | (requis) |
| Alternative au token | (optionnel) |
| Répertoire des migrations |
|
Scripts NPM
🆕 Nouvelles Fonctionnalités (Janvier 2026)
✨ Ajout de 3 Nouveaux Outils
1. pocketbase-add-field-migration
Objectif: Ajouter un seul champ à une collection existante
Avantage: Granularité fine - pas besoin de réécrire tous les champs
Exemple d'utilisation:
{ "collectionName": "products", "field": { "name": "stock", "type": "number", "required": false, "min": 0 } }
2. pocketbase-remove-field-migration
Objectif: Supprimer un seul champ d'une collection existante
Avantage: Suppression ciblée sans affecter les autres champs
Exemple d'utilisation:
{ "collectionName": "products", "fieldName": "stock" }
3. pocketbase-revert-migration
Objectif: Revenir en arrière sur une migration précédente
Avantage: Sécurité - possibilité d'annuler les changements
Exemple d'utilisation:
{ "migrationFile": "1768987877_add_field_stock_to_products.js" }
🔧 Amélioration de pocketbase-execute-any-migration
Nouvelle détection: Reconnaît maintenant 6 types de migrations:
create- Création de collectionupdate- Modification de règlesupdate_fields- Modification de tous les champsadd_field- Ajout d'un seul champremove_field- Suppression d'un seul champdelete- Suppression de collection
Compatibilité: Ne casse pas l'existant - l'outil original
pocketbase-execute-migrationest préservé
🧪 Tests
Le projet a été testé avec succès avec:
✅ Tests manuels de toutes les fonctionnalités
✅ Migrations réelles exécutées sur PocketBase
✅ Validation complète des 13 outils MCP
✅ Tests des nouvelles fonctionnalités:
Ajout de champ: ✅ Fonctionne
Suppression de champ: ✅ Fonctionne
Revert de migration: ✅ Fonctionne
Pour tester le serveur MCP:
🔧 Développement
Structure du Code
src/pocketbase-migration.ts: Logique de génération des migrationscreateMigrationFile(): Création de collectionscreateUpdateMigrationFile(): Modification de collectionscreateDeleteMigrationFile(): Suppression de collectionscreateUpdateFieldsMigrationFile(): Modification de champsparseMigrationFields(): Parsing des champs depuis les migrations
src/pocketbase-tools.ts: Définition des outils MCP10 outils complets avec validation Zod
Gestion d'erreurs robuste
API REST vers PocketBase
src/index.ts: Serveur MCP principalConfiguration du serveur
Gestion des connexions
Logging et monitoring
Ajouter un Nouvel Outil
Ajouter la définition dans
pocketbase-tools.tsImplémenter la logique métier
Tester manuellement avec les outils MCP
Documenter dans le README
📊 Statistiques du Projet
10 outils MCP complets
4 types de migrations supportés (création, modification, suppression, modification de champs)
100% TypeScript avec validation Zod
API REST complète vers PocketBase
Gestion d'erreurs robuste
Documentation complète
🚀 Déploiement sur GitHub
Préparer le Projet pour GitHub
Fichiers à Inclure dans .gitignore
Package.json pour Publication
Assurez-vous que votre package.json contient:
🤝 Contribution
Fork le projet
Créer une branche (
git checkout -b feature/amazing-feature)Commit les changements (
git commit -m 'Add amazing feature')Push vers la branche (
git push origin feature/amazing-feature)Ouvrir une Pull Request
📄 Licence
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
🙏 Remerciements
Model Context Protocol pour le framework MCP
PocketBase pour l'excellente base de données
La communauté Claude pour les outils d'IA
📞 Support
Pour les questions et le support:
Ouvrir une issue sur GitHub
Consulter la documentation complète dans
GUIDE_COMPLET.md
✨ Fonctionnalité Unique: Ce serveur MCP préserve soigneusement l'outil original pocketbase-execute-migration qui fonctionne parfaitement pour les créations, tout en ajoutant de nouveaux outils pour les modifications et suppressions sans dégrader les fonctionnalités existantes.
🚀 Prêt pour la production: Testé avec succès sur des migrations réelles de création, modification et suppression de collections PocketBase.