Skip to main content
Glama
bengaly

MCP Enterprise Demo - Gestion Commerciale

by bengaly

MCP Enterprise Demo - Gestion Commerciale avec IA

๐ŸŽฏ Prรฉsentation

Ce projet dรฉmontre l'intรฉgration de MCP (Model Context Protocol) dans un Systรจme d'Information d'entreprise pour la gestion commerciale (Commandes, Factures, Clients).

Objectif : Crรฉer un assistant IA interne capable de :

  • Rรฉpondre ร  des questions mรฉtier en langage naturel

  • Analyser commandes et factures

  • Rรฉsumer l'activitรฉ d'un client

  • Dรฉclencher des actions contrรดlรฉes

๐Ÿ—๏ธ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        UTILISATEUR                               โ”‚
โ”‚                    (Support / Manager / Admin)                   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
                              โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      ASSISTANT IA (LLM)                          โ”‚
โ”‚                   (Spring AI + OpenAI/Claude)                    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
                              โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      MCP SERVER                                  โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”‚
โ”‚  โ”‚              CAPACITร‰S MCP (Tools)                       โ”‚    โ”‚
โ”‚  โ”‚  โ€ข findOrder          โ€ข analyzeInvoice                   โ”‚    โ”‚
โ”‚  โ”‚  โ€ข summarizeCustomer  โ€ข createOrder                      โ”‚    โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”‚
โ”‚  โ”‚              Sร‰CURITร‰ & GOUVERNANCE                      โ”‚    โ”‚
โ”‚  โ”‚  โ€ข Contrรดle d'accรจs (RBAC)  โ€ข Audit des appels          โ”‚    โ”‚
โ”‚  โ”‚  โ€ข Validation mรฉtier        โ€ข Traรงabilitรฉ               โ”‚    โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
                              โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                   SERVICES Mร‰TIERS                               โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”‚
โ”‚  โ”‚ OrderService  โ”‚ โ”‚InvoiceService โ”‚ โ”‚CustomerServiceโ”‚         โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                              โ”‚
                              โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      BASE DE DONNร‰ES                             โ”‚
โ”‚                    (H2 en mรฉmoire pour la dรฉmo)                  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ” Rรดles et Capacitรฉs

Rรดle

findOrder

analyzeInvoice

summarizeCustomer

createOrder

validateOrder

SUPPORT

โœ…

โœ…

โœ…

โŒ

โŒ

MANAGER

โœ…

โœ…

โœ…

โœ…

โœ…

ADMIN

โœ…

โœ…

โœ…

โœ…

โœ…

๐Ÿš€ Dรฉmarrage rapide

Prรฉrequis

  • Java 17+

  • Maven 3.8+

  • (Optionnel) Clรฉ API OpenAI pour le LLM

Installation

# Cloner le projet
cd mcp-enterprise-demo

# Compiler
mvn clean install

# Lancer l'application
mvn spring-boot:run

Configuration OpenAI (optionnel)

export OPENAI_API_KEY=votre-clรฉ-api

๐Ÿ“ก Endpoints de test

Authentification

Utilisateurs de dรฉmonstration :

  • support / support123 (rรดle SUPPORT)

  • manager / manager123 (rรดle MANAGER)

  • admin / admin123 (rรดle ADMIN)

Tester les capacitรฉs MCP

# Rechercher une commande
curl -u manager:manager123 http://localhost:8080/api/chat/test/find-order/CMD-20240115-TC001

# Analyser une facture
curl -u support:support123 http://localhost:8080/api/chat/test/analyze-invoice/FAC-2024-000123

# Rรฉsumรฉ client
curl -u support:support123 http://localhost:8080/api/chat/test/customer-summary/CLI-001

# Voir les capacitรฉs disponibles
curl -u manager:manager123 http://localhost:8080/api/chat/capabilities

Tester via l'interface web (IHM)

Une application Angular est disponible pour tester les capacitรฉs MCP via une interface utilisateur moderne.

cd mcp-frontend
npm install
npm start

L'application sera accessible sur http://localhost:4200/.

Fonctionnalitรฉs disponibles :

  • Dashboard - Vue d'ensemble avec capacitรฉs MCP disponibles selon le rรดle

  • Commandes - Recherche de commandes via MCP

  • Factures - Analyse de factures via MCP

  • Clients - Rรฉsumรฉ d'activitรฉ client via MCP

  • Produits - Gestion du catalogue produits

  • Assistant IA - Chat avec l'IA pour interagir en langage naturel

๐Ÿ‘‰ Documentation complรจte du frontend

Tester via LLM (OpenAI / Spring AI)

L'endpoint POST /api/chat/llm/message envoie le message au LLM (via Spring AI) et autorise l'appel des tools MCP selon le rรดle courant.

Important : pour conserver le contexte (ex: workflow de confirmation), utilisez un conversationId et rรฉutilisez-le ร  chaque tour.

