Connecter Claude à la base de l'IGF
Le serveur MCP donne à Claude huit outils pour chercher dans les documents déposés et dans les textes juridiques versionnés. Claude rédige ensuite ses réponses en citant fichier et page, ou texte, article et période de validité.
1. Adresse du serveur et jeton
Authorization: Bearer …)••••••2. Claude Code
Fonctionne en localDans un terminal, sur l'ordinateur où tourne le serveur :
--scope user rend les outils disponibles dans tous vos projets. Vérifier ensuite avec claude mcp list : la ligne igf-rdc doit afficher « connected ». Dans une session, la commande /mcp montre les huit outils.
3. Claude Desktop (application Mac ou Windows)
Fonctionne en localL'application ne sait pas envoyer elle-même un jeton fixe à un serveur local. On passe donc par le petit pont mcp-remote, qui nécessite Node.js.
Avec un serveur en ligne comme celui-ci, on peut aussi l'ajouter comme connecteur personnalisé, exactement comme dans claude.ai (section 4).
- Ouvrir Réglages › Développeur › Modifier la config (en anglais : Settings › Developer › Edit Config). Cela ouvre
claude_desktop_config.json(sur Mac :~/Library/Application Support/Claude/claude_desktop_config.json). - Ajouter ce bloc dans
"mcpServers"(créer cette clé si elle n'existe pas) :
- Quitter complètement Claude Desktop puis le rouvrir. Les outils
igf-rdcapparaissent dans le menu + › Connecteurs de la conversation.
IGF_AUTH) plutôt qu'écrit dans les arguments : il n'apparaît pas dans la liste des processus.4. claude.ai dans le navigateur, et l'application mobile
Nécessite une mise en ligneAvec claude.ai, ce n'est pas votre navigateur qui appelle le serveur MCP : ce sont les serveurs d'Anthropic. Une adresse localhost ne leur est donc jamais accessible. Il faut deux choses.
a. Rendre le serveur accessible en HTTPS
| Option | Pour | Contre |
|---|---|---|
Serveur public de l'IGF ou hébergé, avec un nom de domaine et HTTPS (ex. https://igf-rag.exemple.cd/mcp), déployé avec docker compose derrière un reverse proxy (Caddy, Nginx) |
Solution normale, fonctionne avec tous les plans Claude | Les documents de l'IGF deviennent joignables depuis Internet : le jeton est alors la seule protection |
| Tunnel MCP d'Anthropic (le serveur reste dans le réseau de l'IGF, connexion sortante uniquement) | Aucun port ouvert, aucune adresse publique | Réservé au plan Enterprise, sur demande, en préversion ; exige OAuth sur le serveur |
| Tunnel temporaire (Cloudflare Tunnel, ngrok) vers ce poste | Rapide pour une démonstration | À éviter avec de vrais documents de l'IGF ; adresse instable |
Sur le serveur en ligne : remplacer le jeton (IGF_API_TOKEN) et déclarer le nom de domaine (IGF_MCP_ALLOWED_HOSTS=igf-rag.exemple.cd).
b. Ajouter le connecteur dans claude.ai
- Ouvrir Personnaliser › Connecteurs (Customize › Connectors) sur les plans Free, Pro et Max. Sur un plan Team ou Enterprise, c'est un propriétaire de l'organisation qui l'ajoute, dans Paramètres de l'organisation › Connecteurs (Organization settings › Connectors).
- Cliquer Ajouter un connecteur personnalisé (Add custom connector), puis saisir l'adresse
https://…/mcp. - Authentification : choisir No sign-in, puis dans Request headers ajouter l'en-tête
authorizationavec la valeurBearer+ espace + jeton. Claude envoie la valeur telle quelle : sans le motBearer, le serveur refuse. - Enregistrer. Le connecteur sert aussi dans l'application mobile, avec le même compte.
5. Tester la connexion
Une fois connecté, poser à Claude des questions comme :
- « Liste les textes juridiques disponibles dans la base de l'IGF. »
- « Que disait l'article 12 ter de l'ordonnance 87-323 au 1er janvier 2022 ? Et aujourd'hui ? »
- « Quelles compétences la LOFIP donne-t-elle à l'Inspection Générale des Finances ? Cite les articles. »
- « Montre l'historique de l'article 2 de l'ordonnance 87-323. »
Claude doit appeler les outils igf-rdc et citer ses sources. S'il répond de mémoire, vérifier que le connecteur est activé dans le menu + de la conversation.
En cas de problème
| « 401 » ou « Jeton manquant ou invalide » | Jeton erroné, ou mot Bearer absent devant le jeton. |
| Connexion impossible | Le serveur ne tourne pas : curl /healthz doit répondre {"status":"ok"}. |
| « Invalid Host header » | En ligne : ajouter le nom de domaine à IGF_MCP_ALLOWED_HOSTS. |
| Claude Desktop ne voit rien | Le fichier de configuration n'est pas un JSON valide (virgule en trop), ou l'application n'a pas été entièrement redémarrée. |
6. Les 8 outils exposés
| Outil | Rôle |
|---|---|
rechercher_documents | Passages des documents déposés, avec fichier, page, similarité cosinus et indicateur OCR |
lister_documents | Inventaire des documents indexés et de leurs catégories |
lire_document | Texte intégral de pages d'un document |
rechercher_textes_juridiques | Articles en vigueur à une date (aujourd'hui par défaut, ou date des faits contrôlés) |
lister_textes_juridiques | Lois, ordonnances, décrets de la base, avec leur état |
lire_article | Un article tel qu'en vigueur à une date, et son historique résumé |
historique_article | Toutes les versions d'un article et le texte qui a produit chacune |
texte_consolide | Texte complet tel qu'en vigueur à une date |