3.0 KiB
MCP Indy custom
Petit serveur MCP qui appelle l'API privée d'Indy avec ton token, pour récupérer tes transactions (et plus) sans OCR. Tu le branches sur Claude Desktop, ou tu t'en sers comme base pour le sync de JB Compta.
⚠️ API non officielle, pour tes propres données. Zone grise vis-à-vis des CGU d'Indy, peut casser si Indy change son interface, et le token JWT expire.
Étape 1 — Capturer l'API d'Indy (le cœur du sujet)
On a besoin de voir la vraie requête que fait le site quand il charge tes transactions.
- Ouvre https://app.indy.fr dans Chrome et connecte-toi.
- Appuie sur F12 → onglet Network (Réseau). Coche Fetch/XHR.
- Va sur ta page Transactions (ou recharge-la). Des requêtes apparaissent.
- Repère celle qui renvoie tes transactions en JSON (clique dessus, onglet
Response/Aperçu : tu dois voir tes opérations). Note :
- l'URL complète (onglet Headers → Request URL) ;
- la méthode (GET/POST) ;
- les paramètres éventuels (dates, page) ;
- l'en-tête Authorization (commence souvent par
Bearer eyJ...) — c'est ton token ; ou, si pas d'Authorization, l'en-tête Cookie.
- Copie-moi : l'URL, la méthode, les paramètres, et un extrait du JSON de réponse (2-3 transactions suffisent). Masque la valeur du token (garde juste « Bearer … »).
Avec ça, je complète lister_transactions (et j'ajoute clients, factures…) avec les
bons endpoints et le bon mapping.
Étape 2 — Configurer et lancer
cd indy-mcp
python -m venv .venv && source .venv/bin/activate # ou ton uv
pip install -r requirements.txt
cp .env.example .env # puis renseigne INDY_TOKEN (et INDY_TRANSACTIONS_PATH)
python server.py # démarre le MCP (stdio)
Étape 3 — Brancher sur Claude Desktop
Settings… > Developer > Edit Config :
{
"mcpServers": {
"indy-custom": {
"command": "python",
"args": ["/chemin/vers/indy-mcp/server.py"],
"env": { "INDY_TOKEN": "eyJ...ton-token...", "INDY_BASE_URL": "https://app.indy.fr" }
}
}
}
Redémarre Claude Desktop.
Outils fournis
| Outil | Rôle |
|---|---|
etat |
Vérifie la config (token présent, URL). |
appel_api |
Explorateur : appelle n'importe quel endpoint. Sert à découvrir/valider une URL captée avant de la figer. |
lister_transactions |
Liste les transactions (une fois INDY_TRANSACTIONS_PATH renseigné). |
Workflow de découverte : une fois connecté, demande à Claude
« appelle appel_api avec path=/l-url-que-tu-as-captée » → si tu vois ton JSON,
l'endpoint est bon, on le fige dans lister_transactions.
Récupérer le token rapidement
Dans DevTools → onglet Application (ou Storage) → Local Storage /
Cookies de app.indy.fr : le token JWT (eyJ...) y est souvent stocké. Sinon,
copie l'en-tête Authorization d'une requête dans l'onglet Network.
Le token expire : s'il ne marche plus, recapture-le.