# 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. 1. Ouvre **https://app.indy.fr** dans Chrome et connecte-toi. 2. Appuie sur **F12** → onglet **Network** (Réseau). Coche **Fetch/XHR**. 3. Va sur ta page **Transactions** (ou recharge-la). Des requêtes apparaissent. 4. 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**. 5. **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 ```bash 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` : ```jsonc { "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.