Files
jb-compta/indy-mcp/README.md
T

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.

  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 HeadersRequest 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

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.