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.

55 tools 3 resources 30 permissions

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.

Vous (langage naturel) Claude / Assistant IA ↓ stdio Serveur MCP GSE-Web (local) ↓ HTTPS Serveur d'hébergement (proxies HTTPS) Bases de données GSE-Web
In short: you type "Which products are out of stock?" and the AI queries your GSE-Web database directly to answer with real data.

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 55 tools the AI can call.

Votre machine (local) ↓ Claude + MCP Server Serveur d'hébergément (proxies HTTPS) Bases de données GSE-Web
No port to open: the MCP server communicates with Claude via stdio (standard input/output) and with GSE-Web via HTTPS. No local web server to expose.

Prerequisites

ElementRequiredNote
Node.jsv18 or highernodejs.org
npmIncluded with Node.js-
Claude CodeAnthropic CLInpm install -g @anthropic-ai/claude-code
Account GSE-WebValid credentialsSame login as the mobile/web application
Internet connectionYesTo reach the GSE-Web APIs

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/"
      }
    }
  }
}
Adapt the cwd field to the actual path of the mcp-server folder on your machine. For production, replace URLs with https://gse-web.xlexe.com and 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:

🔍 Rechercher des produits
"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.

📦 Consulter les stocks
"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.

🚚 Gérer les mouvements
"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éer des opérations (droits requis)
"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.).

📊 Obtenir des statistiques
"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.

🎓 Module formation
"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
Tip: Claude Code keeps the conversation context. Authenticate once at the start of a session, then ask as many questions as you want.

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)

The simplest and most powerful method. Connect Claude directly to your GSE-Web data from claude.ai, with nothing to install.

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 55 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:

EnvironmentURL to copy
Development / Demohttps://gse-web-dev.xlexe.com/api/mcp_remote.php
Productionhttps://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.

Ask your 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"

What Claude can do with your data

🔍 Search and consultation
  • Search products by reference, name, category or barcode
  • View product details with stock per location
  • List stock filtered by location
  • View available categories and locations
📈 Analytics and alerts
  • Dashboard: number of products, total quantity, users
  • Stockout alerts (products at quantity 0)
  • Expiry alerts (products expiring in 30 days)
  • Claude can cross-reference and analyze the results of several tools to answer complex questions
🚚 Stock movements
  • History of in/out movements with date filters
  • List of movement vouchers with status filter
  • Create stock entries (requires EDITER_ENTREE permission)
  • Create stock outflows (requires EDITER_SORTIE permission)

Claude will always ask for confirmation before creating an entry or outflow.

👥 Administration (ADMIN rights)
  • List of users in the organization
  • View rights and roles

Difference with the Web Assistant

Web Assistant (basic chat)

  • Free, no subscription
  • Keyword-based understanding
  • Predefined shortcut buttons
  • No cross-analysis
  • Simple formatted responses

Claude.ai (full AI)

  • Claude subscription required (Pro/Max/Team)
  • Full natural language understanding
  • Complex questions and context tracking
  • Analysis, comparison, data synthesis
  • Detailed responses with explanations

Frequently asked questions

Does it cost anything extra?

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.

Is my data sent to Anthropic?

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.

Can anyone access my data with the MCP server URL?

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.

Can I share this integration with my team?

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.

Do I have to reconnect for every conversation?

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)

A Custom GPT in ChatGPT allows any user to chat with GSE-Web data directly from chat.openai.com. No installation required.

Configuration by the administrator

Create a Custom GPT

In ChatGPT, go to Explore GPTs → Create.

Add the instructions

Paste these instructions into the GPT's "Instructions" field:

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

Configure the Actions

In the Actions tab, import the OpenAPI schema available at:

https://gse-web.xlexe.com/api/gse_assistant_openapi.json

Authentication is done via the Authorization: Bearer header automatically managed by the GPT after login.

Publish the GPT

Choose "Only people with a link" or "Anyone at [your organization]" to share with your team.

Use by employees

The user simply opens the Custom GPT link and chats normally:

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

