Content
# satelia-mcp-freshdesk
Un serveur MCP pour Freshdesk : récupérer les tickets, lire les détails, ajouter des notes, gérer le statut et les tags.
## Prerequis
- Node.js version 18 ou superieure. Pour verifier, ouvrez un terminal et tapez : `node --version`
- Si Node n'est pas installe, telechargez-le sur le site officiel : https://nodejs.org (choisissez la version "LTS").
## Installation
1. Cloner le depot et installer les dépendances :
```bash
git clone <adresse-du-depot>
cd satelia-mcp-freshdesk
npm install
npm run build
```
Un dossier `build` apparait. Il contient le fichier `build/index.js` que Claude utilisera.
## Configuration (Freshdesk)
Ce serveur a besoin de deux variables d'environnement, à définir dans la config de
Claude Desktop (`claude_desktop_config.json`), dans le bloc `env` du serveur — **jamais dans le code** :
```json
{
"mcpServers": {
"freshdesk": {
"command": "node",
"args": ["/chemin/absolu/vers/build/index.js"],
"env": {
"FRESHDESK_DOMAIN": "satelia",
"FRESHDESK_API_KEY": "votre_cle_api"
}
}
}
}
```
- `FRESHDESK_DOMAIN` : le sous-domaine (ex. `satelia` pour `satelia.freshdesk.com`).
- `FRESHDESK_API_KEY` : Freshdesk → *Profile settings → View API Key*.
⚠️ **Sécurité** : Une clé API Freshdesk donne accès à tout le support. Ne la partagez jamais (pas de mail, de chat, de dépôt public). Avant la mise en production, **régénérez une clé neuve** (*Profile settings → View API Key → Reset*), surtout si la clé actuelle a déjà été partagée.
Après modification : `npm run build` puis redémarrer Claude Desktop.
## Outils disponibles
- `chercher-tickets` — lister/rechercher des tickets (email client, statut, priorité, tag, dates).
- `lire-ticket` — un ticket en détail (conversation + champs perso, dont le Code patient).
- `voir-contact` — fiche d'un contact (par email ou identifiant).
- `ajouter-note` — note **privée** (brouillon, jamais envoyée au client).
- `changer-statut` — ouvert / en_attente / resolu / ferme.
- `gerer-tags` — ajouter/retirer des tags.
## Test « live » (avec un vrai Freshdesk)
À faire une fois les variables d'environnement positionnées, **en commençant par la
lecture** (⚠️ données patients : rester sur peu de tickets) :
1. `FRESHDESK_DOMAIN=satelia FRESHDESK_API_KEY=... npm run dev` (démarre le serveur).
2. Depuis Claude : `chercher-tickets` sans filtre → vérifier que des tickets remontent.
3. `lire-ticket` sur un id renvoyé → vérifier l'affichage (conversation, champs perso).
4. Sur un **ticket de test** : `ajouter-note`, puis `changer-statut`, puis `gerer-tags`.
5. Vérifier dans l'interface Freshdesk que la note est bien **privée**.
## Licence
MIT. Voir le fichier `LICENSE`.