Skip to main content
Glama
CEI-Devs

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.