Web Assistant (no AI)

The Web Assistant is a quick consultation interface with shortcut buttons and keyword search. It requires no AI subscription but does not use artificial intelligence.

Open the Web Assistant →

Direct access to the chat interface (GSE-Web credentials required).

Other compatible tools

⚙️

n8n — Automation →

Connect GSE-Web to n8n to create automatic workflows: stock alerts, reports, ERP sync. Complete guide available.

Cursor / Windsurf

IDE with built-in AI. Support the MCP protocol for developers.

Any MCP client

Any MCP-compatible software can connect to the local gse-web server.

Tools reference

55 tools available in the GSE-Web MCP server.

Authentication

ToolDescriptionAccess
authenticate Connect to a GSE-Web server with login/password Open
get_current_user View profile and rights of the logged-in user JWT
list_servers Information about the logged-in user's server JWT

Products & Stock (read)

ToolDescriptionAccess
search_products Search products by keyword (reference, label, category) JWT
get_product_details Full details of a product with stock per location JWT
get_stock_levels Stock levels with filters by warehouse / location JWT
get_emplacements List of storage locations JWT
get_catégories Distinct product categories JWT

Movements (read)

ToolDescriptionAccess
list_entrées Stock entries with date filters JWT
list_sorties Stock outflows with date filters JWT
list_bon_mouvements Movement vouchers with status filter JWT
get_bon_mouvement_details Full details of a movement voucher JWT

Write operations

ToolDescriptionAccess
create_entrée Create a stock entry (product, quantity, location, magasins_id, no_lot...) EDITER_ENTREE
create_sortie Create a stock outflow EDITER_SORTIE
update_bon_mouvement_statut Change the status of a movement voucher EDITER_STATUTS_BDM

Users & Organization

ToolDescriptionAccess
list_users List of users in the organization ADMIN
get_user_details Details of a user with groups and rights ADMIN
get_organisation_info Information about the current organization JWT

Analytics & Monitoring

ToolDescriptionAccess
get_stock_alerts Alerts: stockouts, products expiring in 30 days JWT
get_dashboard_stats Key statistics: number of products, stock quantity, number of users JWT
get_recent_logs Latest application logs with level filter SUPERADMIN

Training

ToolDescriptionAccess
list_classes Training classes FORMATION
list_scenarios Educational scenarios (practical work) FORMATION
get_student_progress Student progress on a scenario FORMATION

Educational scenarios (write)

ToolDescriptionAccess
create_scenario Creates a complete educational scenario (steps, optional resources and step links) in a single call; total points are recomputed as the sum of the steps' points FORMATION_ENSEIGNANT
add_scenario_ressource Adds a resource (Video, PDF, Schema, Quiz, URL or File) to an existing scenario, with its step links FORMATION_ENSEIGNANT
link_quiz_to_scenario Attaches an existing library quiz to a scenario (creates a Quiz-type resource, read by the app to display the quiz) FORMATION_ENSEIGNANT

Receiving vouchers

ToolDescriptionAccess
list_bons_reception Receiving vouchers with % received, filters by date and supplier JWT
get_bon_reception_details Details of a receiving voucher with status per line (received/partial/pending) JWT

Customer orders (OMS)

ToolDescriptionAccess
list_commandes_clients Customer orders from OMS portal with filters by status, date and customer JWT
get_commande_client_details Full details of a customer order with product lines JWT
get_oms_reconciliation_report OMS reconciliation report (read-only): validated orders without a movement order, orders with no detail lines, stuck kit explosions. JWT

Logistics & Procurement

ToolDescriptionAccess
list_commandes_fournisseurs Supplier orders with status filters JWT
get_commande_fournisseur_details Order details with lines (qty ordered/received/remaining) JWT
get_reception_status Receiving status: % received, pending lines JWT
list_expeditions Shipments with number of pallets and linked vouchers JWT
get_expedition_details Shipment details with linked vouchers and pallets JWT
get_bon_reliquats Remaining vouchers (-R1, -R2) of a partially prepared voucher JWT
get_missing_quantities Missing quantities (requested - outflowed) per line JWT
list_ruptures Out-of-stock products with status and supplier JWT
get_stock_history In/out history of a product over a period JWT
list_magasins Warehouses of the organization JWT

