CEI Documentation MCP Server
by CEI-Devs
README.md
# MCP Serveur CEI Documentation
Un serveur MCP (Model Context Protocol) pour rechercher dans une collection documentation Directus.
## 🚀 Installation
1. **Clonez le repository :**
```bash
git clone https://github.com/votre-username/mcp-serveur-cei-documentation.git
cd mcp-serveur-cei-documentation
```
2. **Installer les dépendances :**
```bash
npm install
```
3. **Configurer les variables d'environnement :**
```bash
cp .env.example .env
```
Modifiez le fichier `.env` avec vos informations Directus :
```
DIRECTUS_URL=https://votre-instance-directus.com
CEI_DOCS_BASE_URL=https://votre-docs-site.com
DIRECTUS_TOKEN=votre-token-api-directus
```
## đź’» Utilisation
### Démarrage du serveur
```bash
npm start
```
### Test du serveur
```bash
npm test
```
### Développement avec rechargement automatique
```bash
npm run dev
```
## 🛠️ Outils disponibles
### `recherche_documentation`
Recherche dans la documentation de CEI-docs par terme ou par ID.
**Paramètres :**
- `query` (string, optionnel) : Terme de recherche (ignoré si ID est fourni)
- `id` (number, optionnel) : ID spécifique de la documentation à récupérer
- `limit` (number, optionnel) : Nombre maximum de résultats (défaut: 10)
- `fields` (array, optionnel) : Champs spécifiques à retourner
- `filter` (object, optionnel) : Filtres Directus additionnels
**Exemples d'utilisation :**
Recherche par terme :
```json
{
"query": "installation",
"limit": 5,
"fields": ["id", "title", "content"],
"filter": {
"status": "published"
}
}
```
Recherche par ID :
```json
{
"id": 3,
"fields": ["id", "title", "content", "status"]
}
```
### `recherche_procedures`
Recherche dans les procédures de CEI-docs par terme ou par ID.
**Paramètres :**
- `query` (string, optionnel) : Terme de recherche (ignoré si ID est fourni)
- `id` (number, optionnel) : ID spécifique de la procédure à récupérer
- `limit` (number, optionnel) : Nombre maximum de résultats (défaut: 10)
- `fields` (array, optionnel) : Champs spécifiques à retourner
- `filter` (object, optionnel) : Filtres Directus additionnels
**Exemples d'utilisation :**
Recherche par terme :
```json
{
"query": "configuration",
"limit": 5,
"fields": ["id", "title", "description", "steps"],
"filter": {
"status": "published"
}
}
```
Recherche par ID :
```json
{
"id": 49,
"fields": ["id", "title", "description", "steps", "status"]
}
```
### `recherche_applications`
Recherche dans les applications de CEI-docs par terme ou par ID.
**Paramètres :**
- `query` (string, optionnel) : Terme de recherche (ignoré si ID est fourni)
- `id` (number, optionnel) : ID spécifique de l'application à récupérer
- `limit` (number, optionnel) : Nombre maximum de résultats (défaut: 10)
- `fields` (array, optionnel) : Champs spécifiques à retourner
- `filter` (object, optionnel) : Filtres Directus additionnels
**Exemples d'utilisation :**
Recherche par terme :
```json
{
"query": "gestion",
"limit": 5,
"fields": ["id", "name", "description", "url", "category"],
"filter": {
"status": "published"
}
}
```
Recherche par ID :
```json
{
"id": 12,
"fields": ["id", "name", "description", "url", "category", "status"]
}
```
## Configuration dans Claude Desktop
Ajoutez cette configuration dans votre fichier de configuration Claude Desktop :
**Emplacement du fichier :**
- Windows : `%APPDATA%\Claude\claude_desktop_config.json`
- macOS : `~/Library/Application Support/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"documentation-cei": {
"command": "node",
"args": ["C:\\Users\\Utilisateur\\Documents\\DEV\\js-apps\\mcp-serveur-cei-documentation\\server.js"],
"env": {
"DIRECTUS_URL": "https://votre-instance-directus.com",
"CEI_DOCS_BASE_URL": "https://votre-docs-site.com",
"DIRECTUS_TOKEN": "votre-token-directus"
}
}
}
}
```
**Note importante :** Adaptez le chemin dans `args` selon l'emplacement de votre serveur.
## Structure du projet
```
mcp-serveur-cei-documentation/
├── server.js # Serveur MCP principal
├── package.json # Configuration npm
├── test.js # Script de test
├── .env.example # Exemple de variables d'environnement
└── README.md # Documentation
```
## Fonctionnalités
- âś… Recherche textuelle dans la collection documentation
- âś… Recherche textuelle dans la collection procedure
- âś… Recherche textuelle dans la collection applications
- âś… Support des filtres Directus
- ✅ Limitation du nombre de résultats
- ✅ Sélection de champs spécifiques
- ✅ Gestion d'erreurs complète
- âś… Authentification via token Directus
## Dépannage
1. **Erreur de connexion Ă Directus :**
- Vérifiez que `DIRECTUS_URL` pointe vers votre instance
- Vérifiez que `DIRECTUS_TOKEN` est valide
2. **Collection 'documentation' introuvable :**
- Assurez-vous que la collection existe dans Directus
- Vérifiez les permissions du token pour cette collection
3. **Problèmes d'authentification :**
- Vérifiez que le token a les permissions de lecture sur la collection
- Testez le token directement avec l'API Directus
## API Directus utilisée
Le serveur utilise l'endpoint standard Directus :
```
GET /items/documentation?search={query}&limit={limit}&fields={fields}
```
Avec authentification Bearer Token dans les headers.