Pourquoi ça change quelque chose. Un agent qui travaille de mémoire devine les noms de champs, oublie
Idempotency-Key, rate AWAITING_PAYER et vérifie la signature d’un webhook sur un corps déjà désérialisé. Ces quatre erreurs sont les plus fréquentes en intégration, et les deux dernières coûtent de l’argent. Branché sur le MCP, il lit la bonne réponse au lieu de la supposer.Ce que l’assistant ne fait pas
Installation
Aucune clé, aucun jeton, aucune variable d’environnement.- Claude Code
- Claude Desktop
- Cursor
- Windsurf
- VS Code
- Client en stdio
/mcp dans une session : djonanko doit apparaître comme connecté.Vérifier que c’est branché
Demandez simplement à votre agent :Quels endpoints expose l’API Guichet Djonanko ?S’il répond avec les 22 opérations, leurs méthodes et leurs chemins — sans aller chercher sur le web — le serveur est joignable.
Ce que l’assistant sait faire
Le serveur s’enrichit par étapes. Les outils marqués disponible fonctionnent dès maintenant ; les autres arrivent et cette page suivra. Entre-temps, votre agent se rabat sur la lecture de cette documentation, ce qui marche déjà mieux que sa seule mémoire.
Comment lui parler
Un agent branché sur le MCP n’a plus besoin que vous lui copiiez la documentation. Parlez-lui de votre besoin métier, pas de l’API.Trois habitudes qui changent le résultat
Demandez-lui de relire avant d'exécuter
Demandez-lui de relire avant d'exécuter
La relecture est l’outil le plus utile du lot, et le moins spontanément employé par un agent. Dites-le explicitement :
Avant d’envoyer cette requête, fais-la relire.Un montant passé en décimal, un couple pays/opérateur impossible, une clé d’idempotence constante : autant d’erreurs attrapées avant qu’elles ne coûtent un appel refusé en production.
Précisez votre langage et votre framework
Précisez votre langage et votre framework
« en TypeScript avec Express », « en Python avec FastAPI », « en PHP avec Laravel ». Les exemples que l’assistant fournit sont écrits pour ces combinaisons, et un exemple adapté à votre pile vous évite une transposition où les détails se perdent — notamment l’accès au corps brut pour la vérification de signature, qui diffère d’un framework à l’autre.
Collez l'erreur entière, pas seulement le code
Collez l'erreur entière, pas seulement le code
L’assistant lit une réponse d’erreur JSON complète. Le champ
details porte souvent l’information décisive : le solde disponible face au montant requis, les opérateurs valides pour un pays, la référence de l’opération déjà existante.Les cinq règles qu’il fait respecter
L’assistant rappelle ces règles à votre agent à chaque session. Elles correspondent aux erreurs qui reviennent le plus souvent, et aux seules qui coûtent de l’argent.1
Les montants sont des entiers
Le XOF, le XAF et le GNF n’ont pas de sous-unité :
5000 vaut 5 000 FCFA. Aucune décimale, aucun flottant dans votre code. Voir Pays et opérateurs.2
Idempotency-Key dérivée d'un identifiant métier
Jamais une constante, jamais un UUID régénéré à chaque tentative — les deux ne protègent de rien. Voir Idempotence.
3
Tester requiresPayerAction, pas une liste d'opérateurs
C’est le piège d’intégration numéro un : si vous ignorez
payerActionUrl, vos encaissements Orange, Wave et Djamo n’aboutissent jamais. Voir États d’une opération.4
Vérifier la signature des webhooks sur le corps brut
Avant toute désérialisation, avec une comparaison à temps constant. Recalculer le HMAC après un
JSON.parse échoue systématiquement. Voir Webhooks.5
Brancher la reprise sur error.code
Jamais sur
error.message, qui peut être reformulé. Et sur 503 ou 504, l’issue est inconnue : réessayez avec la même clé d’idempotence. Voir Erreurs.Confidentialité
Les outils de relecture reçoivent du code et des requêtes qui vous appartiennent. Notre engagement :- Vos arguments ne sont pas journalisés. Le code source que vous soumettez, vos en-têtes et vos corps de requête sont expurgés avant toute écriture dans nos journaux.
- Vos recherches ne sont pas conservées. Les requêtes adressées à la recherche documentaire ne sont ni journalisées ni comptabilisées nominativement.
- Aucun secret ne nous est nécessaire. Pour vérifier qu’une clé convient à un endpoint, seul son préfixe compte (
gk_live_ougk_test_). Ne transmettez jamais un secret complet à l’assistant — il n’en a pas l’usage.
Limites
Deux autres limites à garder en tête :- L’audit de webhook signale ce qu’il voit, pas ce qu’il prouve. Il reconnaît des motifs dans votre code ; il ne peut pas démontrer l’absence d’une faute. Un contrôle qui passe signifie « les éléments attendus ont été trouvés », pas « votre implémentation est correcte ».
- Les commissions ne sont pas calculées par l’assistant. Pour un montant donné,
GET /cashout/quoteest la source de vérité.
Dépannage
Mon agent ne voit pas le serveur
Mon agent ne voit pas le serveur
Vérifiez l’URL — elle se termine par
/mcp. Puis que votre client prend en charge le transport HTTP : sinon, passez par le relais mcp-remote décrit plus haut. Enfin, redémarrez le client : la plupart ne relisent leur configuration qu’au démarrage.Il répond mais ignore les règles d'intégration
Il répond mais ignore les règles d'intégration
Demandez-lui explicitement de consulter la documentation Djonanko, puis de faire relire son code. Certains agents n’emploient un outil que lorsqu’on les y invite, surtout s’ils « croient » déjà connaître la réponse.
Il me demande une clé API
Il me demande une clé API
Il n’en a pas besoin et ne doit pas en recevoir. Si un agent vous réclame vos identifiants Djonanko pour utiliser l’assistant, c’est qu’il confond le serveur MCP avec l’API : rappelez-lui que le MCP ne fait que de la documentation.
Derrière un proxy d'entreprise
Derrière un proxy d'entreprise
Le serveur est en HTTPS sur le port 443 et n’exige aucune authentification. Il suffit d’autoriser
mcp.apidjonanko.tech en sortie.