Third parties (Suppliers & Customers)

ToolDescriptionAccess
list_tiers Suppliers and customers with filters by type and search JWT
get_tiers_details Full details of a third party (30+ fields) JWT

Advanced stock operations

ToolDescriptionAccess
modify_stock Modify the quantity of an existing stock EDITER_PRODUIT
change_emplacement Change the location of a stock EDITER_PRODUIT

Bulk Create

ToolDescriptionAccess
bulk_create_tiers Bulk-create up to 100 third parties (suppliers/customers) in one call EDITER_FOURNISSEUR / EDITER_CLIENT
bulk_create_quiz_library Bulk-create up to 50 library quizzes with their nested questions FORMATION_ENSEIGNANT
bulk_create_products Bulk-create products (catalogue) in one call claude.ai only EDITER_PRODUIT
bulk_create_entrees Bulk-create stock entries (receipts) with post-insert stock validation claude.ai only EDITER_ENTREE

Lots & Traceability

ToolDescriptionAccess
list_lots Paginated list of lots (product, quality status, quantity issued, remaining to control, expiry date) JWT
get_lot_details Full lot detail: info+status, product, entries, exits, stocks, quality control history JWT
get_lot_tracking Ageing dashboard: lot age, valued expiry deadlines, quality status, top 10 rotation, KPIs JWT
get_product_composition Bill of materials of a composed product (kit): components + quantity per assembly JWT
list_composed_products Lists composed products (kits) with their BOM and the number of available assemblies JWT

Reference: 3 context resources

Resources provide static context to the AI to better understand the GSE-Web application.

URIDescription
gse://schema/tables GSE-Web database structure (main tables and relations)
gse://permissions/list The 32 available rights with their description
gse://docs/api Summary of REST API endpoints (products, stocks, movements...)

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.

Important: the MCP server runs locally on your machine. Your credentials never transit through a third-party service. Communication with GSE-Web is in HTTPS directly to the secure servers.

Use cases by role

💼 Stock manager
  • "Which products have stock below the alert threshold?"
  • "Show me the last 10 movements on the North warehouse"
  • "Create an entry of 200 insulating gloves, batch 2026-A, location B-12"
  • "How many different products do we have in total stock?"
  • "Are there products expiring soon?"
💻 Administrator
  • "How many users are registered in our organization?"
  • "What rights does user #23 have?"
  • "Show me the error logs from the last 24h"
  • "Give me the global dashboard statistics"
  • "Which server am I connected to?"
📚 Trainer / Teacher
  • "List my training classes"
  • "What practical work scenarios are available?"
  • "Show the progress of my students on the 'Complete inventory' scenario"
  • "What is the average class score on the last practical work?"
🛠️ Technician / Field operator
  • "Search for the product with barcode 3700547800126"
  • "What is the stock of this product in location C-01?"
  • "Record an outflow of 5 units for the Lyon site"
  • "Which movement vouchers are 'to process'?"
📊 Developer / Integrator
  • "Show me the database structure"
  • "What API endpoints are available?" (resource gse://docs/api)
  • "What is the response format of the products API?"
  • "How many different rights exist in the system?" (resource gse://permissions/list)
  • Integrate the MCP server into your own compatible tools

FAQ

Are my credentials stored anywhere?

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.

Can I access data from another organization?

No. All requests include an organisations_id filter derived from your JWT. Additional filters prevent any access outside your organization.

Can the AI modify my data without my consent?

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.

Does the MCP server work offline?

No. The MCP server needs an internet connection to reach the GSE-Web APIs.

Can I use the MCP server in production?

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/"
How much does using the MCP server cost?

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.

How can I update the MCP server?

After a git pull of the project, simply recompile:

cd mcp-server && npm install && npm run build

Then restart Claude Code.