Ajoute docs/supervision.md, référencé depuis CLAUDE.md et docs/README.md. Décrit le rôle de superviseur du projet, distinct des sessions qui codent : vérifier l'état réel du MCP contre le WMS, réviser leurs livraisons sans les croire sur parole, et rédiger la passation suivante. Contient la baseline chiffrée à préserver (23 outils, 6 resources, npm test 4/4) et les mesures de référence du tenant, la boîte à outils de vérification (handshake MCP, appel d'outil via le protocole, sonde directe de l'API), une grille de revue en sept points, les six règles de rédaction d'une passation, et les garde-fous (lecture seule, pas de push, pas de réécriture d'historique). Consigne les quatre modes d'échec déjà observés sur ce dépôt : taxonomie inventée, casse de champ supposée, collision de préfixe de routage, hypothèse présentée comme solution. Ils sont récurrents et se repèrent vite quand on sait quoi chercher. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
WMS MCP Server
Serveur MCP qui donne à Claude un accès en lecture à un WMS EasyWMS (Mecalux), pour le diagnostic et l'analyse.
Concrètement, dans Claude Desktop :
« Combien de commandes sont bloquées en statut Release sur LIMAGRAIN ? » « Trouve les workflows qui touchent au réapprovisionnement. » « Cherche
Order 4711dans les logs. » « Quels paramètres sont surchargés sur l'entrepôt 2 ? »
Architecture : 100 % API REST. Aucun accès direct à Oracle — voir D1 dans DECISIONS.md.
Ce que le serveur expose
23 outils répartis en 8 familles :
| Famille | Outils |
|---|---|
| Requêtes WMS | query_wms_entities, count_wms_entities, get_entity_schema, search_wms_data |
| API brutes | call_query_api, execute_command |
| Workflows | search_workflows, get_workflow_details, list_workflow_categories |
| Application Dictionary | get_application_summary, get_ad_elements, search_ad_elements, get_ad_element_details, list_ad_types |
| Métadonnées | get_entity_metadata, generic_search |
| Configuration | get_system_parameters |
| Profils | list_wms_profiles, get_current_wms_profile, switch_wms_profile |
| Logs | read_recent_logs, list_log_files, search_logs |
6 resources de contexte : wms://entities, wms://entity-schemas,
wms://query-examples, workflows://overview, api://catalog, logs://guide.
Multi-WMS. Plusieurs backends (clients, tenants) coexistent dans un seul
serveur ; Claude bascule à la demande avec switch_wms_profile.
Installation
Prérequis : Node.js 18+ et un accès réseau au WMS (VPN si nécessaire).
npm install
Copiez .env.example en .env et renseignez au moins un profil :
WMS_API_AUTH=Basic R05BOklFNGU3aXFoZHQ=
WMS_APPLICATION=EasyWMS
WMS_API_PATH=/ApplicationService/api
WMS_TOKEN_PATH=/EasySTS/OAuth/Token
WORKFLOW_API_PATH=/AD/api
WMS_PROFILES=AD
DEFAULT_WMS_PROFILE=AD
AD_HOST=10.255.255.2
AD_USERNAME=...
AD_PASSWORD=...
AD_TENANT=AD
AD_SAAS=false
Vérifiez la connectivité — le test est en lecture seule :
npm test
Sortie attendue : 4/4 tests reussis. En cas d'échec, voir
MONITORING.md §7.
Brancher Claude Desktop
Éditez %APPDATA%\Claude\claude_desktop_config.json :
{
"mcpServers": {
"wms": {
"command": "node",
"args": ["D:\\chemin\\vers\\mcp-wms-api\\src\\index.js"]
}
}
}
Puis fermez et rouvrez complètement Claude Desktop. Les logs du serveur
apparaissent dans %APPDATA%\Claude\logs\.
Ajouter un WMS
- Ajoutez son nom à
WMS_PROFILES(séparateur : virgule). - Définissez
<NOM>_HOST,<NOM>_USERNAME,<NOM>_PASSWORD,<NOM>_TENANT. - Mettez
<NOM>_SAAS=truesi le WMS est hébergé dans le cloud Mecalux — les outils de log seront alors désactivés pour ce profil, à dessein.
Les URL se construisent à partir du host : rien d'autre à dupliquer. Testez
avec npm test -- <NOM>.
Compiler un exécutable Windows
npm run build
Produit dist/wms-mcp-server.exe (~76 Mo, autonome, cible node22-win-x64).
Placez le .env à côté de l'exe : en mode packagé, c'est là qu'il est lu,
et aucun credential n'est embarqué dans le binaire (D7). Les avertissements
Cannot find module '@modelcontextprotocol/sdk/…' pendant le build sont
normaux et sans effet (D18).
Déploiement type sur la VM :
C:\WMS\mcp\wms-mcp-server.exe
C:\WMS\mcp\.env
Documentation
| Fichier | Contenu |
|---|---|
| CLAUDE.md | Architecture, inventaire des outils, conventions de code |
| DECISIONS.md | Pourquoi le code est ainsi + pièges vérifiés en production |
| MONITORING.md | Superviser le serveur MCP : logs, token, caches, symptômes |
| ROADMAP.md | Travaux planifiés par lot, et ce qui a été écarté |
| docs/logs.md | Accès aux logs du WMS |
| docs/ | Références EasyWMS (API, entités) |
Sécurité
.envetdist/sont ignorés par git — ne les committez jamais.- La validation TLS est désactivée pour accepter les certificats auto-signés des WMS on-premise (D15).
- ⚠️ L'historique git contient un ancien fichier de configuration avec des mots
de passe en clair (commit
b59cbb3). Ces credentials sont à considérer comme compromis — voir D20.