Sous PowerShell, utilisez curl.exe (car curl est un alias de Invoke-WebRequest).

# 1) Premier message (le serveur renvoie un conversationId)
curl.exe -u manager:manager123 -H "Content-Type: application/json" -d "{\"message\":\"Crรฉe une commande pour CLI-001 avec 2 PROD-001\"}" http://localhost:8080/api/chat/llm/message

# 2) Confirmer (rรฉutiliser le conversationId reรงu ร  l'รฉtape 1)
curl.exe -u manager:manager123 -H "Content-Type: application/json" -d "{\"message\":\"Oui je confirme\",\"conversationId\":\"<COLLER_ICI>\"}" http://localhost:8080/api/chat/llm/message

Si l'utilisateur n'a pas les droits (ex: rรดle SUPPORT), le LLM est informรฉ des capacitรฉs autorisรฉes et doit refuser l'action au lieu d'appeler un tool non autorisรฉ.

Console H2

Accรฉdez ร  http://localhost:8080/h2-console pour explorer la base de donnรฉes.

  • JDBC URL: jdbc:h2:mem:enterprisedb

  • User: sa

  • Password: (vide)

๐Ÿ“ Structure du projet

src/main/java/com/enterprise/mcp/
โ”œโ”€โ”€ McpEnterpriseApplication.java    # Point d'entrรฉe
โ”œโ”€โ”€ domain/
โ”‚   โ”œโ”€โ”€ entity/                       # Entitรฉs JPA
โ”‚   โ”‚   โ”œโ”€โ”€ Customer.java
โ”‚   โ”‚   โ”œโ”€โ”€ Order.java
โ”‚   โ”‚   โ”œโ”€โ”€ OrderLine.java
โ”‚   โ”‚   โ”œโ”€โ”€ Invoice.java
โ”‚   โ”‚   โ””โ”€โ”€ InvoiceLine.java
โ”‚   โ””โ”€โ”€ repository/                   # Repositories Spring Data
โ”œโ”€โ”€ service/
โ”‚   โ”œโ”€โ”€ CustomerService.java          # Service mรฉtier clients
โ”‚   โ”œโ”€โ”€ OrderService.java             # Service mรฉtier commandes
โ”‚   โ”œโ”€โ”€ InvoiceService.java           # Service mรฉtier factures
โ”‚   โ””โ”€โ”€ dto/                          # Objets de transfert
โ”œโ”€โ”€ mcp/
โ”‚   โ”œโ”€โ”€ McpCapabilityHandler.java     # Gestionnaire des capacitรฉs
โ”‚   โ”œโ”€โ”€ McpResponse.java              # Rรฉponse standardisรฉe
โ”‚   โ””โ”€โ”€ McpToolsConfiguration.java    # Configuration Spring AI
โ”œโ”€โ”€ security/
โ”‚   โ”œโ”€โ”€ McpRole.java                  # Dรฉfinition des rรดles
โ”‚   โ”œโ”€โ”€ McpCapability.java            # Enum des capacitรฉs
โ”‚   โ”œโ”€โ”€ McpSecurityContext.java       # Contexte de sรฉcuritรฉ
โ”‚   โ””โ”€โ”€ McpAccessDeniedException.java # Exception accรจs refusรฉ
โ”œโ”€โ”€ audit/
โ”‚   โ””โ”€โ”€ McpAuditService.java          # Service d'audit
โ”œโ”€โ”€ config/
โ”‚   โ”œโ”€โ”€ SecurityConfig.java           # Configuration Spring Security
โ”‚   โ””โ”€โ”€ DataInitializer.java          # Donnรฉes de dรฉmonstration
โ””โ”€โ”€ controller/
    โ””โ”€โ”€ ChatController.java           # API REST

๐ŸŽ“ Formation associรฉe

Ce projet est accompagnรฉ d'une formation complรจte en Markdown : โ†’ Voir le dossier docs/formation/

โš ๏ธ Points clรฉs MCP

Ce que MCP fait

  • โœ… Expose des capacitรฉs mรฉtier contrรดlรฉes ร  l'IA

  • โœ… Applique la sรฉcuritรฉ par rรดle (RBAC)

  • โœ… Audite toutes les interactions IA

  • โœ… Valide les donnรฉes cรดtรฉ serveur

  • โœ… Demande confirmation pour les actions sensibles

Ce que MCP ne fait pas

  • โŒ L'IA n'accรจde jamais directement ร  la base de donnรฉes

  • โŒ Pas d'exรฉcution de code arbitraire

  • โŒ Pas de contournement des rรจgles mรฉtier

๐Ÿ“œ Licence

Projet de dรฉmonstration ร  usage pรฉdagogique.

๐Ÿ‘ค Auteur

Projet crรฉรฉ pour la formation "MCP pour ingรฉnieurs Java".

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Appeared in Searches

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bengaly/mcp-gestion-commerciale-demo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server