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

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