Talk to your GSE-Web data in natural language
The GSE-Web MCP server connects AI assistants (Claude, ChatGPT, etc.) directly to your inventory management app. Ask questions, trigger actions, get reports — without writing a single line of code.
What is MCP?
MCP (Model Context Protocol) is an open standard created by Anthropic that allows an AI to connect to external data sources in a secure and structured way.
Think of it as a universal translator: the AI speaks in natural language, the MCP server translates into technical requests (API, SQL), and returns results in a format the AI understands.
Why use the MCP server?
Natural language queries
No need to navigate menus or know SQL. Ask your questions as you would ask a colleague.
Instant answers
The AI analyses the data and synthesises the results. A complete dashboard in one sentence.
Security preserved
Same rules as the application: JWT authentication, role-based permissions (30 rights), organisation isolation.
Automated actions
Create stock entries/exits, change movement slip statuses — directly from the conversation.
Intelligent analytics
Stock-out alerts, expired products, statistics — the AI cross-references data and alerts you proactively.
Training module
Teachers can track classes, scenarios and student progress with a simple question.
Without MCP / With MCP
Without MCP
- Open the GSE-Web application
- Navigate through menus
- Apply filters manually
- Export to CSV, open Excel
- Cross-reference data by hand
- Write a report
With MCP
- "Quels produits ont un stock < 5 dans le magasin Central ?"
- L'IA repond en 3 secondes avec un tableau
- "Compare les sorties de janvier et fevrier"
- L'IA génère l'analyse directement
- "Créeune entrée de 50 unites pour le produit REF-2024"
- Action effectuee, confirmation instantanée
How does it work?
The MCP server is a Node.js process running locally on your machine (or remotely via HTTPS). It authenticates with GSE-Web using your credentials, then exposes 44 tools the AI can call.
stdio (entrée/sortie standard) et avec GSE-Web via HTTPS. Pas de serveur web local a exposer.
Prerequisites
| Élément | Requis | Note |
|---|---|---|
Node.js | v18 ou supérieur | nodejs.org |
npm | Inclus avec Node.js | - |
Claude Code | CLI Anthropic | npm install -g @anthropic-ai/claude-code |
| Compte GSE-Web | Identifiants valides | Meme login que l'application mobile/web |
| Connexion internet | Oui | Pour atteindre les APIs GSE-Web |
Step-by-step installation
Step 1 — Compile the TypeScript server
Open a terminal in the GSE-Web project folder and run:
cd mcp-server npm install npm run build
The compiled output is in mcp-server/dist/.
Step 2 — Check the configuration
At the project root, a .mcp.json file is already configured:
{
"mcpServers": {
"gse-web": {
"command": "node",
"args": ["dist/index.js"],
"cwd": "/chemin/vers/gse_web_mobile_v2/mcp-server",
"env": {
"GSE_PROXY_BASE_URL": "https://gse-web-dev.xlexe.com",
"GSE_DEFAULT_SERVER": "https://dev.gse-web.online/"
}
}
}
}
cwd au chemin reel du dossier mcp-server sur votre machine.
Pour la production, remplacez les URLs par https://gse-web.xlexe.com et https://www.gse-web.online/.
Step 3 — Launch Claude Code
From the project root:
claude
Claude Code automatically detects .mcp.json and offers to activate the gse-web server. Accept.
Step 4 — Authenticate
In the Claude conversation, simply type:
Connecte-moi au serveur de développement GSE-Web avec l'identifiant "mon_login" et le mot de passe "mon_password"
Claude calls the authenticate tool and confirms your connection with your list of rights.
First use: concrete examples
Once authenticated, ask your questions in natural language. Here are some examples:
"Cherche les produits contenant 'cable' dans la référence" "Donne-moi les details du produit n°142 avec son stock par emplacement" "Quelles sont les catégories de produits disponibles ?"
L'IA utilise search_products, get_product_details et get_catégories.
"Montre-moi le stock du magasin Central" "Quels emplacements existent dans mon organisation ?" "Y a-t-il des produits en rupture de stock ?"
L'IA utilise get_stock_levels, get_emplacements et get_stock_alerts.
"Liste les entrées de stock de cette semaine" "Montre-moi les bons de mouvement a traiter" "Affiche les details du bon de mouvement n°85"
L'IA utilise list_entrées, list_bon_mouvements et get_bon_mouvement_details.
"Créeune entrée de 50 unites du produit 142, emplacement A-03, magasin Central" "Sortie de 10 unites du produit 98 avec le commentaire 'Chantier Bordeaux'" "Passe le bon de mouvement 85 au statut 'termine'"
L'IA utilise create_entrée, create_sortie et update_bon_mouvement_statut.
Ces outils requierent des droits spécifiques (EDITER_ENTREE, EDITER_SORTIE, etc.).
"Donne-moi un résumé du tableau de bord : produits, stock, utilisateurs" "Y a-t-il des produits qui périmént dans les 30 jours ?" "Montre-moi les derniers logs d'erreur de l'application"
L'IA utilise get_dashboard_stats, get_stock_alerts et get_recent_logs.
"Liste mes classes de formation" "Quels scenarios pedagogiques sont disponibles ?" "Montre la progression des eleves sur le scenario 12"
L'IA utilise list_classes, list_scenarios et get_student_progress.
Requiert le droit FORMATION_ENSEIGNANT.
Claude Code (CLI) — Main interface
Claude Code is the recommended interface for using the MCP server. It automatically detects the .mcp.json configuration and offers to activate the server.
Installation
npm install -g @anthropic-ai/claude-code
Usage
# Depuis la racine du projet GSE-Web cd /chemin/vers/gse_web_mobile_v2 # Lancer Claude Code (detecte .mcp.json automatiquement) claude # Claude propose d'activer le serveur MCP "gse-web" → acceptez # Vous pouvez ensuite discuter normalement : > Connecte-moi au serveur dev avec login "admin" password "***" > Quels produits sont en rupture de stock ? > Créeune entrée de 20 unites pour le produit 45
Claude Desktop
Compatible with Claude Desktop (Windows/Mac). Configure it by adding the mcpServers section to the configuration file.
Configuration
Edit the Claude Desktop configuration file:
# macOS ~/Library/Application Support/Claude/claude_desktop_config.json # Windows %APPDATA%\Claude\claude_desktop_config.json
Add the mcpServers section:
{
"mcpServers": {
"gse-web": {
"command": "node",
"args": ["/chemin/vers/mcp-server/dist/index.js"],
"env": {
"GSE_PROXY_BASE_URL": "https://gse-web-dev.xlexe.com",
"GSE_DEFAULT_SERVER": "https://dev.gse-web.online/"
}
}
}
}
Restart Claude Desktop. The server appears in the list of available tools.
Claude.ai — Direct integration (recommended)
For Claude Pro, Max or Team users: connect your MCP server directly via the claude.ai interface. No local installation required.
Natural language
Claude (Opus, Sonnet, Haiku) understands natural language. No keywords to remember, ask your questions as you would to a colleague.
Included in your subscription
No additional cost. MCP integration uses your existing Claude subscription (Pro, Max or Team).
100% browser-based
Everything works in the browser. Nothing to download, nothing to configure on your machine.
Claude-grade security
Authentication via your GSE-Web credentials. Strict organisation isolation. No data is stored by the MCP server.
Read + write
View your inventory, but also create entries/exits — with rights verification at each action.
Advanced analytics
Claude can cross-reference data, compare periods, generate reports — it has access to 44 specialised tools.
Setup (once, 2 minutes)
Open Settings
Go to claude.ai and click the gear icon at the bottom left to open Settings.
Add an integration
In the Integrations section, click "Add integration". Enter the MCP server URL:
| Environnement | URL a copier |
|---|---|
| Développement / Demo | https://gse-web-dev.xlexe.com/api/mcp_remote.php |
| Production | https://gse-web.xlexe.com/api/mcp_remote.php |
The integration appears in your list with the name "gse-web".
Authenticate
In a new Claude conversation, simply say:
Connecte-moi au serveur GSE-Web demo avec l'identifiant "mon_login" et le mot de passe "mon_password"
Claude calls the authenticate tool and confirms your connection with your list of rights.
Posez vos questions !
You are connected. Ask whatever you want:
"Quels produits sont en rupture de stock ?" "Montre-moi le stock sur l'emplacement HALLIDAY" "Donne-moi le tableau de bord avec les chiffres clés" "Liste les entrées de la semaine dernière" "Créeune entrée de 50 gants isolants, emplacement A-03" "Compare les sorties de janvier et fevrier"
Ce que Claude peut faire avec vos données
- Rechercher des produits par référence, nom, catégorie ou code-barre
- Voir le detail d'un produit avec son stock par emplacement
- Lister le stock filtre par emplacement
- Consulter les catégories et emplacements disponibles
- Tableau de bord : nombre de produits, quantite totale, utilisateurs
- Alertes rupture de stock (produits a quantite 0)
- Alertes péremption (produits expirant dans 30 jours)
- Claude peut croiser et analyser les résultats de plusieurs outils pour repondre a des questions complexes
- Historique des entrées et sorties avec filtres par date
- Liste des bons de mouvement avec filtre par statut
- Créer des entrées de stock (droit EDITER_ENTREE requis)
- Créer des sorties de stock (droit EDITER_SORTIE requis)
Claude vous demandera toujours confirmation avant de créer une entrée ou une sortie.
- Liste des utilisateurs de l'organisation
- Consultation des droits et roles
Différence avec l'Assistant Web
Assistant Web (chat basique)
- Gratuit, sans abonnement
- Compréhension par mots-clés
- Boutons raccourcis pre-definis
- Pas d'analyse croisee
- Réponses formatees simples
Claude.ai (IA complete)
- Abonnement Claude requis (Pro/Max/Team)
- Compréhension langage naturel totale
- Questions complexes et suivi de contexte
- Analyse, comparaison, synthese des données
- Réponses détaillées avec explications
Frequently asked questions
No. The MCP integration is included in your Claude subscription (Pro at $20/month, Max at $100/month, Team at $30/month/user). No additional fees on the GSE-Web side.
Data flows between the MCP server and Claude to formulate the answers. Anthropic does not store MCP tool data and does not use it to train its models (Anthropic privacy policy). The connection is HTTPS-encrypted end to end.
No. The MCP server URL only allows seeing the list of available tools (generic names like "search_products"). To access any data, you must authenticate with a real GSE-Web login and password. It is the same security level as a login page.
Yes. Each team member adds the URL in their own Claude settings, then logs in with their own GSE-Web credentials. Each person only sees their organization's data.
Yes, GSE-Web authentication is per conversation. At the start of each new conversation, tell Claude to log you in. The MCP integration itself remains permanently configured in your settings.
ChatGPT Custom GPT (zero installation)
Un Custom GPT dans ChatGPT permet a n'importe quel utilisateur de discuter avec les données GSE-Web directement depuis chat.openai.com. Aucune installation requise.
Configuration par l'administrateur
Créer un Custom GPT
Dans ChatGPT, allez dans Explore GPTs → Create.
Ajouter les instructions
Collez ces instructions dans le champ "Instructions" du GPT :
Tu es l'assistant GSE-Web, un expert en gestion de stock. Tu aides les utilisateurs a interroger et gérer leurs données de stock, produits, mouvements et bons de mouvement. Regles : 1. Commence TOUJOURS par authentifier l'utilisateur (action authenticate) 2. Utilise le token recu pour toutes les requêtes suivantes 3. Reponds en francais, de manière claire et synthetique 4. Pour les tableaux de données, formate-les de manière lisible 5. Ne montre JAMAIS le token JWT a l'utilisateur 6. Pour les actions d'écriture, confirme AVANT d'executer
Configurer les Actions
Dans l'onglet Actions, importez le schema OpenAPI disponible a :
https://gse-web.xlexe.com/api/gse_assistant_openapi.json
L'authentification se fait via le header Authorization: Bearer gere automatiquement par le GPT apres login.
Publier le GPT
Choisissez "Only people with a link" ou "Anyone at [votre organisation]" pour partager avec votre equipe.
Utilisation par les employes
L'utilisateur ouvre simplement le lien du Custom GPT et discute normalement :
"Connecte-moi au serveur de production, login jean.dupont, mot de passe ***" "Quels produits sont en rupture ?" "Donne-moi le tableau de bord" "Créeune entrée de 50 gants, emplacement A-03"
Assistant Web (sans IA)
L'Assistant Web est une interface de consultation rapide avec boutons raccourcis et recherche par mots-clés. Il ne nécessite aucun abonnement IA mais n'utilise pas d'intelligence artificielle.
Ouvrir l'Assistant Web →
Accès direct a l'interface de chat (identifiants GSE-Web requis).
Autres outils compatibles
n8n — Automatisation →
Connectez GSE-Web à n8n pour créer des workflows automatiques : alertes stock, rapports, sync ERP. Guide complet disponible.
Cursor / Windsurf
IDE avec IA intégrée. Supportent le protocole MCP pour les développeurs.
Tout client MCP
Tout logiciel compatible MCP peut se connectér au serveur local gse-web.
Tools reference
44 tools available in the GSE-Web MCP server.
Authentification
| Outil | Description | Accès |
|---|---|---|
authenticate |
Se connectér a un serveur GSE-Web avec login/mot de passe | Ouvert |
get_current_user |
Voir le profil et les droits de l'utilisateur connecté | JWT |
list_servers |
Informations sur le serveur de l'utilisateur connecté | JWT |
Produits & Stock (lecture)
| Outil | Description | Accès |
|---|---|---|
search_products |
Rechercher des produits par mot-cle (référence, libellé, catégorie) | JWT |
get_product_details |
Détails complets d'un produit avec stock par emplacement | JWT |
get_stock_levels |
Niveaux de stock avec filtres par magasin / emplacement | JWT |
get_emplacements |
Liste des emplacements de stockage | JWT |
get_catégories |
Catégories de produits distinctes | JWT |
Mouvements (lecture)
| Outil | Description | Accès |
|---|---|---|
list_entrées |
Entrées de stock avec filtres par date | JWT |
list_sorties |
Sorties de stock avec filtres par date | JWT |
list_bon_mouvements |
Bons de mouvement avec filtre par statut | JWT |
get_bon_mouvement_details |
Détails complets d'un bon de mouvement | JWT |
Operations d'écriture
| Outil | Description | Accès |
|---|---|---|
create_entrée |
Créer une entrée de stock (produit, quantité, emplacement, magasins_id, no_lot...) | EDITER_ENTREE |
create_sortie |
Créer une sortie de stock | EDITER_SORTIE |
update_bon_mouvement_statut |
Changer le statut d'un bon de mouvement | EDITER_STATUTS_BDM |
Utilisateurs & Organisation
| Outil | Description | Accès |
|---|---|---|
list_users |
Liste des utilisateurs de l'organisation | ADMIN |
get_user_details |
Détails d'un utilisateur avec groupes et droits | ADMIN |
get_organisation_info |
Informations sur l'organisation courante | JWT |
Analytique & Monitoring
| Outil | Description | Accès |
|---|---|---|
get_stock_alerts |
Alertes : ruptures de stock, produits périmés dans 30 jours | JWT |
get_dashboard_stats |
Statistiques clés : nb produits, quantite stock, nb utilisateurs | JWT |
get_recent_logs |
Derniers logs applicatifs avec filtre par niveau | SUPERADMIN |
Formation
| Outil | Description | Accès |
|---|---|---|
list_classes |
Classes de formation | FORMATION |
list_scenarios |
Scenarios pedagogiques (TP) | FORMATION |
get_student_progress |
Progression des eleves sur un scenario | FORMATION |
Bons de réception
| Outil | Description | Accès |
|---|---|---|
list_bons_reception |
Bons de réception avec % réception, filtres par date et fournisseur | JWT |
get_bon_reception_details |
Détails d'un bon de réception avec statut par ligne (reçu/partiel/en attente) | JWT |
Commandes clients (OMS)
| Outil | Description | Accès |
|---|---|---|
list_commandes_clients |
Commandes clients du portail OMS avec filtres par statut, date et client | JWT |
get_commande_client_details |
Détails complets d'une commande client avec lignes produits | JWT |
Logistique & Approvisionnement
| Outil | Description | Accès |
|---|---|---|
list_commandes_fournisseurs |
Commandes fournisseurs avec filtres par statut | JWT |
get_commande_fournisseur_details |
Détails commande avec lignes (qté commandée/reçue/restante) | JWT |
get_reception_status |
Statut réception : % réceptionné, lignes en attente | JWT |
list_expeditions |
Expéditions avec nombre de palettes et bons liés | JWT |
get_expedition_details |
Détails expédition avec bons liés et palettes | JWT |
get_bon_reliquats |
Bons reliquats (-R1, -R2) d'un bon partiellement préparé | JWT |
get_missing_quantities |
Quantités manquantes (demandées - sorties) par ligne | JWT |
list_ruptures |
Produits en rupture avec statut et fournisseur | JWT |
get_stock_history |
Historique entrées/sorties d'un produit sur une période | JWT |
list_magasins |
Magasins (entrepôts) de l'organisation | JWT |
Tiers (Fournisseurs & Clients)
| Outil | Description | Accès |
|---|---|---|
list_tiers |
Fournisseurs et clients avec filtres par type et recherche | JWT |
get_tiers_details |
Détails complets d'un tiers (30+ champs) | JWT |
Opérations stock avancées
| Outil | Description | Accès |
|---|---|---|
modify_stock |
Modifier la quantité d'un stock existant | EDITER_PRODUIT |
change_emplacement |
Changer l'emplacement d'un stock | EDITER_PRODUIT |
Référence : 3 ressources de contexte
Les ressources fournissent du contexte statique a l'IA pour mieux comprendre l'application GSE-Web.
| URI | Description |
|---|---|
gse://schema/tables |
Structure de la base de données GSE-Web (tables et relations principales) |
gse://permissions/list |
Les 32 droits disponibles avec leur description |
gse://docs/api |
Résumé des endpoints de l'API REST (produits, stocks, mouvements...) |
Security
The MCP server applies the same security mechanisms as the GSE-Web application.
🔑 JWT authentication
Each session starts with an authenticate call. The generated JWT expires after the session.
👥 Organisation isolation
Impossible to access another client's data. Every SQL query is filtered by organisations_id.
🛡️ 30 granular rights
Write tools verify the logged-in user's rights. Without the EDITER_PRODUIT right, creating an entry is impossible.
🚫 Double/Triple SQL filter
Shared servers: id + org. Dedicated servers: id + org + server name.
⏱️ Rate limiting
60 reads/minute, 10 writes/minute per session. Protects against abuse.
👁️ Traceable logs
Each tool call is logged with timestamp, user, tool and parameters. Full audit trail.
Cas d'usage par role
- "Quels produits ont un stock inferieur au seuil d'alerte ?"
- "Montre-moi les 10 derniers mouvements sur le magasin Nord"
- "Créeune entrée de 200 gants isolants, lot 2026-A, emplacement B-12"
- "Combien de produits différents avons-nous en stock total ?"
- "Y a-t-il des produits qui périmént bientot ?"
- "Combien d'utilisateurs sont enregistres dans notre organisation ?"
- "Quels droits a l'utilisateur n°23 ?"
- "Montre-moi les logs d'erreur des dernières 24h"
- "Donne-moi les statistiques globales du dashboard"
- "Sur quel serveur suis-je connecté ?"
- "Liste mes classes de formation"
- "Quels scenarios de TP sont disponibles ?"
- "Montre la progression de mes eleves sur le scenario 'Inventaire complet'"
- "Quel est le score moyen de la classe sur le dernier TP ?"
- "Cherche le produit avec le code-barre 3700547800126"
- "Quel est le stock de ce produit dans l'emplacement C-01 ?"
- "Enregistre une sortie de 5 unites pour le chantier Lyon"
- "Quels bons de mouvement sont 'a traiter' ?"
- "Montre-moi la structure de la base de données"
- "Quels endpoints API sont disponibles ?" (resource
gse://docs/api) - "Quel est le format de réponse de l'API produits ?"
- "Combien de droits différents existent dans le système ?" (resource
gse://permissions/list) - Integrez le serveur MCP dans vos propres outils compatibles
FAQ
No. The MCP server does not persist anything to disk. The JWT obtained after authentication is kept in memory only during the session. When you close Claude Code, everything is erased.
No. All requests include an organisations_id filter derived from your JWT. Additional filters prevent any access outside your organization.
Claude Code always asks for your approval before executing a write tool. You will see the tool and its parameters, and you can decline. A rate limiter also limits writes to 10/minute.
No. The MCP server needs an internet connection to reach the GSE-Web APIs.
Yes. Edit the environment variables in .mcp.json:
"GSE_PROXY_BASE_URL": "https://gse-web.xlexe.com" "GSE_DEFAULT_SERVER": "https://www.gse-web.online/"
The MCP server itself is free (open source, included in the project). The cost lies at the AI level: you need a Claude subscription (Pro, Team or Enterprise) to use Claude Code or Claude Desktop.
After a git pull of the project, simply recompile:
cd mcp-server && npm install && npm run build
Then restart Claude Code.