Serveur MCP pour Heurix — recherche et classement de catalogues produits techniques en langage naturel
Project description
Serveur MCP Heurix
Permet à un agent IA (Claude Desktop, Cursor, ou tout autre client MCP) d'interroger directement un catalogue Heurix — recherche, parcours par catégorie, statistiques — sans que l'agent ait à connaître l'API REST. Chantier 6.1 de la roadmap, 24 juillet 2026.
Trois tools exposés :
heurix_search— recherche par mot-clé, tolérante aux fautes de frappeheurix_browse— liste les produits d'une catégorie, avec tri (stock, prix, popularité...)heurix_catalog_stats— liste les catalogues et leurs catégories disponibles
Une fine couche au-dessus de l'API REST Heurix existante — aucune nouvelle logique métier, juste une nouvelle façade que les agents IA savent parler nativement.
Installation
pip install -r requirements.txt
Testable en local avant de le brancher à un client :
HEURIX_API_KEY=hx_votre_cle python3 server.py
(Le serveur attend alors une connexion MCP sur stdin/stdout — Ctrl+C pour arrêter. C'est normal qu'il ne "fasse rien" visuellement : un client MCP doit s'y connecter pour que quoi que ce soit se passe.)
Configuration dans Claude Desktop
- Ouvrez Claude Desktop → Réglages → Développeur → Modifier la configuration (ça crée le fichier s'il n'existe pas encore)
- Le fichier se trouve à :
- macOS :
~/Library/Application Support/Claude/claude_desktop_config.json - Windows :
%APPDATA%\Claude\claude_desktop_config.json
- macOS :
- Ajoutez (ou complétez s'il existe déjà d'autres serveurs) :
{
"mcpServers": {
"heurix": {
"command": "/usr/bin/python3",
"args": ["/chemin/complet/vers/heurix-mcp-server/server.py"],
"env": {
"HEURIX_API_KEY": "hx_votre_cle_api",
"HEURIX_API_BASE": "https://api.heurix.fr"
}
}
}
}
Important : utilisez le chemin complet vers python3 (which python3 dans un terminal pour le trouver), pas juste python3 — Claude Desktop lance la configuration avec un PATH minimal, une commande courte qui fonctionne dans votre terminal peut échouer silencieusement ici. Même chose pour le chemin vers server.py : complet, pas relatif.
- Redémarrez Claude Desktop entièrement (pas juste fermer la fenêtre)
- Un nouvel outil (icône 🔌 ou menu MCP selon la version) doit lister
heurix_search,heurix_browse,heurix_catalog_stats
Configuration dans Cursor
Même structure de fichier, deux emplacements possibles :
.cursor/mcp.jsonà la racine d'un projet (pour un serveur propre à ce projet)~/.cursor/mcp.json(global, disponible dans tous les projets)
{
"mcpServers": {
"heurix": {
"command": "/usr/bin/python3",
"args": ["/chemin/complet/vers/heurix-mcp-server/server.py"],
"env": {
"HEURIX_API_KEY": "hx_votre_cle_api",
"HEURIX_API_BASE": "https://api.heurix.fr"
}
}
}
}
Ensuite : Réglages Cursor → Tools & MCP, vérifiez que "Enable MCP Servers" est coché, et que heurix apparaît avec un point vert (connecté). Si rien n'apparaît après un redémarrage, le panneau Output → MCP affiche les logs bruts du serveur — souvent plus parlant que l'interface elle-même pour diagnostiquer.
Exemple concret
Ce qu'un utilisateur tape dans Claude Desktop, sans rien connaître de l'API Heurix :
J'ai un catalogue Heurix qui s'appelle quincaillerie-demo. Est-ce que j'ai des vis M8 en stock, et à quel prix ?
Ce qui se passe côté agent (invisible pour l'utilisateur, montré ici pour comprendre) :
- Claude appelle
heurix_search(catalog="quincaillerie-demo", query="vis M8") - Le serveur MCP relaie vers
POST https://api.heurix.fr/v1/index/quincaillerie-demo/search - La réponse JSON (hits, scores, stock, prix) revient à Claude
Réponse type de Claude Desktop à l'utilisateur :
Oui, vous avez deux références de vis M8 en stock dans quincaillerie-demo :
- Vis M8 x 20 - Inox A2 — 120 en stock, 5,90 €
- Vis M8 x 30 - Inox A2 — 45 en stock, 7,90 €
Voulez-vous que je regarde aussi si l'une d'elles a un stock faible, ou que je compare avec une autre référence ?
Aucune ligne de code, aucun appel curl — l'utilisateur pose une question en langage naturel, l'agent fait le pont vers l'API.
Sécurité
HEURIX_API_KEY vit uniquement dans la configuration du client MCP (fichier
local sur la machine de l'utilisateur), jamais en argument de ligne de
commande, jamais transmise en clair dans un appel de tool — le serveur la
lit une fois au démarrage depuis l'environnement et l'utilise pour chaque
appel à l'API Heurix.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file heurix_mcp_server-0.1.0.tar.gz.
File metadata
- Download URL: heurix_mcp_server-0.1.0.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2fc874930d0431c418d877016910dd4921892c5fcab4ebb0a0050499d49fa844
|
|
| MD5 |
1d19fefe4e35bab1a651106c46d83d2d
|
|
| BLAKE2b-256 |
3b97a91b8e52cc148216663163b39a60c7345bb37ac0b537c58c4f384d61f285
|
File details
Details for the file heurix_mcp_server-0.1.0-py3-none-any.whl.
File metadata
- Download URL: heurix_mcp_server-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3759e036b10266facd63c8c638d48d5b286ab8f956575bf5748ca87d032b56b0
|
|
| MD5 |
6a93825e97d883d50959839e335cfb89
|
|
| BLAKE2b-256 |
5b0f1e435a763c29a8d8a8de3e7a62ce6e10a6d24fbe8773eefd89301c107ba0
|