00:00:00
imaginez une IA capable de se connecter
00:00:02
à vos environnements de travail vos
00:00:04
outils et vos données sans devoir passer
00:00:05
des heures à configurer des intégrations
00:00:07
compliqué c'est exactement ce que
00:00:09
propose le modèle contexte protocole ou
00:00:11
MCP d'entropique l'entreprise derrière
00:00:14
clade ey ce protocole a pour but de
00:00:17
connecter les modèles d'intelligence
00:00:18
artificielle directement à vos systèmes
00:00:20
de manière standardisée et efficace dans
00:00:23
cette vidéo on va explorer ce que c'est
00:00:25
comment ça fonctionne et pourquoi c'est
00:00:27
un vrai game challenger pour les
00:00:28
utilisateurs dans leur article de blog
00:00:30
entropique détail énormément de choses
00:00:32
sur comment fonctionne le modèle
00:00:33
contexte protocole avec notamment un
00:00:35
lien vers les spécifications du MCP donc
00:00:37
avec énormément d'informations sur
00:00:39
l'architecture les fonctionnalités
00:00:41
serveur clientes et cetera et cetera
00:00:44
alors c'est beaucoup de textes je vais
00:00:45
pas forcément vous détailler tout ce qui
00:00:47
est écrit dans cette dans ces
00:00:49
spécifications je vous laisserai aller
00:00:50
les voir si ça vous intéresse mais nous
00:00:52
on va plutôt parler euh de bah de la
00:00:54
documentation plutôt utilisateur avec
00:00:57
des schémas c'est beaucoup plus facile
00:00:59
d'en parler surtout pour une une vidéo
00:01:01
YouTube comme comme je souhaite la faire
00:01:03
alors premièrement comment fonctionne
00:01:05
euh MCP donc Modelle contexte protocole
00:01:08
c'est un protocole ouvert on a un dépôt
00:01:10
ici sur GitHub avec euh et bien le le
00:01:12
code source et les différents
00:01:14
connecteurs qui existent comme vous
00:01:16
pouvez voir ici il y en existe déjà une
00:01:17
dizaine et d'autres sont à venir vous
00:01:19
pouvez aussi euh développer le vôtre et
00:01:21
la documentation montre comment créer
00:01:23
son MCP serverur et donc là où je
00:01:26
voulais r venir c'est comment ça
00:01:27
fonctionne alors ça permet à des
00:01:29
applications utilisant dans des modèles
00:01:30
dia comme des IDE ou des outils
00:01:32
d'assistance ou bien dans d'autres cas
00:01:34
comme on essa tout à l'heure on aura
00:01:36
l'application cloud desktop qui pourra
00:01:38
utiliser MCP et donc l'objectif
00:01:40
principal c'est de standardiser ces
00:01:42
connexions pour qu'elles soi simple
00:01:44
sécurisé et efficace on peut voir ici
00:01:47
l'architecture générale du protocole MCP
00:01:49
sur ce schéma on a les principaux
00:01:51
composants qui sont exposés donc on voit
00:01:53
MCP host ce sont des programmes comme
00:01:56
comme je vous disais clod desktop ou
00:01:57
alors des IDE Ia euh qui utiliseent
00:01:59
modèle LLM il joue le rôle de client et
00:02:02
demande un accès à des ressources via le
00:02:04
protocole MCP comme on peut voir ici sur
00:02:06
les serveurs A B et C et donc ces MCP
00:02:09
serveur ce sont des programmes légers
00:02:10
qui exposent des capacités spécifiques à
00:02:12
travers le protocole MCP comme par
00:02:14
exemple la connexion à une un fichier
00:02:16
local une base de données ou encore une
00:02:19
API Web on pourrait du coup c'est c'est
00:02:21
comme pardon c'est slack ça peut être
00:02:23
postg Google Drive gitlab GitHub le file
00:02:26
système ou autres et ensuite on a les
00:02:29
local ressources qui sont ici tout
00:02:30
simplement des fichiers ou des bases de
00:02:32
données SQL du coup directement sur
00:02:34
votre votre PC en local et enfin les
00:02:38
remotes ressources où là il va falloir
00:02:39
une connexion Internet pour accéder à ce
00:02:41
qui pourrait être très bien une base de
00:02:43
données cloud comme supabase ou bien euh
00:02:46
ou bien des API tout simplement
00:02:48
maintenant on va passer à la pratique il
00:02:50
vous faut donc l'application cloud
00:02:51
desktop sur votre PC pour que cela
00:02:54
fonctionne correctement donc pour ça on
00:02:56
recherche sur internet cl Desktop et euh
00:02:59
dans la partti partie ici
00:03:02
clde.e/download vous allez pouvoir
00:03:03
télécharger l'application en version
00:03:05
beta sur votre PC vous allez pouvoir la
00:03:08
utiliser les différentses
00:03:10
fonctionnalités que que l'on va que l'on
00:03:12
va tester ensemble mais vous serez
00:03:13
limité à quelques messages par jour si
00:03:15
vous avez la version gratuite avec la
00:03:17
version professionnelle c'est c'est
00:03:18
illimité ou alors vous avez beaucoup
00:03:19
beaucoup plus de messages mais du coup
00:03:22
on va tester ça alors donc ici dans le
00:03:27
dépôt sur guit de modèle contexte
00:03:29
protocole serveur vous avez accès aux
00:03:31
différents outils au différents serveurs
00:03:33
qui ont déjà été développés par exemple
00:03:36
on va utiliser nous SQL pour voir
00:03:37
comment claud va pouvoir lire dans notre
00:03:40
base de données SQLite et nous donner
00:03:41
des des
00:03:42
informations donc là on a une une démo
00:03:45
et cetera ce qui nous intéresse c'est
00:03:46
effectivement tout ce qu'il est capable
00:03:48
de faire ici en fait le serveur offre
00:03:51
six outils donc la possibilité de
00:03:53
d'exécuter des requêtes SELECT des
00:03:55
insertions update des l même de créer
00:03:57
des tables on a aussi la possibilité de
00:04:00
les tables de décrire des tables et
00:04:01
d'analyser donc ça c'est la
00:04:03
documentation de SQLite et on nous dit
00:04:05
comment l'utiliser avec cl desktop il
00:04:08
faut rajouter en fait cette partie en
00:04:10
jison au fichier cloud
00:04:13
desktopcfig.gison ce fichier là on le
00:04:16
retrouve lorsque vous allez ouvrir
00:04:18
l'application cloud déjà la première
00:04:20
chose qu'il va falloir faire c'est aller
00:04:21
en haut à gauche et cliquer sur
00:04:23
développur et il y aura enable
00:04:25
devvelopper mode moi c'est déjà activé
00:04:28
donc j'ai pour ça que j'ai le MCP log
00:04:30
file ce fichier là d'ailleurs peut très
00:04:32
bien servir euh si alors pardon tac je
00:04:36
suis en train de supprimer ça si jamais
00:04:38
vous avez des problèmes des erreurs on
00:04:39
voit qu'est-ce qui s'est passé euh
00:04:42
lorsqu'il a tenté d'ouvrir les serveurs
00:04:44
MCP voilà on va fermer ça et aussi vous
00:04:48
pouvez aller dans File settings et dans
00:04:51
la partie développeur là vous voyez tous
00:04:53
les toutes les configurations qui en
00:04:54
fait sont euh déjà activées pour les
00:04:56
protocole MCP je peux cliquer sur sur
00:04:59
Edit config et vous avez le fichier
00:05:02
cloud desktopcig.gison qui qui est ici
00:05:04
on peut l'ouvrir ensuite avec Visual
00:05:06
Studio code moi c'est déjà le cas il est
00:05:08
ouvert juste là et là vous avez la
00:05:10
configuration de qu'est-ce qu'il doit en
00:05:13
de la de l'endroit où ce situe le
00:05:16
serveur MCP en tout cas comment il doit
00:05:18
exécuter le serveur par exemple pour le
00:05:20
file systemme j'ai
00:05:21
indiqué que c'était cette ligne de
00:05:24
commande qu'il fallait exécuter en node
00:05:26
JS d'abord suivi de ces deux arguments
00:05:30
l'argument du package NPM qu'il faut
00:05:33
lancer suivi du dossier dans lequel en
00:05:36
fait claud aura le droit de d'aller le
00:05:40
parcourir c'est un peu propre à Windows
00:05:42
parce que je suis tombé sur un alors
00:05:44
déjà j'avais un problème j'avais pas
00:05:45
configuré correctement les les serveurs
00:05:47
MCP et donc je suis tombé sur cette
00:05:50
cette issue git gthub num 75 qui disait
00:05:54
qu'il fallait installer les différents
00:05:57
les différents serveurs en fait les
00:05:58
différents packag
00:06:00
de cette façon de manière globale pour
00:06:02
pouvoir les exécuter avec clown ensuite
00:06:06
au niveau de la
00:06:07
configuration de Cloud cl desktop on
00:06:09
doit renseigner les chemins exacts d'où
00:06:12
se situent ces différents packages pour
00:06:14
le moment ça fonctionne comme ça il y
00:06:15
aura peut-être une mise à jour qui
00:06:16
résolvera ce problème avec la détection
00:06:18
automatique des chemins on verra en tout
00:06:21
cas avec Windows ça marche de cette
00:06:22
façon et on va voir maintenant comment
00:06:25
on peut faire
00:06:27
pour pour demander à à Cl destop de de
00:06:30
parcourir une base de données SQLite la
00:06:32
première chose que l'on va faire c'est
00:06:33
créer une base de données SQLite moi si
00:06:35
je me réfère à ma configuration vs code
00:06:36
en fait j'ai déjà doné en remplacement
00:06:38
descloud test.db si je vais dans ce
00:06:40
dossier-là en fait je n'ai pas de base
00:06:41
de données pour le moment on nous
00:06:43
demande on nous dit comment faire
00:06:44
comment créer une base de données avec
00:06:46
la documentation de MCP vous avez ici la
00:06:49
partie Windows et là on a toute une une
00:06:51
fonction euh de toute une requête SQL
00:06:55
pardon de création de table avec de
00:06:56
produits avec des données et donc
00:06:59
requête que l'on va pouvoir copier et je
00:07:01
vais lancer ici je suis déjà dans mon
00:07:03
dossier cloud je vais faire un contrôle
00:07:05
V je colle tout j'appuie sur entré voilà
00:07:08
alors je l' appelé test. dB normalement
00:07:10
on est bon si je vais ici ça n'a pas
00:07:13
fonctionné ok on va
00:07:16
allerouvrir ceci
00:07:20
ouvrir la fenêtre
00:07:21
powerhell qu'est-ce qu'on fait si je
00:07:24
fais SQL test dB voilà ce que l'on va
00:07:29
faire c'est copier
00:07:30
uniquement cette requête CREATE
00:07:34
TABLE on va la coller on sur rentrer et
00:07:38
on va refaire la même chose pour
00:07:41
l'inertin hop tu ici tu rentrer et on va
00:07:46
faire point kit on quitte on va regarder
00:07:49
ici cette fois-ci ma base test desb
00:07:51
paraît bien si je l'ouvre j'ai bien des
00:07:54
données on est bon et j'ai oublié une
00:07:56
petite chose dans la configuration de CL
00:07:58
desktop Jon pour aajouter cet argument
00:08:00
en premier lieu au niveau de
00:08:03
SQLite si je vais sur VS code juste
00:08:05
avant DBP je dois rajouter MCP et Server
00:08:08
esculite voilà donc là je vais pouvoir
00:08:12
fermer cette fenêtre relancer Cloud et
00:08:16
on va voir s'il est capable de lire dans
00:08:18
ma base de données je lui demande donc
00:08:20
es-tu capable de lire dans ma base de
00:08:22
données es quelite et on va voir ce qui
00:08:25
ce qui nous répond alors a priori ça
00:08:26
doit être bon puisque on voit en bas là
00:08:28
les intégrations un available si je
00:08:30
clique ici en fait il y a toutes les
00:08:32
fonctionnalités qui sont disponibles
00:08:34
donc là on voit que ça vient du
00:08:35
serveurite et on a ces opérations qui
00:08:37
sont possibles alors là on me dit
00:08:39
effectivement que c'est possible on voit
00:08:41
aussi des informations qui finalement ne
00:08:44
sont pas très informationnel bon c'est
00:08:46
pas grave on a la possibilité de l les
00:08:47
TBL de décrire les table je vais
00:08:49
demander de me décrire les table peux-tu
00:08:51
me décrire les table que tu vois on va
00:08:55
voir normalement il devrait nous dire
00:08:57
qu'on a notre table produit du coup
00:08:59
alors on voit qu'il met quand même un
00:09:00
petit peu de temps à répondre Nau qui ok
00:09:03
voilà donc là faut faire à chaque fois
00:09:04
c'est quand même quelque chose d'assez
00:09:05
sécurisé c'estàd qu'il faut toujours
00:09:07
autoriser les demandes d'accès à à la
00:09:10
base en fait maintenant je les vois donc
00:09:12
à chaque fois il nous dit voilà que donc
00:09:15
il nous dit il a repéré la table product
00:09:16
maintenant il nous dit de récupérer le
00:09:18
schéma il faut lui donner aussi
00:09:20
l'autorisation de récupérer le schéma
00:09:22
donc là il a en fait exécuté la fonction
00:09:24
describe table qui est développée de de
00:09:27
son côté donc on va c'est Dansette
00:09:29
fonction qu'il y a des des différents
00:09:31
paramètres qui ont été passés ou
00:09:32
récupérés la table produit comp la
00:09:34
colonne suivant et voilà donc peut me
00:09:36
dire quel est le trisè enregistrement de
00:09:41
ma
00:09:42
table bon c'est un enregistrement j'ai
00:09:44
mis deux éux bon c'est pas grave euh je
00:09:47
vais faire une requête donc là on nous
00:09:49
on nous montre quelle requête va être
00:09:50
exécuté ça me paraît tout à fait correct
00:09:53
on autorise donc pour ce chat vous voyez
00:09:55
que c'est Quême pour c'est très sécurisé
00:09:56
on doit à chaque fois autoriser euh on
00:09:59
doit autoriser les requêtes qu' l'
00:10:01
effectue il y a pas de moyen d'autoriser
00:10:03
tout le temps pour ce chat pour le
00:10:05
moment après c'est c'est pas plus mal
00:10:06
aussi et donc là on nous on
00:10:09
récupère ces résultats là avec cette
00:10:11
requête donc ça fonctionne assez bien on
00:10:13
va maintenant faire un deuxième test
00:10:14
avec CLA on va lui demander d'interagir
00:10:16
avec notre base de données SQLite en
00:10:18
créant une nouvelle table et on va aussi
00:10:20
lui demander d'interagir avec un
00:10:22
deuxième MCP mon mon système de fichier
00:10:26
pour que vous compreniez plus facilement
00:10:27
je vais directement copier ce que je
00:10:29
demander demander peux-tu créer une
00:10:30
nouvelle table books dans ma base de
00:10:31
données avec les colonnes ID name authur
00:10:34
et insérer trois livres je souhaite
00:10:36
aussi que tu créer un fichier avec les
00:10:38
requèes SQL que tu auras exécuté dans
00:10:40
mon P système que je donc je souhaite
00:10:43
appeler ce fichier queries.sql al je
00:10:45
vais préciser trois livres de ton choix
00:10:47
je vais exécuter ceci et si tout se
00:10:49
passe bien je devrais avoir mon fichier
00:10:51
quis.sql de créer ainsi que ma base de
00:10:54
données mise à jour alors je vais t à
00:10:56
cré la table books ok donc là euh on
00:10:59
nous montre qu'est-ce qu'il va créer
00:11:01
voilà on autorise
00:11:05
ensuite donc je vais vous montrer la
00:11:07
configuration aussi de Cloud que j'ai
00:11:09
pour le file système c'est ici on a le
00:11:11
serveur file système qui est installé à
00:11:13
l'emplacement des
00:11:15
de/clde au même endroit que test.db donc
00:11:18
maintenant on il nous montre TR TR trois
00:11:22
livres qu'il est en train d'insérré on
00:11:25
autorise on autorise tout ça vérifions
00:11:27
que les données ok donc il fait un sect
00:11:30
chrome books pour nous retourner les
00:11:33
livres s'ils ont bien été insérés
00:11:34
maintenant créons le fichier corsql
00:11:36
toutes les requêtes ok on
00:11:41
autorise de vérification je vois qu'il y
00:11:43
a une erreur dans le ok on a on autorise
00:11:45
ah ok la création de fichier ne s'est
00:11:47
pas bien exécuté pourquoi parce qu'il
00:11:49
essayé de le créer alors qu'il n'avait
00:11:51
pas
00:11:52
euh il n'avait pas les droits et en fait
00:11:56
ici il a voulu créer le fichier dans un
00:11:58
endroit auquel il n'était pas autorisé
00:12:00
de les créer et maintenant il a compris
00:12:02
c'est c'est assez fou si on croyait un
00:12:03
humain en fait qui là il a essayé de
00:12:06
d'écrire le dossier dans en fait au
00:12:07
chemin couris.sql mais en fait non il
00:12:10
fallait l'écrire dans ce cheminlà donc
00:12:13
après mon autorisation il parle un peu
00:12:15
comme un humain en disant ah mince j'ai
00:12:16
compris maintenant c'est assez drôle et
00:12:18
maintenant si je me rends ici dans ma
00:12:20
base de données je vais aller dans les
00:12:22
tables j'ai bien effectivement
00:12:25
euh ma base de données books ma table
00:12:27
books avec euh les noms de mes livres et
00:12:30
mes auteurs alors l'encodage a pas été
00:12:33
bien respecté donc ça c'est pas trèsge
00:12:34
on pourrait sûrement lui demander de de
00:12:35
corriger ça hop et si je vais dans mon
00:12:38
dossier quis.sql et bien on a bien les
00:12:42
créations la création de la table et les
00:12:44
insertions qui ont été créés dans ce
00:12:47
fichier on va tester une dernière chose
00:12:49
j'ai configuré aussi l'intégration avec
00:12:51
pupetter pupetter c'est un système qui
00:12:53
permet d'automatiser euh la la la
00:12:56
l'automatisation de navigateur avec la
00:12:58
possibilité
00:12:59
normalement via la programmation de
00:13:02
cliquer de faire des automatisations
00:13:04
d'aller sur les sites de cliquer sur des
00:13:05
boutons et cetera et cetera et de
00:13:06
valider que tout se passe bien donc
00:13:08
normalement ici Claude va être capable
00:13:10
de lancer un navigateur et de et de
00:13:12
faire des choses sur des sites moi ce
00:13:14
que je vais lui demander tout bêtement
00:13:15
c'est de faire une recherche sur Youtube
00:13:17
de rechercher panttiminax et de cliquer
00:13:18
sur sur le lien de ma chaîne youtube on
00:13:21
va voir sil arrive à faire ces trois
00:13:23
étape là on va cliquer ICI sur Let's Go
00:13:26
et et on va voir s'il lance correctement
00:13:28
je vais vous aider naviguer vers ch
00:13:29
YouTube antiminax donc là il nous dit
00:13:32
euh navigate to URL youtube.com jusque
00:13:35
là c'est bon là on voit que ça a ouvert
00:13:38
un navigateur euh alors il y a les
00:13:42
cookies maintenant je vais chercher je
00:13:44
vais l'aider peut-tre je je vais
00:13:45
accepter les cookies au cas où euh
00:13:49
ensuite il cherche l'input ok avec la
00:13:52
value ptimx on
00:13:55
autorise navigateur il est où il est là
00:13:58
OK euh bouton sech conegac on autorise
00:14:02
alors c'est pareil ça ça pourrait être
00:14:04
très intéressant de de loguer en fait ce
00:14:06
qu' fait pour ensuite pouvoir programmer
00:14:09
nous-même ce genre de d'interaction
00:14:11
comme on a fait tout à l'heure avec le
00:14:13
fichier
00:14:14
coris.sql et là bon bah a priori ça ça a
00:14:17
fonctionné il a il a il a fait plusieurs
00:14:20
étapes problème technique et cetera ok
00:14:23
mais on voit que même si se trompe en
00:14:24
fait il va tenter de de trouver une
00:14:27
autre solution pour réussir et ça là ça
00:14:30
a bien marché donc si on si on
00:14:31
récapitule euh il a mis la valeur parex
00:14:35
dans le selecteur input input search
00:14:37
pardon ok euh ensuite il a choisi ce
00:14:41
sélecteur là pour cliquer sur le bouton
00:14:44
OK ensuite il recherche ce sélecteur
00:14:48
cette fois-ci il y a eu une erreur donc
00:14:50
ça c'est ce que le MCP serverur a
00:14:51
retourné comme euh il y a une erreur je
00:14:53
suppose qu'il doit y avoir un un retry
00:14:55
count et il essaye de une autre une
00:14:58
autre manière d'une autre manière de
00:15:00
parvenir à ses fins donc ensuite il a
00:15:02
cherché avec ce sélecteur là pareil il a
00:15:04
eu une un deuxième une deuxième erreur
00:15:07
et ensuite il a essayé avec channel
00:15:09
title et cette fois-ci ça a fonctionné
00:15:12
on est arrivé sur ma chaîne la vidéo
00:15:14
touche à sa fin n'hésitez pas à me
00:15:15
partager votre ressenti sur le le MCP
00:15:18
avec Claude et si vous avez déjà
00:15:20
expérimenté n'hésitez pas à mettre en
00:15:21
commentaire ce que vous avez déjà effuer
00:15:23
n'hésitez pas à vous abonner si ce n'est
00:15:24
pas déjà fait laissez un pouce bleu et
00:15:26
je vous retrouve très bientôt pour une
00:15:27
prochaine vidéo allez salut tout le
00:15:28
monde