[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"portal-settings:stajic:fr":3,"public-menus:all":38,"post:mcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits:fr":205,"related:post:mcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits:fr:1":3521},{"statusCode":4,"data":5,"message":37},200,{"tenantId":6,"lang":7,"defaultLang":8,"siteUrl":9,"contactEmail":10,"brandName":11,"logoUrl":12,"siteName":11,"siteDescription":13,"ogImage":10,"robotsIndex":14,"socialLinks":10,"reservedSlugs":10,"seoPolicy":15},"stajic","fr","de","https:\u002F\u002Fstajic.de",null,"Stajic Platform","\u002FLogo_Planet.svg","Stajic Portal",true,{"branding":16,"relatedContent":17,"crossDomainLinks":18},{"logoUrl":12},{"enabled":14},[19,22,25,28,31,34],{"url":20,"label":21,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Ffigure.rocks","figure.rocks",{"url":23,"label":24,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Floving.rocks","loving.rocks",{"url":26,"label":27,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.com","bazify.com",{"url":29,"label":30,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.de","bazify.de",{"url":32,"label":33,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.at","bazify.at",{"url":35,"label":36,"isActive":14,"showInFooter":14,"includeInSameAs":14},"https:\u002F\u002Fbazify.ba","bazify.ba","Portal settings resolved",[39,45],{"id":40,"name":41,"location":42,"isActive":14,"isDefault":43,"items":44},1,"main-navigation","header",false,[],{"id":46,"name":47,"location":48,"isActive":14,"isDefault":14,"items":49},4,"main-menu","sidebar",[50,66,79,93,103,118,133],{"id":51,"title":52,"url":60,"target":61,"icon":62,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":64,"portfolioId":10,"children":65},"item-18",{"de":53,"en":54,"es":55,"fr":56,"it":54,"ru":57,"sr":58,"zh":59},"Startseite","Home","Inicio","Accueil","Главная","Почетна","首页","\u002Ffull-stack-web-developer-munich-performance-seo-and-maintainable-builds","_self","i-lucide-home","page",111,[],{"id":67,"title":68,"url":75,"target":61,"icon":76,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":77,"portfolioId":10,"children":78},"item-22",{"de":69,"en":69,"es":70,"fr":69,"it":71,"ru":72,"sr":73,"zh":74},"Vision","Visión","Visione","Видение","Визија","想象","\u002Fueber-uns-webdesign-muenchen-webaplikation","i-lucide-eye",113,[],{"id":80,"title":81,"url":89,"target":61,"icon":90,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":91,"portfolioId":10,"children":92},"item-19",{"de":82,"en":83,"es":84,"fr":83,"it":85,"ru":86,"sr":87,"zh":88},"Leistungen","Services","Servicios","Servizi","Услуги","Услуге","服务","\u002Fservices-dienstleistungen-muenchen","i-lucide-wrench",116,[],{"id":94,"title":95,"url":99,"target":61,"icon":100,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":101,"portfolioId":10,"children":102},"item-23",{"de":96,"en":96,"es":96,"fr":96,"it":96,"ru":97,"sr":97,"zh":98},"Blog","Блог","博客","\u002Fblog","i-lucide-book-open",112,[],{"id":104,"title":105,"url":114,"target":61,"icon":115,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":116,"portfolioId":10,"children":117},"item-32",{"de":106,"en":107,"es":108,"fr":109,"it":110,"ru":111,"sr":112,"zh":113},"Neue Technologien","New Technologies","Nuevas tecnologías","Nouvelles technologies","Nuove tecnologie","Новые технологии","Нове технологије","新技术！","\u002Fneue-webtechnologien","i-lucide-sparkles",122,[],{"id":119,"title":120,"url":129,"target":61,"icon":130,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":131,"portfolioId":10,"children":132},"item-20",{"de":121,"en":122,"es":123,"fr":124,"it":125,"ru":126,"sr":127,"zh":128},"Kontakt","Contact us!","Contacto","Contact","Contatto","Контакт","Контактирајте нас","联系我们！","\u002Fcontact","i-lucide-mail",115,[],{"id":134,"title":135,"url":144,"target":61,"icon":145,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":146,"portfolioId":10,"children":147},"item-21",{"de":136,"en":137,"es":138,"fr":139,"it":140,"ru":141,"sr":142,"zh":143},"Unsere Arbeit","Our Work","Nuestro trabajo","Nos réalisations","I nostri lavori","Наши работы","Наши радови","文件夹","\u002Fportfolio","i-lucide-briefcase",114,[148,161,175,181,193],{"id":149,"title":150,"url":144,"target":61,"icon":159,"isActive":14,"type":63,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":146,"portfolioId":10,"children":160},"item-24",{"de":151,"en":152,"es":153,"fr":154,"it":155,"ru":156,"sr":157,"zh":158},"Alle Projekte","All Projects","Todos los proyectos","Tous les projets","Tutti i progetti","Все проекты","Сви пројекти","所有项目","i-lucide-grid-3x3",[],{"id":162,"title":163,"url":171,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":174},"item-29",{"de":164,"en":165,"es":166,"fr":167,"it":168,"ru":169,"sr":170,"zh":143},"Local Roots, Global Reach","Local Roots - Global Reach","Empresa local ","Entreprise locale","Azienda locale","Местная компания","Локално предузеће глобално тржиште","\u002Fportfolio\u002Flocal-roots-global-reach-communication-media-systems-for-modern-business","i-lucide-folder","custom",[],{"id":176,"title":177,"url":179,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":180},"item-28",{"de":178,"en":178,"es":178,"fr":178,"it":178,"ru":178,"sr":178,"zh":178},"Solr Suggester","\u002Fportfolio\u002Fsolr-fuzzy-suggester-und-solr-infix-suggester-abfrage-ueber-ajax-und-filterung",[],{"id":182,"title":183,"url":191,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":192},"item-27",{"de":184,"en":185,"es":186,"fr":187,"it":188,"ru":189,"sr":190,"zh":185},"Firmenwebseite SEO","Company Website SEO","Sitio web corporativo SEO","Site web d’entreprise SEO","Sito web aziendale SEO","Корпоративный сайт SEO","Пословна веб-страница SEO","\u002Fportfolio\u002Fseo-sem-branding-mobile-webseite-muenchen",[],{"id":194,"title":195,"url":203,"target":61,"icon":172,"isActive":14,"type":173,"productId":10,"categoryId":10,"shopCategoryId":10,"articleId":10,"pageId":10,"portfolioId":10,"children":204},"item-31",{"de":196,"en":197,"es":198,"fr":199,"it":200,"ru":201,"sr":202,"zh":197},"Digitalisierungsportal","Digitalization Portal","Portal de digitalización","Portail de numérisation","Portale di digitalizzazione","Портал цифровизации","Портал за дигитализацију","\u002Fportfolio\u002Fdigitalisierungsportal-archiv-museum-bibliothek-ead-lido-mets-mods",[],{"statusCode":4,"data":206,"message":3520},{"id":207,"title":208,"slug":209,"content":210,"contentJson":211,"excerpt":1610,"featuredImage":1611,"featuredImageAlt":1612,"featuredImageCaption":10,"featuredImageTitle":10,"featuredImageCopyright":10,"featuredImageAuthor":10,"featuredImageSourceUrl":10,"featuredImageLicense":10,"featuredImageIsAiGenerated":43,"status":1613,"publishedAt":1614,"createdAt":1615,"updatedAt":1616,"seoLocalePaths":1617,"categories":1626,"author":1643,"translations":1648},"492","MCP expliqué : ce qu'il connecte, ce qu'il ne fait pas et où il s'intègre","mcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits","\u003Cp>Le Model Context Protocol (MCP) est un protocole ouvert permettant de connecter des applications d'IA à des capacités et des informations externes via des contrats client-serveur standardisés. Un serveur MCP peut exposer des outils, des ressources et des invites ; un hôte ou client compatible MCP découvre et utilise ces capacités pour le compte d'une application d'IA. MCP n'exige pas que le serveur exécute son propre modèle de langage, et il ne remplace pas le runtime de l'agent, l'autorisation métier, l'isolation des locataires, les API applicatives ou l'architecture métier derrière les capacités exposées.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--info my-6 rounded-xl border p-5 border-blue-300 bg-blue-50 dark:border-blue-900 dark:bg-blue-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Réponse directe\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">\u003Cstrong>MCP standardise la frontière entre un hôte d&#39;IA et les fournisseurs de capacités externes.\u003C\u002Fstrong>\u003Cbr>\u003Cbr>Un modèle mental utile est :\u003Cbr>\u003Cstrong>Utilisateur → hôte d&#39;IA \u002F runtime d&#39;agent → client MCP → serveur MCP → application\u002FAPI\u002Fdonnées\u002Foutil\u003C\u002Fstrong>.\u003Cbr>\u003Cbr>Le modèle peut rester entièrement du côté de l&#39;hôte. Le serveur MCP peut être un logiciel déterministe ordinaire qui expose des capacités structurées.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Caside class=\"editorjs-callout editorjs-callout--success my-6 rounded-xl border p-5 border-emerald-300 bg-emerald-50 dark:border-emerald-900 dark:bg-emerald-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Un serveur MCP n&#39;a pas besoin de son propre modèle d&#39;IA\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Un serveur MCP de système de fichiers peut lister ou lire des fichiers. Un serveur MCP de base de données peut exécuter des requêtes approuvées. Un serveur MCP Jira peut exposer des opérations sur les tickets. Aucun de ces serveurs n&#39;a besoin d&#39;un LLM pour satisfaire le contrat MCP. Si un serveur utilise l&#39;IA en interne, c&#39;est un choix d&#39;implémentation derrière la frontière du protocole, et non une exigence de MCP.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Caside class=\"editorjs-callout editorjs-callout--warning my-6 rounded-xl border p-5 border-amber-300 bg-amber-50 dark:border-amber-900 dark:bg-amber-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">La capacité MCP n&#39;est pas l&#39;autorité métier\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Si un serveur MCP expose \u003Ccode>delete_file\u003C\u002Fcode>, \u003Ccode>refund_order\u003C\u002Fcode> ou \u003Ccode>deploy_service\u003C\u002Fcode>, cela signifie seulement que la capacité existe. Le serveur\u002Fl&#39;application doit toujours appliquer l&#39;identité, les permissions, le périmètre du locataire, les règles métier, les exigences de confirmation et les contrôles d&#39;audit. La découverte du protocole ne doit jamais devenir silencieusement une autorisation.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Caside class=\"editorjs-callout editorjs-callout--note my-6 rounded-xl border p-5 border-gray-300 bg-gray-50 dark:border-gray-700 dark:bg-gray-900\u002F40\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Note sur la source actuelle — 8 octobre 2026\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">La révision actuelle de la spécification MCP est \u003Cstrong>2026-07-28\u003C\u002Fstrong>. Son changement majeur est un cœur de protocole sans état avec des requêtes auto-descriptives, un \u003Ccode>server\u002Fdiscover\u003C\u002Fcode> optionnel, des en-têtes HTTP routables, des réponses de liste\u002Fressource mises en cache, un renforcement de l&#39;autorisation et un modèle d&#39;extension formel. Le SDK TypeScript v2 est la ligne de SDK stable actuelle implémentant cette révision. Les clients et serveurs plus anciens de l&#39;ère 2025 existent encore, donc les conseils d&#39;implémentation doivent rester conscients des versions.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Cnav class=\"editorjs-toc\" data-editorjs-toc=\"true\" aria-label=\"Sommaire\">\u003Cstrong class=\"editorjs-toc__title\">Sommaire\u003C\u002Fstrong>\u003Col class=\"editorjs-toc__list editorjs-toc__list--depth-0\">\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-7\" class=\"editorjs-toc__link\">Ce que MCP standardise réellement\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-11\" class=\"editorjs-toc__link\">L&#39;exemple le plus simple\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-16\" class=\"editorjs-toc__link\">Où l&#39;exemple simple s&#39;arrête\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-20\" class=\"editorjs-toc__link\">L&#39;architecture MCP : hôte, client et serveur\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-24\" class=\"editorjs-toc__link\">Les trois primitives serveur fondamentales\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-26\" class=\"editorjs-toc__link\">Outils : capacités appelables\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-30\" class=\"editorjs-toc__link\">Ressources : contexte et données lisibles\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-34\" class=\"editorjs-toc__link\">Invites : modèles réutilisables\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-38\" class=\"editorjs-toc__link\">Outil ou ressource ?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-40\" class=\"editorjs-toc__link\">Où se trouve le modèle d&#39;IA ?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-45\" class=\"editorjs-toc__link\">MCP ne remplace pas les API\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-49\" class=\"editorjs-toc__link\">MCP vs appel de fonction\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-52\" class=\"editorjs-toc__link\">MCP ne crée pas la boucle de l&#39;agent\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-56\" class=\"editorjs-toc__link\">MCP vs A2A\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-61\" class=\"editorjs-toc__link\">L&#39;utilisation locale et distante de MCP repose sur des réalités de transport différentes\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-65\" class=\"editorjs-toc__link\">Pourquoi la connaissance des versions de MCP est importante\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-69\" class=\"editorjs-toc__link\">Ce qui a changé dans MCP 2026-07-28\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-71\" class=\"editorjs-toc__link\">Roots, sampling et logging ne sont plus la direction pour les nouvelles implémentations\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-75\" class=\"editorjs-toc__link\">Le travail de longue durée n&#39;est pas la même chose qu&#39;une invocation ordinaire d&#39;outil MCP\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-79\" class=\"editorjs-toc__link\">Les MCP Apps étendent les capacités d&#39;interface utilisateur sans redéfinir le protocole de base\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-83\" class=\"editorjs-toc__link\">L&#39;autorisation MCP n&#39;est pas votre modèle d&#39;autorisation complet\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-88\" class=\"editorjs-toc__link\">L&#39;identité peut franchir plusieurs frontières\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-92\" class=\"editorjs-toc__link\">L&#39;isolation des locataires reste en dehors de la découverte des capacités MCP\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-96\" class=\"editorjs-toc__link\">MCP ne définit pas la source de vérité\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-100\" class=\"editorjs-toc__link\">MCP et ingénierie du contexte\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-104\" class=\"editorjs-toc__link\">Concevoir les outils MCP autour des résultats et des limites de risque\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-106\" class=\"editorjs-toc__link\">Les approbations relèvent de l&#39;architecture d&#39;exécution\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-110\" class=\"editorjs-toc__link\">L&#39;observabilité MCP doit relier les appels de protocole aux actions métier\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-114\" class=\"editorjs-toc__link\">Ce que MCP ne peut pas corriger\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-116\" class=\"editorjs-toc__link\">Preuves d&#39;implémentation originale : Aaasaasa AI Client\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-124\" class=\"editorjs-toc__link\">Quand MCP est adapté\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-126\" class=\"editorjs-toc__link\">Quand vous n&#39;avez pas besoin de MCP\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-130\" class=\"editorjs-toc__link\">Liste de contrôle de sécurité MCP\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-132\" class=\"editorjs-toc__link\">Idées fausses courantes\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-134\" class=\"editorjs-toc__link\">Une séquence de conception MCP pratique\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-136\" class=\"editorjs-toc__link\">Liste de contrôle de l&#39;architecture MCP\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-138\" class=\"editorjs-toc__link\">Cas limites et limitations\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-144\" class=\"editorjs-toc__link\">Qu&#39;est-ce qui changerait cette réponse ?\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-148\" class=\"editorjs-toc__link\">Connaissances canoniques associées\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-153\" class=\"editorjs-toc__link\">Questions fréquentes\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-155\" class=\"editorjs-toc__link\">Glossaire\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-157\" class=\"editorjs-toc__link\">Conclusion\u003C\u002Fa>\u003C\u002Fli>\u003Cli class=\"editorjs-toc__item\">\u003Ca href=\"#section-161\" class=\"editorjs-toc__link\">Sources primaires et documentation actuelle\u003C\u002Fa>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fnav>\n\u003Ch2 id=\"section-7\">Ce que MCP standardise réellement\u003C\u002Fh2>\n\u003Cp>Avant MCP, chaque application d'IA pouvait intégrer des systèmes externes via son propre schéma d'outil, format de plugin, convention d'authentification et code de connexion. Le même service pouvait nécessiter différents adaptateurs pour un client d'IA de bureau, un agent IDE et une application personnalisée.\u003C\u002Fp>\n\u003Cp>MCP crée une frontière de protocole réutilisable. Le système externe expose des capacités via un serveur MCP, tandis que les hôtes d'IA compatibles implémentent un client MCP. Cela réduit le couplage d'intégration entre l'application d'IA et le fournisseur d'outil ou de données sous-jacent.\u003C\u002Fp>\n\u003Cp>Le protocole ne standardise pas l'application entière. Il standardise la manière dont les capacités sont décrites, découvertes et invoquées à travers cette frontière.\u003C\u002Fp>\n\u003Ch2 id=\"section-11\">L'exemple le plus simple\u003C\u002Fh2>\n\u003Cp>Supposons qu'une application de codage d'IA ait besoin d'accéder à un répertoire de projet local. Sans MCP, l'application pourrait implémenter directement sa propre intégration de système de fichiers.\u003C\u002Fp>\n\u003Cp>Avec MCP, un serveur de système de fichiers peut exposer des capacités telles que lister des répertoires, lire des fichiers approuvés ou écrire dans un espace de travail autorisé. L'hôte d'IA se connecte via un client MCP et présente ces capacités au modèle ou au runtime de l'agent.\u003C\u002Fp>\n\u003Cp>Le serveur n'a pas besoin de comprendre la demande en langage naturel de l'utilisateur. L'hôte\u002Fle modèle décide quelle capacité est utile ; le serveur MCP exécute la requête structurée selon ses propres règles de sécurité.\u003C\u002Fp>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Un appel d'outil MCP de base\u003C\u002Fh3>\u003Cdiv class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4\">\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">1\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">1. L'hôte se connecte au serveur\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">L'application compatible MCP configure l'accès au serveur MCP externe.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">2\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">2. Les capacités sont découvertes\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Le client apprend quels outils, ressources ou invites le serveur expose.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">3\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">3. Le modèle ou le runtime sélectionne une capacité\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">L'application d'IA décide qu'une capacité exposée est nécessaire.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">4\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">4. Le client envoie une requête structurée\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Les arguments sont envoyés via MCP au serveur.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">5\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">5. Le serveur autorise et exécute\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Le serveur valide la requête et appelle son système sous-jacent.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">6\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">6. Le résultat revient à l'hôte\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Le résultat devient une observation ou une entrée de contexte.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">7\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">7. L'hôte décide de la suite\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Le modèle\u002Fruntime peut répondre, appeler un autre outil ou poursuivre un flux de travail.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-16\">Où l'exemple simple s'arrête\u003C\u002Fh2>\n\u003Cp>MCP ne définit pas comment l'hôte choisit un outil, comment un agent planifie, comment un flux de travail métier est modélisé ou comment un objet métier tel qu'une facture ou un déploiement doit se comporter.\u003C\u002Fp>\n\u003Cp>Un protocole peut rendre l'intégration interopérable alors que l'application sous-jacente reste incorrecte, non sécurisée ou mal conçue. Une requête MCP parfaitement valide peut toujours appeler la mauvaise capacité métier.\u003C\u002Fp>\n\u003Cp>La frontière centrale est la suivante : MCP normalise la sémantique d'intégration, pas la vérité applicative ni la justesse métier.\u003C\u002Fp>\n\u003Ch2 id=\"section-20\">L'architecture MCP : hôte, client et serveur\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Composant\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Responsabilité\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Hôte IA\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Application ou environnement d'exécution IA orienté utilisateur qui détient l'interaction avec le modèle, le contexte et le flux de travail global\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Client MCP\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Composant côté protocole utilisé par l'hôte pour communiquer avec un serveur MCP\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Serveur MCP\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Publie des capacités et traite les requêtes MCP\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Système sous-jacent\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Application, API, base de données, système de fichiers, plateforme SaaS ou service derrière le serveur MCP\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Modèle\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Choisit ou raisonne sur les capacités selon la conception de l'hôte ou de l'environnement d'exécution ; il n'est pas nécessairement à l'intérieur du serveur MCP\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Autorisation\u002Fpolitique métier\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Détermine si une opération demandée est réellement autorisée\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Cp>Un hôte peut se connecter à plusieurs serveurs MCP, et un serveur MCP peut être en façade d'un ou de plusieurs systèmes sous-jacents. L'hôte reste responsable de l'intégration des résultats MCP dans l'application IA globale.\u003C\u002Fp>\n\u003Cp>Le serveur peut être local à l'hôte, s'exécuter comme un processus séparé ou être distant via un transport réseau. La topologie d'hébergement et l'emplacement du modèle sont des décisions indépendantes.\u003C\u002Fp>\n\u003Ch2 id=\"section-24\">Les trois primitives serveur fondamentales\u003C\u002Fh2>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Les outils, ressources et invites répondent à des besoins différents\u003C\u002Fh3>\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left dark:border-gray-700 dark:bg-gray-900\">\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Outils\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Ressources\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Invites\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Objectif principal\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Interaction typique\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Exemple\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Risque typique\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-26\">Outils : capacités appelables\u003C\u002Fh2>\n\u003Cp>Les outils sont des opérations structurées qu'un serveur MCP met à la disposition de l'hôte. Un outil possède un nom, une description et un schéma d'entrée ; les implémentations modernes peuvent également fournir une sortie structurée.\u003C\u002Fp>\n\u003Cp>Les exemples incluent la recherche dans un dépôt, la lecture d'une fiche client, la création d'un ticket, l'exécution d'une compilation ou l'envoi d'un message. Les outils peuvent être en lecture seule ou avoir des effets de bord.\u003C\u002Fp>\n\u003Cp>Une bonne surface d'outils MCP devrait représenter des objectifs cohérents d'utilisateur ou d'agent plutôt que de refléter mécaniquement chaque point de terminaison d'API interne. Les opérations ayant des permissions, des exigences de confirmation ou un rayon d'impact différents devraient généralement être des outils distincts.\u003C\u002Fp>\n\u003Ch2 id=\"section-30\">Ressources : contexte et données lisibles\u003C\u002Fh2>\n\u003Cp>Les ressources exposent des données ou du contenu qu'un client peut lister ou lire. Elles conviennent naturellement lorsque l'opération sémantique est « donne-moi cet artefact ou cette information » plutôt que « effectue cette action ».\u003C\u002Fp>\n\u003Cp>Un URI de ressource n'est pas une autorisation d'accès. Le serveur reste maître du contrôle d'accès et doit vérifier quel principal peut lire l'objet sous-jacent.\u003C\u002Fp>\n\u003Cp>La révision du protocole du 2026-07-28 ajoute une sémantique de cache pour les réponses de liste et de lecture de ressources, y compris la fraîcheur et la portée du cache, rendant le comportement de mise en cache plus explicite.\u003C\u002Fp>\n\u003Ch2 id=\"section-34\">Invites : modèles réutilisables\u003C\u002Fh2>\n\u003Cp>Les invites MCP permettent à un serveur de publier des modèles d'invite réutilisables vers des clients compatibles. Cela peut maintenir les instructions spécifiques au domaine proches du fournisseur de capacités.\u003C\u002Fp>\n\u003Cp>Une invite fournie par un serveur MCP n'a pas automatiquement priorité sur les instructions système ou de sécurité de l'hôte. L'hôte décide comment le matériel d'invite entre dans sa hiérarchie de contexte.\u003C\u002Fp>\n\u003Cp>Le contenu des invites fourni par le protocole doit donc être traité comme des données de capacité avec une sémantique de confiance explicite, et non comme une autorité d'instruction illimitée.\u003C\u002Fp>\n\u003Ch2 id=\"section-38\">Outil ou ressource ?\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Besoin\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Préférer\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Effectuer une action avec des arguments structurés\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Outil\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Lire un artefact stable spécifique\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ressource\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Rechercher ou calculer dynamiquement\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Généralement un outil\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Modifier l'état externe\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Outil\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Empaqueter des instructions d'invite réutilisables\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Invite\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Exécution asynchrone de longue durée\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Outil plus gestion des tâches d'application\u002Fexécution ou une extension MCP\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-40\">Où se trouve le modèle d'IA ?\u003C\u002Fh2>\n\u003Cp>MCP n'exige pas que le modèle s'exécute sur le serveur MCP. Le modèle peut être hébergé dans le cloud, hébergé localement, intégré à l'application de bureau ou atteint via un autre fournisseur.\u003C\u002Fp>\n\u003Cp>L'hôte possède normalement l'interaction avec le modèle. Le serveur MCP expose une capacité externe. Un serveur MCP local peut donc être utilisé par un hôte dont le modèle s'exécute dans le cloud, et un serveur MCP distant peut être utilisé par un hôte dont le modèle s'exécute localement.\u003C\u002Fp>\n\u003Cp>Si le serveur MCP lui-même appelle un LLM en interne, ce modèle fait partie de l'implémentation du serveur derrière la frontière du protocole ; il n'est pas requis par MCP.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--success my-6 rounded-xl border p-5 border-emerald-300 bg-emerald-50 dark:border-emerald-900 dark:bg-emerald-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Emplacement du protocole ≠ emplacement de l&#39;inférence\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">\u003Cstrong>MCP local n&#39;implique pas une inférence locale, et MCP distant n&#39;implique pas une inférence distante.\u003C\u002Fstrong> L&#39;emplacement de la connexion, l&#39;emplacement d&#39;exécution des outils et l&#39;emplacement du modèle\u002Ffournisseur sont des dimensions d&#39;architecture distinctes.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-45\">MCP ne remplace pas les API\u003C\u002Fh2>\n\u003Cp>Un serveur MCP encapsule souvent des API ou services existants. REST, GraphQL, SQL, les appels SDK et les contrats de service internes peuvent rester exactement là où ils sont.\u003C\u002Fp>\n\u003Cp>MCP ajoute une couche d'interopérabilité orientée IA. L'API de domaine sous-jacente peut rester le contrat applicatif faisant autorité pour les clients déterministes ordinaires.\u003C\u002Fp>\n\u003Cp>L'architecture habituelle est donc d'abord l'API\u002Fservice, puis la capacité orientée IA sélectionnée — et non « remplacer chaque API par MCP ».\u003C\u002Fp>\n\u003Ch2 id=\"section-49\">MCP vs appel de fonction\u003C\u002Fh2>\n\u003Csection class=\"editorjs-comparison my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">L&#39;appel de fonction et MCP sont liés mais non identiques\u003C\u002Fh3>\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left dark:border-gray-700 dark:bg-gray-900\">\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">Appel de fonction\u003C\u002Fth>\u003Cth class=\"border border-gray-300 bg-gray-50 px-4 py-3 text-left font-semibold dark:border-gray-700 dark:bg-gray-900\">MCP\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Portée\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Définition de l&#39;outil\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Portabilité\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-3 text-left font-semibold dark:border-gray-700\">Peuvent-ils coexister ?\u003C\u002Fth>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-3 dark:border-gray-700\">\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Cp>OpenAI expose actuellement les serveurs MCP distants comme un type d'outil aux côtés de l'appel de fonction ordinaire, de la recherche web, du shell et d'autres outils. Cette implémentation illustre la relation architecturale : la connectivité MCP et l'interface d'appel d'outil propre au modèle peuvent être composées.\u003C\u002Fp>\n\u003Ch2 id=\"section-52\">MCP ne crée pas la boucle de l'agent\u003C\u002Fh2>\n\u003Cp>Un agent IA a besoin d'un environnement d'exécution capable de décider, d'invoquer des outils, d'observer les résultats, de mettre à jour l'état et de continuer ou de s'arrêter. MCP peut fournir certains des outils et données utilisés par cette boucle.\u003C\u002Fp>\n\u003Cp>Le serveur MCP ne devient pas automatiquement le planificateur, le système de mémoire ou l'orchestrateur. Ces responsabilités restent normalement dans l'hôte ou l'environnement d'exécution de l'agent.\u003C\u002Fp>\n\u003Cp>Une application non agentique peut également utiliser MCP. Un appel d'outil MCP déterministe ne nécessite pas un agent autonome multi-étapes.\u003C\u002Fp>\n\u003Ch2 id=\"section-56\">MCP vs A2A\u003C\u002Fh2>\n\u003Cp>MCP connecte principalement un hôte ou un agent IA à des capacités telles que des outils, des ressources et des données. A2A cible la collaboration entre systèmes d'agents indépendants.\u003C\u002Fp>\n\u003Cp>Un agent distant peut utiliser MCP en interne pour accéder à des bases de données et des outils tout en exposant une interface A2A à d'autres agents. Les protocoles peuvent donc être superposés plutôt que substitués.\u003C\u002Fp>\n\u003Cp>L'article existant sur la pile de protocoles couvre la comparaison plus large MCP\u002FA2A\u002FUCP\u002FAP2\u002FA2UI ; G02 reste la définition canonique de MCP.\u003C\u002Fp>\n\u003Caside class=\"editorjs-referral my-6\">\u003Ca href=\"https:\u002F\u002Fstajic.de\u002Fde\u002Fblog\u002Fmcp-vs-a2a-vs-ucp-vs-ap2-vs-a2ui-the-agent-protocol-stack-explained\" class=\"flex flex-col sm:flex-row gap-4 rounded-xl border border-gray-200 dark:border-gray-700 p-4 transition hover:border-primary-500\">\u003Cdiv class=\"min-w-0 flex-1\">\u003Cstrong class=\"block text-lg text-gray-900 dark:text-gray-100\">MCP vs A2A vs UCP vs AP2 vs A2UI : la pile de protocoles d'agents expliquée\u003C\u002Fstrong>\u003Cp class=\"mt-2 text-sm text-gray-600 dark:text-gray-300\">Une carte des responsabilités plus large montrant comment MCP se compose avec la collaboration entre agents, le commerce, l'autorité de paiement et les protocoles d'interface pilotés par agents.\u003C\u002Fp>\u003Cspan class=\"mt-3 inline-flex text-sm font-medium text-primary-600 dark:text-primary-400\">Lire la pile de protocoles →\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002Fa>\u003C\u002Faside>\n\u003Ch2 id=\"section-61\">L'utilisation locale et distante de MCP repose sur des réalités de transport différentes\u003C\u002Fh2>\n\u003Cp>MCP peut se connecter à des serveurs locaux et distants. Les intégrations de bureau locales utilisent couramment des transports au niveau du processus tels que stdio ; les serveurs distants utilisent un transport orienté HTTP.\u003C\u002Fp>\n\u003Cp>La révision du 2026-07-28 rend le cœur du protocole sans état. Les requêtes transportent les informations nécessaires au traitement du protocole au lieu de dépendre du modèle de session antérieur au niveau du protocole.\u003C\u002Fp>\n\u003Cp>La révision actuelle place également les noms de méthodes et de capacités dans les en-têtes HTTP afin que les passerelles, les WAF, les limiteurs de débit et les répartiteurs de charge puissent router et mesurer le trafic MCP plus naturellement.\u003C\u002Fp>\n\u003Ch2 id=\"section-65\">Pourquoi la connaissance des versions de MCP est importante\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Ère du protocole\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Caractéristique opérationnelle\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">2025-11-25 et antérieur\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Cycle de vie orienté handshake\u002Fsession et comportement Streamable HTTP plus ancien\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">2026-07-28\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Cœur sans état, découverte facultative du serveur, requêtes auto-descriptives, en-têtes de routage, indications de cache, MRTR et renforcement de l'autorisation\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Extensions\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Des capacités telles que Tasks et MCP Apps peuvent être versionnées séparément du protocole de base\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Cp>La version du SDK et la version du protocole sont également deux choses différentes. Le SDK TypeScript v2 actuel est la ligne stable pour la révision du 2026-07-28, tandis que l'ancien v1.x reste une ligne de maintenance pour le comportement de l'ère 2025.\u003C\u002Fp>\n\u003Cp>La documentation d'architecture doit enregistrer à la fois la version du SDK\u002Fde la bibliothèque et la révision du protocole lorsque le comportement d'interopérabilité en dépend.\u003C\u002Fp>\n\u003Ch2 id=\"section-69\">Ce qui a changé dans MCP 2026-07-28\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Changement\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Pourquoi c'est important\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Cœur sans état\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les serveurs distants peuvent évoluer derrière des répartiteurs de charge ordinaires sans sessions persistantes au niveau du protocole\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">server\u002Fdiscover\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les clients peuvent inspecter les capacités du serveur lorsque nécessaire\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Requêtes auto-descriptives\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La version du protocole et les métadonnées de capacités du client voyagent à chaque requête\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">En-têtes Mcp-Method \u002F Mcp-Name\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les passerelles peuvent router, mesurer et appliquer des politiques sans analyser les corps\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Indications de cache\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les listes\u002Flectures de ressources communiquent la fraîcheur et la portée de partage\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Requêtes multi-tours\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les serveurs peuvent exiger des entrées supplémentaires sans l'ancien modèle de requête bidirectionnel\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Renforcement de l'autorisation\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La validation de l'émetteur et la liaison des identifiants renforcent le comportement d'authentification à distance\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Cadre d'extensions\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Tasks, MCP Apps et d'autres capacités peuvent évoluer séparément\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-71\">Roots, sampling et logging ne sont plus la direction pour les nouvelles implémentations\u003C\u002Fh2>\n\u003Cp>La version 2026-07-28 marque roots, sampling et logging comme des capacités de protocole obsolètes avec une fenêtre de compatibilité définie.\u003C\u002Fp>\n\u003Cp>Les anciens tutoriels peuvent encore présenter ces fonctionnalités comme des primitives centrales. Les nouveaux travaux d'implémentation devraient suivre la spécification actuelle plutôt que de copier aveuglément d'anciens diagrammes de cycle de vie.\u003C\u002Fp>\n\u003Cp>La dépréciation ne signifie pas un retrait immédiat. Elle signifie que les nouveaux systèmes devraient éviter les nouvelles dépendances inutiles envers des capacités dont le protocole s'éloigne.\u003C\u002Fp>\n\u003Ch2 id=\"section-75\">Le travail de longue durée n'est pas la même chose qu'une invocation ordinaire d'outil MCP\u003C\u002Fh2>\n\u003Cp>Les opérations de longue durée nécessitent une sémantique de cycle de vie au-delà d'un simple résultat d'outil immédiat. Dans l'écosystème actuel, les Tasks ont été déplacées vers une extension MCP dédiée.\u003C\u002Fp>\n\u003Cp>Cela renforce un principe de conception utile : le protocole de base n'a pas besoin d'absorber toutes les préoccupations d'exécution des agents.\u003C\u002Fp>\n\u003Cp>Une application peut également conserver entièrement la propriété des flux de travail de longue durée dans son propre environnement d'exécution et utiliser les outils MCP ordinaires comme opérations sous-jacentes.\u003C\u002Fp>\n\u003Ch2 id=\"section-79\">Les MCP Apps étendent les capacités d'interface utilisateur sans redéfinir le protocole de base\u003C\u002Fh2>\n\u003Cp>Les MCP Apps associent des expériences d'interface utilisateur interactives plus riches aux outils MCP via le modèle d'extension.\u003C\u002Fp>\n\u003Cp>L'hôte contrôle toujours la manière dont cette interface utilisateur est intégrée, isolée et sécurisée.\u003C\u002Fp>\n\u003Cp>L'échange de capacités de base et le rendu de l'interface utilisateur devraient donc rester des responsabilités architecturales distinctes.\u003C\u002Fp>\n\u003Ch2 id=\"section-83\">L'autorisation MCP n'est pas votre modèle d'autorisation complet\u003C\u002Fh2>\n\u003Cp>Le MCP distant nécessite des mécanismes d'authentification et d'autorisation au niveau du protocole afin que les clients et les serveurs puissent établir un accès de confiance. La spécification actuelle continue de renforcer le comportement lié à OAuth\u002FOIDC.\u003C\u002Fp>\n\u003Cp>Cette couche répond à la question de savoir si un client est autorisé à se connecter ou à demander des portées de protocole. Elle ne répond pas automatiquement à la question de savoir si Alice peut rembourser la commande 123, si un agent peut écrire la configuration de production ou si le Locataire A peut lire les données du Locataire B.\u003C\u002Fp>\n\u003Cp>Ces décisions de domaine appartiennent au modèle d'autorisation du serveur\u002Fde l'application et doivent être appliquées avant d'invoquer l'opération sous-jacente.\u003C\u002Fp>\n\u003Caside class=\"editorjs-callout editorjs-callout--warning my-6 rounded-xl border p-5 border-amber-300 bg-amber-50 dark:border-amber-900 dark:bg-amber-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Ne jamais associer « client MCP authentifié » à « approuvé pour tous les outils »\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">La confiance de connexion, la visibilité des outils, l&#39;autorisation des outils, l&#39;autorisation de l&#39;utilisateur, l&#39;isolation des locataires et l&#39;approbation métier sont des contrôles différents. Gardez-les séparés.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-88\">L'identité peut franchir plusieurs frontières\u003C\u002Fh2>\n\u003Cp>Une requête MCP peut impliquer l'application cliente MCP, l'humain connecté, une identité d'agent\u002Fsession et un compte de service en aval.\u003C\u002Fp>\n\u003Cp>Le serveur a besoin d'une politique explicite pour déterminer au nom de quel principal l'opération est effectuée. Sinon, un identifiant de service puissant peut devenir un chemin de député confus.\u003C\u002Fp>\n\u003Cp>Pour un usage en entreprise, la corrélation entre l'identité de l'utilisateur, l'identité de l'agent, la connexion MCP et l'autorisation en aval est aussi importante que la compatibilité des protocoles.\u003C\u002Fp>\n\u003Ch2 id=\"section-92\">L'isolation des locataires reste en dehors de la découverte des capacités MCP\u003C\u002Fh2>\n\u003Cp>Un serveur MCP multi-locataires doit appliquer la portée du locataire lorsqu'il lit ou modifie des ressources appartenant à un locataire. Le retour d'un outil nommé search_documents ne définit pas à quel locataire appartiennent les documents éligibles.\u003C\u002Fp>\n\u003Cp>La portée du locataire doit être dérivée d'une identité ou d'une appartenance de confiance et propagée dans les bases de données, les caches, la recherche vectorielle, le stockage d'objets et les API en aval.\u003C\u002Fp>\n\u003Cp>Récupérer du contenu inter-locataires et demander au modèle de ne pas l'utiliser constitue déjà une défaillance d'isolation.\u003C\u002Fp>\n\u003Ch2 id=\"section-96\">MCP ne définit pas la source de vérité\u003C\u002Fh2>\n\u003Cp>Un serveur MCP peut exposer une base de données, un référentiel de documents, un service de recherche web ou un résumé généré par IA. Le protocole ne déclare pas quelle source fait autorité pour une affirmation.\u003C\u002Fp>\n\u003Cp>Les règles de source de vérité relèvent de l'architecture applicative ou métier. L'hôte ou le serveur peut encoder l'autorité via la conception des outils, les métadonnées, la politique d'accès ou la validation, mais MCP lui-même ne rend pas une capacité « vraie ».\u003C\u002Fp>\n\u003Cp>Un outil peut donc être parfaitement appelable via MCP et néanmoins renvoyer des informations obsolètes, secondaires ou non faisant autorité.\u003C\u002Fp>\n\u003Ch2 id=\"section-100\">MCP et ingénierie du contexte\u003C\u002Fh2>\n\u003Cp>MCP peut accroître les capacités et les informations disponibles pour une application d'IA, mais l'ingénierie du contexte détermine toujours ce qui parvient au modèle.\u003C\u002Fp>\n\u003Cp>Les catalogues d'outils consomment le contexte visible par le modèle dans de nombreux hôtes. Les résultats d'outils peuvent être volumineux. Les ressources peuvent être nombreuses. Un hôte a besoin de sélection, de filtrage, de chargement dynamique et de compactage plutôt que d'exposer tout à chaque tour.\u003C\u002Fp>\n\u003Cp>La disponibilité des capacités et le contexte visible par le modèle doivent donc être traités comme des couches distinctes.\u003C\u002Fp>\n\u003Ch2 id=\"section-104\">Concevoir les outils MCP autour des résultats et des limites de risque\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Conception d'outil faible\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Conception d'outil plus robuste\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">execute_api(method,url,body)\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Outils métier étroits avec opérations validées\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Un outil d'administration pour toutes les actions\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Séparer les opérations de lecture\u002Fécriture\u002Fapprobation\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">API interne brute reflétée 1:1\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Contrat orienté IA autour d'objectifs utilisateur cohérents\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Un outil de système de fichiers large\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Opérations de lecture\u002Fécriture limitées à l'espace de travail\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Politique de sécurité uniquement dans la description\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le serveur applique la politique dans le code\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Réponse brute non bornée\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Sortie structurée pertinente pour la décision\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Suppression\u002Fmise à jour mélangées à la lecture\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Outils à effet de bord séparés avec politique de confirmation\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-106\">Les approbations relèvent de l'architecture d'exécution\u003C\u002Fh2>\n\u003Cp>Un hôte peut exiger l'approbation de l'utilisateur avant d'invoquer certains outils MCP. L'intégration MCP actuelle d'OpenAI prend en charge des modèles d'exécution automatiques ou avec approbation explicite.\u003C\u002Fp>\n\u003Cp>L'approbation par l'hôte est utile mais ne doit pas être la seule protection du serveur, car un autre client MCP compatible peut utiliser un modèle d'approbation différent.\u003C\u002Fp>\n\u003Cp>Pour les actions destructrices ou ayant des conséquences financières, utilisez la défense en profondeur : un contrat d'outil clair, une approbation à l'exécution lorsque cela est approprié, une autorisation côté serveur, une validation métier et un audit.\u003C\u002Fp>\n\u003Ch2 id=\"section-110\">L'observabilité MCP doit relier les appels de protocole aux actions métier\u003C\u002Fh2>\n\u003Cp>Une trace MCP est plus utile lorsqu'elle peut être corrélée à l'appel applicatif sous-jacent, à la modification de base de données ou à la transaction métier.\u003C\u002Fp>\n\u003Cp>L'écosystème du 2026-07-28 standardise les conventions de propagation du W3C Trace Context, ce qui facilite le suivi d'une requête à travers l'hôte, le client, le serveur et les services en aval.\u003C\u002Fp>\n\u003Cp>Les journaux de protocole seuls ne suffisent pas pour les opérations à conséquences. Les preuves d'audit doivent également enregistrer le principal concerné, le tenant, la ressource cible, l'approbation et le changement d'état résultant.\u003C\u002Fp>\n\u003Ch2 id=\"section-114\">Ce que MCP ne peut pas corriger\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Problème\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Pourquoi MCP ne le résout pas\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Mauvaise API métier\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">MCP peut exposer la mauvaise API de manière plus cohérente\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Données erronées\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La validité du protocole ne crée pas l'exactitude factuelle\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Isolation des tenants manquante\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La découverte d'outils n'impose pas la propriété des ressources\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Privilèges excessifs\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Un outil standardisé peut toujours être sur-privilégié\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Planification médiocre de l'agent\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">MCP expose les capacités ; l'exécution\u002Fle modèle choisit encore comment les utiliser\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Mauvaise conception des tentatives\u002Fidempotence\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les appels de protocole ne rendent pas les effets de bord sûrs\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Aucune source de vérité\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">MCP ne décide pas quel système détient un fait\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Évaluation faible\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'interopérabilité ne prouve pas la réussite de la tâche\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Aucune politique d'audit\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les traces de transport ne définissent pas la rétention ni la responsabilité\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Incompatibilité de protocole\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les anciennes\u002Fnouvelles versions peuvent encore nécessiter une migration ou une gestion de compatibilité\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-116\">Preuves d'implémentation originale : Aaasaasa AI Client\u003C\u002Fh2>\n\u003Caside class=\"editorjs-callout editorjs-callout--note my-6 rounded-xl border p-5 border-gray-300 bg-gray-50 dark:border-gray-700 dark:bg-gray-900\u002F40\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Preuves d&#39;implémentation\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">Aaasaasa AI Client contient un connecteur\u002Fcourtier MCP local authentifié pour les répertoires locaux approuvés et une intégration via Secure MCP Tunnel. Il s&#39;agit de preuves d&#39;implémentation concrètes pour la frontière de protocole et l&#39;architecture de permissions, et non de l&#39;affirmation d&#39;une plateforme MCP commerciale à usage général.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Cp>L'application peut exécuter un point de terminaison MCP Streamable HTTP authentifié sur l'interface de bouclage. Le point de terminaison n'expose que les répertoires sélectionnés via le courtier de permissions central de l'espace de travail.\u003C\u002Fp>\n\u003Cp>Le point de terminaison local et la route distante sont des préoccupations distinctes : le connecteur local peut se lier uniquement à l'interface de bouclage, tandis qu'un Secure MCP Tunnel peut rendre le service MCP approuvé accessible à un client IA externe autorisé sans exposer toute la machine locale.\u003C\u002Fp>\n\u003Cp>Le modèle de permissions central distingue les profils chat uniquement, lecture seule, écriture de projet et répertoire personnalisé. Direct Chat n'a aucun accès au système de fichiers ni au shell ; les environnements d'exécution d'agents capables d'utiliser des outils utilisent le profil de permissions sélectionné.\u003C\u002Fp>\n\u003Cp>Il s'agit d'une implémentation directe de la frontière G02 : MCP fournit la connexion de capacité standardisée, tandis que le courtier de permissions propre à l'application décide quels répertoires le serveur peut exposer.\u003C\u002Fp>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Élément implémenté\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Preuve d'architecture\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Point de terminaison MCP local authentifié\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le serveur MCP peut être un service de capacité déterministe local\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Liaison à l'interface de bouclage\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'exposition réseau et la capacité de protocole sont des décisions distinctes\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Intégration Secure MCP Tunnel\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Un MCP privé\u002Flocal peut être ponté via une route contrôlée\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Courtier de permissions central\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La capacité MCP est contrainte par la politique applicative\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Portée de répertoire sélectionnée\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La visibilité du système de fichiers est explicitement délimitée\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Direct Chat sans outils OS\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'accès au modèle n'implique pas automatiquement l'accès aux outils\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Caside class=\"editorjs-callout editorjs-callout--warning my-6 rounded-xl border p-5 border-amber-300 bg-amber-50 dark:border-amber-900 dark:bg-amber-950\u002F20\" role=\"note\">\u003Cstrong class=\"block mb-2 text-gray-900 dark:text-gray-100\">Frontière des preuves\u003C\u002Fstrong>\u003Cdiv class=\"text-gray-700 dark:text-gray-200\">L&#39;implémentation démontre la connectivité MCP et l&#39;exposition de répertoires locaux limitée par les permissions. Elle n&#39;implique pas que chaque primitive MCP, chaque fonctionnalité du 2026-07-28 ou chaque extension d&#39;autorisation d&#39;entreprise soit implémentée.\u003C\u002Fdiv>\u003C\u002Faside>\n\u003Ch2 id=\"section-124\">Quand MCP est adapté\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">MCP est particulièrement adapté lorsque\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Une intégration directe peut être plus simple lorsque\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La même capacité doit être réutilisable sur plusieurs hôtes IA\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Une seule application possède les deux côtés et la portabilité a peu de valeur\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Un système externe souhaite publier des outils\u002Fressources découvrables destinés à l'IA\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Un seul appel API interne stable suffit\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Vous voulez une frontière standard autour des outils\u002Fdonnées locaux\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Il n'y a aucune exigence d'interopérabilité orientée IA\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les fournisseurs d'outils et les clients IA évoluent indépendamment\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'intégration est intentionnellement privée et étroitement couplée\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Vous voulez une découverte de capacités compatible avec l'écosystème\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'ensemble des capacités est minuscule et fixé dans le code de l'application\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-126\">Quand vous n'avez pas besoin de MCP\u003C\u002Fh2>\n\u003Cp>N'ajoutez pas MCP simplement parce que l'application utilise l'IA. Si votre backend appelle déjà une API interne et qu'aucun client MCP indépendant n'a besoin de cette capacité, un appel de fonction ou de service ordinaire peut être plus clair.\u003C\u002Fp>\n\u003Cp>MCP apporte de la valeur à une frontière d'interopérabilité. Sans cette frontière, le protocole peut devenir une couche d'adaptation inutile.\u003C\u002Fp>\n\u003Cp>La question architecturale n'est pas « Ce projet a-t-il de l'IA ? » mais « Des hôtes IA et des fournisseurs de capacités évoluant indépendamment bénéficient-ils d'un contrat standard ? »\u003C\u002Fp>\n\u003Ch2 id=\"section-130\">Liste de contrôle de sécurité MCP\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Frontière\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Question\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Identité du serveur\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">À quel serveur MCP suis-je réellement connecté ?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Identité du client\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Quelle application\u002Fclient demande l'accès ?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Identité de l'utilisateur final\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Au nom de qui l'opération est-elle effectuée ?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Liste d'autorisation des outils\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Quelles capacités cet hôte\u002Fagent peut-il découvrir et appeler ?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Autorisation métier\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Ce principal peut-il effectuer cette opération ?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Portée du locataire\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Quelle frontière de locataire\u002Fressource s'applique ?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Isolation des identifiants\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les identifiants sont-ils correctement liés et conservés en dehors du contexte du modèle ?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Approbation\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Quels effets de bord nécessitent une confirmation humaine ?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Validation des entrées\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Les arguments des outils sont-ils validés indépendamment de la sortie du modèle ?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Confiance dans la sortie\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Le contenu renvoyé peut-il contenir des instructions non fiables ou des données sensibles ?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Exposition réseau\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Un serveur local est-il accidentellement exposé au-delà des interfaces prévues ?\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Audit\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Un appel de protocole peut-il être corrélé à l'action en aval ?\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-132\">Idées fausses courantes\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Idée fausse\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Correction\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« Un serveur MCP est un serveur d'IA. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Il peut s'agir d'un logiciel déterministe ordinaire exposant des capacités.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« J'ai besoin de mon propre LLM sur le serveur MCP. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Non. Le modèle peut résider entièrement du côté de l'hôte.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« MCP remplace les API REST. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">MCP encapsule souvent des API existantes pour l'interopérabilité orientée IA.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« MCP est un framework d'agents. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">MCP fournit des capacités ; un runtime d'agent gère l'itération et l'état.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« MCP et l'appel de fonctions sont concurrents. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Un hôte peut faire le pont entre les capacités MCP et l'interface d'outils de son modèle.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« MCP remplace A2A. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">MCP se concentre sur l'intégration des capacités ; A2A se concentre sur la collaboration entre agents.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« Si un outil est listé, l'utilisateur peut l'appeler. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La découverte n'est pas une autorisation.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« OAuth résout les autorisations métier. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'autorisation de connexion ne remplace pas l'autorisation de domaine ni l'isolation des locataires.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« MCP local signifie IA locale. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">L'emplacement du serveur d'outils et l'emplacement de l'inférence sont indépendants.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« MCP rend la sortie des outils fiable. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La qualité des données, l'autorité et la provenance appartiennent toujours à la source\u002Fapplication.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« Un outil générique géant est flexible. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Des outils trop larges affaiblissent les autorisations, la validation et l'observabilité.\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">« Les anciens tutoriels sont à jour pour l'implémentation. »\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">La révision du 2026-07-28 a modifié de manière substantielle le cycle de vie et le comportement de transport.\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-134\">Une séquence de conception MCP pratique\u003C\u002Fh2>\n\u003Csection class=\"editorjs-process my-6\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Concevoir la frontière avant d'implémenter le serveur\u003C\u002Fh3>\u003Cdiv class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4\">\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">1\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">1. Identifier la frontière d'interopérabilité\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Confirmer que des hôtes IA indépendants ont réellement besoin d'un accès réutilisable.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">2\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">2. Garder l'API de domaine comme autorité\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Préserver le véritable contrat d'application\u002Fservice derrière MCP.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">3\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">3. Choisir délibérément les primitives\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Utiliser les outils, ressources et invites selon leur sémantique.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">4\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">4. Séparer par risque et autorisation\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Distinguer les opérations de lecture, d'écriture, destructrices et nécessitant une approbation.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">5\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">5. Définir la propagation d'identité\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Savoir quel client, utilisateur, agent et principal en aval chaque appel représente.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">6\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">6. Appliquer l'autorisation métier\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Valider les autorisations, la portée du locataire et la propriété de la cible.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">7\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">7. Choisir le transport local ou distant\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Adapter la topologie de déploiement au besoin réel.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">8\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">8. Épingler les attentes de protocole\u002FSDK\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Documenter la compatibilité 2026-07-28 par rapport aux versions antérieures.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">9\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">9. Ajouter des approbations pour les actions conséquentes\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Utiliser des contrôles de confirmation adaptés au risque.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">10\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">10. Concevoir des sorties structurées\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Renvoyer des résultats concis et exploitables par machine.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">11\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">11. Ajouter la traçabilité et la corrélation d'audit\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Relier les appels MCP aux événements de service\u002Fmétier en aval.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv class=\"editorjs-process__step min-w-0  rounded-xl border border-gray-200 dark:border-gray-700 p-4\">\u003Cdiv class=\"text-xs font-semibold text-gray-500 dark:text-gray-400\">12\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 font-semibold text-gray-900 dark:text-gray-100\">12. Tester la portabilité\u003C\u002Fdiv>\u003Cdiv class=\"mt-1 text-sm text-gray-600 dark:text-gray-300\">Vérifier plus d'un client lorsque l'interopérabilité est une exigence déclarée.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-136\">Liste de contrôle de l'architecture MCP\u003C\u002Fh2>\n\u003Cdiv class=\"overflow-x-auto\">\u003Ctable class=\"w-full border-collapse\">\u003Cthead>\u003Ctr>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Question\u003C\u002Fth>\u003Cth class=\"border border-gray-300 px-4 py-2 text-left font-semibold\">Réponse attendue\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Pourquoi MCP est-il nécessaire ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Une véritable frontière d'interopérabilité orientée IA\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Que expose le serveur ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Des outils\u002Fressources\u002Finvites explicites\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Où le modèle s'exécute-t-il ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Décision indépendante de l'hôte\u002Ffournisseur\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Où l'exécution des outils a-t-elle lieu ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Emplacement nommé du serveur\u002Fruntime\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Quelle révision du protocole est attendue ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Contrat sensible à la version\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Qui est le principal demandeur ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Modèle d'identité client\u002Futilisateur\u002Fagent\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Quels outils peuvent être découverts ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Politique de liste d'autorisation\u002Fcapacités\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Quelles opérations peuvent s'exécuter ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Autorisation métier côté serveur\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Comment la portée locataire\u002Fressource est-elle appliquée ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Vérifications fiables de propriété du locataire\u002Fressource\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Quelles actions nécessitent une approbation ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Politique de confirmation basée sur le risque\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Comment les identifiants sont-ils protégés ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Stockage d'exécution fiable, secrets non visibles par le modèle\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Comment la sortie est-elle limitée ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Contrat de résultat structuré et pertinent\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Comment les appels sont-ils tracés ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Corrélation via MCP jusqu'à l'action en aval\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Que se passe-t-il si MCP est indisponible ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Comportement de repli\u002Fdéfaillance défini\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Un autre hôte compatible peut-il l'utiliser ?\u003C\u002Ftd>\u003Ctd class=\"border border-gray-300 px-4 py-2\">Portabilité validée lorsque requis\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Ch2 id=\"section-138\">Cas limites et limitations\u003C\u002Fh2>\n\u003Cp>Un serveur MCP stdio local peut avoir une faible exposition réseau tout en restant dangereux si le processus lui-même dispose de permissions excessives sur le système de fichiers ou le shell.\u003C\u002Fp>\n\u003Cp>Un serveur MCP distant peut n'exposer que de la documentation publique ou des actions d'entreprise hautement sensibles. « MCP distant » dit peu de choses sur le risque sans le contexte de capacité et d'autorisation.\u003C\u002Fp>\n\u003Cp>Certains serveurs peuvent n'utiliser que des outils et ignorer les ressources\u002Finvites. La compatibilité MCP n'exige pas que chaque primitive optionnelle soit également importante.\u003C\u002Fp>\n\u003Cp>Un hôte peut traduire entre son propre modèle d'outil interne et MCP. Les utilisateurs peuvent ne jamais voir directement la frontière du protocole, ce qui est acceptable si la sécurité et l'attribution restent claires.\u003C\u002Fp>\n\u003Cp>MCP continue d'évoluer rapidement. Les extensions, les modèles d'autorisation, les API des SDK et les conventions de l'écosystème peuvent changer plus vite que la distinction architecturale fondamentale.\u003C\u002Fp>\n\u003Ch2 id=\"section-144\">Qu'est-ce qui changerait cette réponse ?\u003C\u002Fh2>\n\u003Cp>Les futures révisions de MCP peuvent modifier le cycle de vie, les transports, l'autorisation et les mécanismes d'extension. La révision de juillet 2026 démontre déjà pourquoi les affirmations spécifiques à une implémentation doivent être datées.\u003C\u002Fp>\n\u003Cp>La frontière canonique ne changerait que si MCP s'étendait d'un protocole d'interopérabilité à une norme d'architecture d'application\u002Fagent de bout en bout. Ce n'est pas ce que définit le protocole actuel.\u003C\u002Fp>\n\u003Cp>Pour le travail d'implémentation, consultez toujours la spécification actuelle et la ligne SDK exacte au lieu de copier des exemples sensibles à la version provenant d'anciens tutoriels.\u003C\u002Fp>\n\u003Ch2 id=\"section-148\">Connaissances canoniques associées\u003C\u002Fh2>\n\u003Cp>MCP se situe en aval de l'IA agentique : comprenez d'abord la frontière agent\u002Fruntime\u002Foutil, puis utilisez MCP lorsque des capacités externes nécessitent un contrat de protocole portable.\u003C\u002Fp>\n\u003Cp>MCP dépend également du RBAC et de l'isolation des locataires, car l'exposition des capacités au niveau du protocole ne détermine pas l'autorisation applicative.\u003C\u002Fp>\n\u003Cp>L'article plus large sur la pile de protocoles explique où MCP se situe aux côtés d'A2A, UCP, AP2 et A2UI. G02 reste la source canonique pour MCP lui-même.\u003C\u002Fp>\n\u003Caside class=\"editorjs-referral my-6\">\u003Ca href=\"https:\u002F\u002Fstajic.de\u002Ffr\u002Fblog\u002Fai-agent-reliability-why-the-final-answer-is-not-enough\" class=\"flex flex-col sm:flex-row gap-4 rounded-xl border border-gray-200 dark:border-gray-700 p-4 transition hover:border-primary-500\">\u003Cdiv class=\"min-w-0 flex-1\">\u003Cstrong class=\"block text-lg text-gray-900 dark:text-gray-100\">Fiabilité des agents IA : pourquoi la réponse finale ne suffit pas\u003C\u002Fstrong>\u003Cp class=\"mt-2 text-sm text-gray-600 dark:text-gray-300\">Les appels d'outils MCP font partie d'une trajectoire d'agent ; les systèmes fiables doivent évaluer les actions et les observations, pas seulement le texte final.\u003C\u002Fp>\u003Cspan class=\"mt-3 inline-flex text-sm font-medium text-primary-600 dark:text-primary-400\">Lire l'article sur la fiabilité des agents →\u003C\u002Fspan>\u003C\u002Fdiv>\u003C\u002Fa>\u003C\u002Faside>\n\u003Ch2 id=\"section-153\">Questions fréquentes\u003C\u002Fh2>\n\u003Csection class=\"editorjs-faq my-6 rounded-xl border border-gray-200 p-5 dark:border-gray-700\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">FAQ sur le Model Context Protocol\u003C\u002Fh3>\u003Cdiv id=\"faq1\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Qu&#39;est-ce que MCP ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Le Model Context Protocol est un protocole client-serveur ouvert permettant de connecter des applications d&#39;IA à des outils, ressources, invites et fournisseurs de capacités externes via un contrat standardisé.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq2\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Un serveur MCP a-t-il besoin d&#39;un modèle d&#39;IA ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Non. Un serveur MCP peut être un logiciel entièrement déterministe. Le modèle s&#39;exécute normalement dans l&#39;hôte d&#39;IA ou le runtime de l&#39;agent, bien qu&#39;un serveur puisse éventuellement utiliser l&#39;IA en interne.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq3\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Quelle est la différence entre un client et un serveur MCP ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Le client est le composant du protocole utilisé par un hôte d&#39;IA pour communiquer avec les fournisseurs de capacités. Le serveur publie et exécute les capacités qu&#39;il expose.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq4\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">MCP remplace-t-il l&#39;appel de fonctions ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Non. L&#39;appel de fonctions\u002Foutils est la manière dont un modèle invoque des capacités configurées. MCP standardise la découverte et la communication avec des serveurs de capacités externes. Un hôte peut faire le pont entre les deux.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq5\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">MCP remplace-t-il les API REST ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Non. Les serveurs MCP encapsulent souvent des API REST, GraphQL, de bases de données ou de services existantes et fournissent une couche d&#39;interopérabilité orientée IA.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq6\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">MCP est-il un framework d&#39;agent ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Non. MCP expose des capacités. La planification de l&#39;agent, l&#39;état, la mémoire, la gestion du contexte, les nouvelles tentatives, l&#39;orchestration et l&#39;arrêt appartiennent au runtime environnant.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq7\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Quelle est la différence entre MCP et A2A ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">MCP connecte principalement un hôte d&#39;IA ou un agent à des fournisseurs d&#39;outils et de données. A2A connecte des systèmes d&#39;agents indépendants pour la collaboration et la délégation.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq8\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">MCP gère-t-il l&#39;autorisation ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">MCP inclut des mécanismes d&#39;autorisation au niveau du protocole, en particulier pour les serveurs distants, mais l&#39;application doit toujours appliquer les permissions métier, la propriété des ressources et l&#39;isolation des locataires.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq9\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">MCP peut-il fonctionner avec des modèles locaux ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Oui. L&#39;emplacement du modèle est indépendant de MCP. Un hôte à modèle local peut appeler des serveurs MCP locaux ou distants, et un hôte à modèle cloud peut utiliser des serveurs MCP locaux ou distants approuvés via une architecture de connexion appropriée.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003Cdiv id=\"faq10\" class=\"border-t border-gray-200 py-4 first:border-t-0 dark:border-gray-700\">\u003Ch4 class=\"font-semibold text-gray-900 dark:text-gray-100\">Quelle est la version actuelle de la spécification MCP ?\u003C\u002Fh4>\u003Cdiv class=\"mt-2 text-gray-600 dark:text-gray-300\">Au 8 octobre 2026, la révision actuelle de la spécification est 2026-07-28. Les implémentations plus anciennes de l&#39;ère 2025 restent utilisées, la compatibilité doit donc être vérifiée.\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fsection>\n\u003Ch2 id=\"section-155\">Glossaire\u003C\u002Fh2>\n\u003Csection class=\"editorjs-glossary my-6 rounded-xl border border-gray-200 dark:border-gray-700 p-5\">\u003Ch3 class=\"mb-3 text-lg font-semibold\">Termes clés de MCP\u003C\u002Fh3>\u003Cdl>\u003Cdiv id=\"mcp\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">MCP\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Model Context Protocol, un protocole ouvert pour des connexions interopérables entre les hôtes\u002Fclients d'IA et les serveurs de capacités externes.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"mcp-host\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Hôte MCP\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">L'application ou le runtime d'IA qui gère l'interaction avec le modèle et utilise des clients MCP pour se connecter aux serveurs.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"mcp-client\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Client MCP\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Composant du protocole côté hôte qui communique avec un serveur MCP.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"mcp-server\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Serveur MCP\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Fournisseur de capacités qui implémente MCP et expose des outils, ressources, invites ou extensions prises en charge.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"mcp-tool\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Outil\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Capacité structurée appelable exposée par un serveur MCP.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"mcp-resource\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Ressource\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Données ou contenu lisibles exposés via les méthodes de ressources MCP.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"mcp-prompt\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Invite\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Modèle d'invite réutilisable exposé par un serveur MCP pour les hôtes compatibles.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"streamable-http\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Streamable HTTP\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Transport MCP orienté HTTP utilisé pour la communication avec des serveurs distants\u002Fen réseau.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"stdio\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">stdio\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Transport d'entrée\u002Fsortie standard de processus couramment utilisé pour les intégrations locales de serveurs MCP.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"server-discover\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">server\u002Fdiscover\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Méthode MCP moderne qui permet à un client d'inspecter les capacités du serveur à l'ère du protocole 2026-07-28.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"mrtr\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">MRTR\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Multi Round-Trip Requests, un mécanisme permettant d'obtenir des entrées supplémentaires pendant une requête à l'ère du protocole 2026-07-28.\u003C\u002Fdd>\u003C\u002Fdiv>\u003Cdiv id=\"mcp-extension\" class=\"border-t border-gray-200 dark:border-gray-700 py-3 first:border-t-0\">\u003Cdt class=\"font-semibold text-gray-900 dark:text-gray-100\">Extension MCP\u003C\u002Fdt>\u003Cdd class=\"mt-1 text-gray-600 dark:text-gray-300\">Capacité qui se compose avec le protocole de base et peut évoluer\u002Fêtre versionnée séparément, comme Tasks ou MCP Apps.\u003C\u002Fdd>\u003C\u002Fdiv>\u003C\u002Fdl>\u003C\u002Fsection>\n\u003Ch2 id=\"section-157\">Conclusion\u003C\u002Fh2>\n\u003Cp>MCP est plus facile à comprendre lorsque sa frontière reste étroite : il connecte les applications d'IA à des capacités externes via un protocole standard.\u003C\u002Fp>\n\u003Cp>Le modèle n'a pas besoin de résider sur le serveur MCP. Le serveur ne devient pas le runtime de l'agent. Un outil répertorié ne devient pas une action métier autorisée. Et MCP ne remplace pas l'API sous-jacente, la source de vérité, l'isolation des locataires ou l'architecture du domaine.\u003C\u002Fp>\n\u003Cp>Cette étroitesse est la force du protocole. MCP peut standardiser la manière dont les systèmes d'IA accèdent aux outils et aux données tout en laissant la propriété applicative, la sécurité, la sémantique métier et le choix du modèle aux couches qui en sont réellement responsables.\u003C\u002Fp>\n\u003Ch2 id=\"section-161\">Sources primaires et documentation actuelle\u003C\u002Fh2>\n\u003Cp>MCP évolue rapidement, donc les affirmations sensibles à la version dans cet article sont liées à l'état du 8 octobre 2026. La section Aaasaasa AI Client est une preuve d'implémentation originale et est explicitement limitée au périmètre vérifié du connecteur MCP et du courtier de permissions.\u003C\u002Fp>\n\u003Ca href=\"https:\u002F\u002Fts.sdk.modelcontextprotocol.io\u002Fv2\u002F\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">Model Context Protocol — SDK TypeScript v2\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Documentation actuelle du SDK TypeScript stable implémentant la spécification MCP 2026-07-28 et les primitives serveur\u002Fclient.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fblog.modelcontextprotocol.io\u002Fposts\u002F2026-07-28\u002F\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">Model Context Protocol — Publication de la spécification 2026-07-28\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Explication officielle de la publication de la révision actuelle du protocole MCP, incluant le noyau sans état, MRTR, le routage, la mise en cache, le renforcement de l&#39;autorisation, les extensions et les dépréciations.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fts.sdk.modelcontextprotocol.io\u002Fv2\u002Fmigration\u002Fsupport-2026-07-28\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">SDK TypeScript MCP — Prise en charge de la révision du protocole 2026-07-28\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Conseils d&#39;implémentation spécifiques à la version pour la révision actuelle du protocole et la compatibilité avec les versions antérieures.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Ftools-connectors-mcp\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">OpenAI — Serveurs MCP\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Conseils actuels d&#39;OpenAI pour connecter des modèles à des serveurs MCP distants et à des serveurs MCP locaux\u002Fprivés via Secure MCP Tunnel.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents-api\u002Ftools\u002Fmcp\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">OpenAI — Connexions MCP pour l&#39;API Agents\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Conseils actuels sur les connexions MCP couvrant les emplacements de service, d&#39;environnement et stdio, ainsi que les contrôles des outils autorisés.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Ftools\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">OpenAI — Outils\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Aperçu actuel plaçant les serveurs MCP distants aux côtés de l&#39;appel de fonctions, de la recherche web, du shell et d&#39;autres outils de modèle.\u003C\u002Fp>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fdevelopers.openai.com\u002Fplugins\u002Fconcepts\u002Fmcp-server\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"editorjs-link-tool block border border-gray-200 dark:border-gray-700 rounded-lg p-4 transition text-gray-900 dark:text-gray-100 hover:border-primary-500 hover:bg-primary-50 dark:hover:bg-gray-900 hover:text-gray-900 dark:hover:text-gray-100\">\u003Cstrong class=\"block font-semibold\">OpenAI — Concept de serveur MCP\u003C\u002Fstrong>\u003Cp class=\"text-sm text-gray-600 dark:text-gray-400\">Description actuelle des serveurs MCP exposant des outils, des ressources et des invites pour des intégrations de services externes.\u003C\u002Fp>\u003C\u002Fa>",{"time":212,"blocks":213,"version":1609},1791486890332,[214,220,228,235,242,249,257,262,267,272,277,282,287,292,297,326,331,336,341,346,351,378,383,388,393,427,432,437,442,447,452,457,462,467,472,477,482,487,492,517,522,527,532,537,543,548,553,558,563,568,597,602,607,612,617,622,627,632,637,642,651,656,661,666,671,676,693,698,703,708,740,745,750,755,760,765,770,775,780,785,790,795,800,805,810,815,820,826,831,836,841,846,851,856,861,866,871,876,881,886,891,896,901,906,911,940,945,950,955,960,965,970,975,980,985,1023,1028,1034,1039,1044,1049,1054,1080,1086,1091,1114,1119,1124,1129,1134,1139,1183,1188,1232,1237,1279,1284,1336,1341,1346,1351,1356,1361,1366,1371,1376,1381,1386,1391,1396,1401,1406,1414,1419,1465,1470,1515,1520,1525,1530,1535,1540,1545,1555,1564,1573,1582,1591,1600],{"id":215,"data":216,"type":218,"tunes":219},"intro",{"text":217},"Le Model Context Protocol (MCP) est un protocole ouvert permettant de connecter des applications d'IA à des capacités et des informations externes via des contrats client-serveur standardisés. Un serveur MCP peut exposer des outils, des ressources et des invites ; un hôte ou client compatible MCP découvre et utilise ces capacités pour le compte d'une application d'IA. MCP n'exige pas que le serveur exécute son propre modèle de langage, et il ne remplace pas le runtime de l'agent, l'autorisation métier, l'isolation des locataires, les API applicatives ou l'architecture métier derrière les capacités exposées.","paragraph",{},{"id":221,"data":222,"type":226,"tunes":227},"direct",{"body":223,"title":224,"variant":225},"\u003Cstrong>MCP standardise la frontière entre un hôte d'IA et les fournisseurs de capacités externes.\u003C\u002Fstrong>\u003Cbr>\u003Cbr>Un modèle mental utile est :\u003Cbr>\u003Cstrong>Utilisateur → hôte d'IA \u002F runtime d'agent → client MCP → serveur MCP → application\u002FAPI\u002Fdonnées\u002Foutil\u003C\u002Fstrong>.\u003Cbr>\u003Cbr>Le modèle peut rester entièrement du côté de l'hôte. Le serveur MCP peut être un logiciel déterministe ordinaire qui expose des capacités structurées.","Réponse directe","info","callout",{},{"id":229,"data":230,"type":226,"tunes":234},"server-no-ai",{"body":231,"title":232,"variant":233},"Un serveur MCP de système de fichiers peut lister ou lire des fichiers. Un serveur MCP de base de données peut exécuter des requêtes approuvées. Un serveur MCP Jira peut exposer des opérations sur les tickets. Aucun de ces serveurs n'a besoin d'un LLM pour satisfaire le contrat MCP. Si un serveur utilise l'IA en interne, c'est un choix d'implémentation derrière la frontière du protocole, et non une exigence de MCP.","Un serveur MCP n'a pas besoin de son propre modèle d'IA","success",{},{"id":236,"data":237,"type":226,"tunes":241},"boundary",{"body":238,"title":239,"variant":240},"Si un serveur MCP expose \u003Ccode>delete_file\u003C\u002Fcode>, \u003Ccode>refund_order\u003C\u002Fcode> ou \u003Ccode>deploy_service\u003C\u002Fcode>, cela signifie seulement que la capacité existe. Le serveur\u002Fl'application doit toujours appliquer l'identité, les permissions, le périmètre du locataire, les règles métier, les exigences de confirmation et les contrôles d'audit. La découverte du protocole ne doit jamais devenir silencieusement une autorisation.","La capacité MCP n'est pas l'autorité métier","warning",{},{"id":243,"data":244,"type":226,"tunes":248},"current",{"body":245,"title":246,"variant":247},"La révision actuelle de la spécification MCP est \u003Cstrong>2026-07-28\u003C\u002Fstrong>. Son changement majeur est un cœur de protocole sans état avec des requêtes auto-descriptives, un \u003Ccode>server\u002Fdiscover\u003C\u002Fcode> optionnel, des en-têtes HTTP routables, des réponses de liste\u002Fressource mises en cache, un renforcement de l'autorisation et un modèle d'extension formel. Le SDK TypeScript v2 est la ligne de SDK stable actuelle implémentant cette révision. Les clients et serveurs plus anciens de l'ère 2025 existent encore, donc les conseils d'implémentation doivent rester conscients des versions.","Note sur la source actuelle — 8 octobre 2026","note",{},{"id":250,"data":251,"type":255,"tunes":256},"toc",{"title":252,"maxLevel":253,"minLevel":254},"Sommaire",3,2,"tableOfContents",{},{"id":258,"data":259,"type":42,"tunes":261},"h-meaning",{"text":260,"level":254},"Ce que MCP standardise réellement",{},{"id":263,"data":264,"type":218,"tunes":266},"p-meaning-1",{"text":265},"Avant MCP, chaque application d'IA pouvait intégrer des systèmes externes via son propre schéma d'outil, format de plugin, convention d'authentification et code de connexion. Le même service pouvait nécessiter différents adaptateurs pour un client d'IA de bureau, un agent IDE et une application personnalisée.",{},{"id":268,"data":269,"type":218,"tunes":271},"p-meaning-2",{"text":270},"MCP crée une frontière de protocole réutilisable. Le système externe expose des capacités via un serveur MCP, tandis que les hôtes d'IA compatibles implémentent un client MCP. Cela réduit le couplage d'intégration entre l'application d'IA et le fournisseur d'outil ou de données sous-jacent.",{},{"id":273,"data":274,"type":218,"tunes":276},"p-meaning-3",{"text":275},"Le protocole ne standardise pas l'application entière. Il standardise la manière dont les capacités sont décrites, découvertes et invoquées à travers cette frontière.",{},{"id":278,"data":279,"type":42,"tunes":281},"h-simple",{"text":280,"level":254},"L'exemple le plus simple",{},{"id":283,"data":284,"type":218,"tunes":286},"p-simple-1",{"text":285},"Supposons qu'une application de codage d'IA ait besoin d'accéder à un répertoire de projet local. Sans MCP, l'application pourrait implémenter directement sa propre intégration de système de fichiers.",{},{"id":288,"data":289,"type":218,"tunes":291},"p-simple-2",{"text":290},"Avec MCP, un serveur de système de fichiers peut exposer des capacités telles que lister des répertoires, lire des fichiers approuvés ou écrire dans un espace de travail autorisé. L'hôte d'IA se connecte via un client MCP et présente ces capacités au modèle ou au runtime de l'agent.",{},{"id":293,"data":294,"type":218,"tunes":296},"p-simple-3",{"text":295},"Le serveur n'a pas besoin de comprendre la demande en langage naturel de l'utilisateur. L'hôte\u002Fle modèle décide quelle capacité est utile ; le serveur MCP exécute la requête structurée selon ses propres règles de sécurité.",{},{"id":298,"data":299,"type":324,"tunes":325},"simple-flow",{"steps":300,"title":322,"orientation":323},[301,304,307,310,313,316,319],{"label":302,"description":303},"1. L'hôte se connecte au serveur","L'application compatible MCP configure l'accès au serveur MCP externe.",{"label":305,"description":306},"2. Les capacités sont découvertes","Le client apprend quels outils, ressources ou invites le serveur expose.",{"label":308,"description":309},"3. Le modèle ou le runtime sélectionne une capacité","L'application d'IA décide qu'une capacité exposée est nécessaire.",{"label":311,"description":312},"4. Le client envoie une requête structurée","Les arguments sont envoyés via MCP au serveur.",{"label":314,"description":315},"5. Le serveur autorise et exécute","Le serveur valide la requête et appelle son système sous-jacent.",{"label":317,"description":318},"6. Le résultat revient à l'hôte","Le résultat devient une observation ou une entrée de contexte.",{"label":320,"description":321},"7. L'hôte décide de la suite","Le modèle\u002Fruntime peut répondre, appeler un autre outil ou poursuivre un flux de travail.","Un appel d'outil MCP de base","auto","processFlow",{},{"id":327,"data":328,"type":42,"tunes":330},"h-stops",{"text":329,"level":254},"Où l'exemple simple s'arrête",{},{"id":332,"data":333,"type":218,"tunes":335},"p-stops-1",{"text":334},"MCP ne définit pas comment l'hôte choisit un outil, comment un agent planifie, comment un flux de travail métier est modélisé ou comment un objet métier tel qu'une facture ou un déploiement doit se comporter.",{},{"id":337,"data":338,"type":218,"tunes":340},"p-stops-2",{"text":339},"Un protocole peut rendre l'intégration interopérable alors que l'application sous-jacente reste incorrecte, non sécurisée ou mal conçue. Une requête MCP parfaitement valide peut toujours appeler la mauvaise capacité métier.",{},{"id":342,"data":343,"type":218,"tunes":345},"p-stops-3",{"text":344},"La frontière centrale est la suivante : MCP normalise la sémantique d'intégration, pas la vérité applicative ni la justesse métier.",{},{"id":347,"data":348,"type":42,"tunes":350},"h-architecture",{"text":349,"level":254},"L'architecture MCP : hôte, client et serveur",{},{"id":352,"data":353,"type":376,"tunes":377},"architecture-table",{"content":354,"stretched":43,"withHeadings":14},[355,358,361,364,367,370,373],[356,357],"Composant","Responsabilité",[359,360],"Hôte IA","Application ou environnement d'exécution IA orienté utilisateur qui détient l'interaction avec le modèle, le contexte et le flux de travail global",[362,363],"Client MCP","Composant côté protocole utilisé par l'hôte pour communiquer avec un serveur MCP",[365,366],"Serveur MCP","Publie des capacités et traite les requêtes MCP",[368,369],"Système sous-jacent","Application, API, base de données, système de fichiers, plateforme SaaS ou service derrière le serveur MCP",[371,372],"Modèle","Choisit ou raisonne sur les capacités selon la conception de l'hôte ou de l'environnement d'exécution ; il n'est pas nécessairement à l'intérieur du serveur MCP",[374,375],"Autorisation\u002Fpolitique métier","Détermine si une opération demandée est réellement autorisée","table",{},{"id":379,"data":380,"type":218,"tunes":382},"p-architecture-1",{"text":381},"Un hôte peut se connecter à plusieurs serveurs MCP, et un serveur MCP peut être en façade d'un ou de plusieurs systèmes sous-jacents. L'hôte reste responsable de l'intégration des résultats MCP dans l'application IA globale.",{},{"id":384,"data":385,"type":218,"tunes":387},"p-architecture-2",{"text":386},"Le serveur peut être local à l'hôte, s'exécuter comme un processus séparé ou être distant via un transport réseau. La topologie d'hébergement et l'emplacement du modèle sont des décisions indépendantes.",{},{"id":389,"data":390,"type":42,"tunes":392},"h-primitives",{"text":391,"level":254},"Les trois primitives serveur fondamentales",{},{"id":394,"data":395,"type":425,"tunes":426},"primitives-comparison",{"rows":396,"title":414,"layout":376,"columns":415},[397,402,406,410],{"id":398,"label":399,"values":400},"purpose","Objectif principal",[401,401,401],"",{"id":403,"label":404,"values":405},"interaction","Interaction typique",[401,401,401],{"id":407,"label":408,"values":409},"example","Exemple",[401,401,401],{"id":411,"label":412,"values":413},"risk","Risque typique",[401,401,401],"Les outils, ressources et invites répondent à des besoins différents",[416,419,422],{"id":417,"label":418},"tools","Outils",{"id":420,"label":421},"resources","Ressources",{"id":423,"label":424},"prompts","Invites","comparison",{},{"id":428,"data":429,"type":42,"tunes":431},"h-tools",{"text":430,"level":254},"Outils : capacités appelables",{},{"id":433,"data":434,"type":218,"tunes":436},"p-tools-1",{"text":435},"Les outils sont des opérations structurées qu'un serveur MCP met à la disposition de l'hôte. Un outil possède un nom, une description et un schéma d'entrée ; les implémentations modernes peuvent également fournir une sortie structurée.",{},{"id":438,"data":439,"type":218,"tunes":441},"p-tools-2",{"text":440},"Les exemples incluent la recherche dans un dépôt, la lecture d'une fiche client, la création d'un ticket, l'exécution d'une compilation ou l'envoi d'un message. Les outils peuvent être en lecture seule ou avoir des effets de bord.",{},{"id":443,"data":444,"type":218,"tunes":446},"p-tools-3",{"text":445},"Une bonne surface d'outils MCP devrait représenter des objectifs cohérents d'utilisateur ou d'agent plutôt que de refléter mécaniquement chaque point de terminaison d'API interne. Les opérations ayant des permissions, des exigences de confirmation ou un rayon d'impact différents devraient généralement être des outils distincts.",{},{"id":448,"data":449,"type":42,"tunes":451},"h-resources",{"text":450,"level":254},"Ressources : contexte et données lisibles",{},{"id":453,"data":454,"type":218,"tunes":456},"p-res-1",{"text":455},"Les ressources exposent des données ou du contenu qu'un client peut lister ou lire. Elles conviennent naturellement lorsque l'opération sémantique est « donne-moi cet artefact ou cette information » plutôt que « effectue cette action ».",{},{"id":458,"data":459,"type":218,"tunes":461},"p-res-2",{"text":460},"Un URI de ressource n'est pas une autorisation d'accès. Le serveur reste maître du contrôle d'accès et doit vérifier quel principal peut lire l'objet sous-jacent.",{},{"id":463,"data":464,"type":218,"tunes":466},"p-res-3",{"text":465},"La révision du protocole du 2026-07-28 ajoute une sémantique de cache pour les réponses de liste et de lecture de ressources, y compris la fraîcheur et la portée du cache, rendant le comportement de mise en cache plus explicite.",{},{"id":468,"data":469,"type":42,"tunes":471},"h-prompts",{"text":470,"level":254},"Invites : modèles réutilisables",{},{"id":473,"data":474,"type":218,"tunes":476},"p-prompts-1",{"text":475},"Les invites MCP permettent à un serveur de publier des modèles d'invite réutilisables vers des clients compatibles. Cela peut maintenir les instructions spécifiques au domaine proches du fournisseur de capacités.",{},{"id":478,"data":479,"type":218,"tunes":481},"p-prompts-2",{"text":480},"Une invite fournie par un serveur MCP n'a pas automatiquement priorité sur les instructions système ou de sécurité de l'hôte. L'hôte décide comment le matériel d'invite entre dans sa hiérarchie de contexte.",{},{"id":483,"data":484,"type":218,"tunes":486},"p-prompts-3",{"text":485},"Le contenu des invites fourni par le protocole doit donc être traité comme des données de capacité avec une sémantique de confiance explicite, et non comme une autorité d'instruction illimitée.",{},{"id":488,"data":489,"type":42,"tunes":491},"h-tool-vs-resource",{"text":490,"level":254},"Outil ou ressource ?",{},{"id":493,"data":494,"type":376,"tunes":516},"tool-resource-table",{"content":495,"stretched":43,"withHeadings":14},[496,499,502,505,508,510,513],[497,498],"Besoin","Préférer",[500,501],"Effectuer une action avec des arguments structurés","Outil",[503,504],"Lire un artefact stable spécifique","Ressource",[506,507],"Rechercher ou calculer dynamiquement","Généralement un outil",[509,501],"Modifier l'état externe",[511,512],"Empaqueter des instructions d'invite réutilisables","Invite",[514,515],"Exécution asynchrone de longue durée","Outil plus gestion des tâches d'application\u002Fexécution ou une extension MCP",{},{"id":518,"data":519,"type":42,"tunes":521},"h-model-location",{"text":520,"level":254},"Où se trouve le modèle d'IA ?",{},{"id":523,"data":524,"type":218,"tunes":526},"p-location-1",{"text":525},"MCP n'exige pas que le modèle s'exécute sur le serveur MCP. Le modèle peut être hébergé dans le cloud, hébergé localement, intégré à l'application de bureau ou atteint via un autre fournisseur.",{},{"id":528,"data":529,"type":218,"tunes":531},"p-location-2",{"text":530},"L'hôte possède normalement l'interaction avec le modèle. Le serveur MCP expose une capacité externe. Un serveur MCP local peut donc être utilisé par un hôte dont le modèle s'exécute dans le cloud, et un serveur MCP distant peut être utilisé par un hôte dont le modèle s'exécute localement.",{},{"id":533,"data":534,"type":218,"tunes":536},"p-location-3",{"text":535},"Si le serveur MCP lui-même appelle un LLM en interne, ce modèle fait partie de l'implémentation du serveur derrière la frontière du protocole ; il n'est pas requis par MCP.",{},{"id":538,"data":539,"type":226,"tunes":542},"location-rule",{"body":540,"title":541,"variant":233},"\u003Cstrong>MCP local n'implique pas une inférence locale, et MCP distant n'implique pas une inférence distante.\u003C\u002Fstrong> L'emplacement de la connexion, l'emplacement d'exécution des outils et l'emplacement du modèle\u002Ffournisseur sont des dimensions d'architecture distinctes.","Emplacement du protocole ≠ emplacement de l'inférence",{},{"id":544,"data":545,"type":42,"tunes":547},"h-mcp-vs-api",{"text":546,"level":254},"MCP ne remplace pas les API",{},{"id":549,"data":550,"type":218,"tunes":552},"p-api-1",{"text":551},"Un serveur MCP encapsule souvent des API ou services existants. REST, GraphQL, SQL, les appels SDK et les contrats de service internes peuvent rester exactement là où ils sont.",{},{"id":554,"data":555,"type":218,"tunes":557},"p-api-2",{"text":556},"MCP ajoute une couche d'interopérabilité orientée IA. L'API de domaine sous-jacente peut rester le contrat applicatif faisant autorité pour les clients déterministes ordinaires.",{},{"id":559,"data":560,"type":218,"tunes":562},"p-api-3",{"text":561},"L'architecture habituelle est donc d'abord l'API\u002Fservice, puis la capacité orientée IA sélectionnée — et non « remplacer chaque API par MCP ».",{},{"id":564,"data":565,"type":42,"tunes":567},"h-function-calling",{"text":566,"level":254},"MCP vs appel de fonction",{},{"id":569,"data":570,"type":425,"tunes":596},"function-comparison",{"rows":571,"title":588,"layout":376,"columns":589},[572,576,580,584],{"id":573,"label":574,"values":575},"scope","Portée",[401,401],{"id":577,"label":578,"values":579},"definition","Définition de l'outil",[401,401],{"id":581,"label":582,"values":583},"portability","Portabilité",[401,401],{"id":585,"label":586,"values":587},"coexist","Peuvent-ils coexister ?",[401,401],"L'appel de fonction et MCP sont liés mais non identiques",[590,593],{"id":591,"label":592},"function","Appel de fonction",{"id":594,"label":595},"mcp","MCP",{},{"id":598,"data":599,"type":218,"tunes":601},"p-function-1",{"text":600},"OpenAI expose actuellement les serveurs MCP distants comme un type d'outil aux côtés de l'appel de fonction ordinaire, de la recherche web, du shell et d'autres outils. Cette implémentation illustre la relation architecturale : la connectivité MCP et l'interface d'appel d'outil propre au modèle peuvent être composées.",{},{"id":603,"data":604,"type":42,"tunes":606},"h-agent",{"text":605,"level":254},"MCP ne crée pas la boucle de l'agent",{},{"id":608,"data":609,"type":218,"tunes":611},"p-agent-1",{"text":610},"Un agent IA a besoin d'un environnement d'exécution capable de décider, d'invoquer des outils, d'observer les résultats, de mettre à jour l'état et de continuer ou de s'arrêter. MCP peut fournir certains des outils et données utilisés par cette boucle.",{},{"id":613,"data":614,"type":218,"tunes":616},"p-agent-2",{"text":615},"Le serveur MCP ne devient pas automatiquement le planificateur, le système de mémoire ou l'orchestrateur. Ces responsabilités restent normalement dans l'hôte ou l'environnement d'exécution de l'agent.",{},{"id":618,"data":619,"type":218,"tunes":621},"p-agent-3",{"text":620},"Une application non agentique peut également utiliser MCP. Un appel d'outil MCP déterministe ne nécessite pas un agent autonome multi-étapes.",{},{"id":623,"data":624,"type":42,"tunes":626},"h-a2a",{"text":625,"level":254},"MCP vs A2A",{},{"id":628,"data":629,"type":218,"tunes":631},"p-a2a-1",{"text":630},"MCP connecte principalement un hôte ou un agent IA à des capacités telles que des outils, des ressources et des données. A2A cible la collaboration entre systèmes d'agents indépendants.",{},{"id":633,"data":634,"type":218,"tunes":636},"p-a2a-2",{"text":635},"Un agent distant peut utiliser MCP en interne pour accéder à des bases de données et des outils tout en exposant une interface A2A à d'autres agents. Les protocoles peuvent donc être superposés plutôt que substitués.",{},{"id":638,"data":639,"type":218,"tunes":641},"p-a2a-3",{"text":640},"L'article existant sur la pile de protocoles couvre la comparaison plus large MCP\u002FA2A\u002FUCP\u002FAP2\u002FA2UI ; G02 reste la définition canonique de MCP.",{},{"id":643,"data":644,"type":649,"tunes":650},"ref-protocol-stack",{"url":645,"title":646,"excerpt":647,"ctaLabel":648},"https:\u002F\u002Fstajic.de\u002Fde\u002Fblog\u002Fmcp-vs-a2a-vs-ucp-vs-ap2-vs-a2ui-the-agent-protocol-stack-explained","MCP vs A2A vs UCP vs AP2 vs A2UI : la pile de protocoles d'agents expliquée","Une carte des responsabilités plus large montrant comment MCP se compose avec la collaboration entre agents, le commerce, l'autorité de paiement et les protocoles d'interface pilotés par agents.","Lire la pile de protocoles","referralArticle",{},{"id":652,"data":653,"type":42,"tunes":655},"h-transport",{"text":654,"level":254},"L'utilisation locale et distante de MCP repose sur des réalités de transport différentes",{},{"id":657,"data":658,"type":218,"tunes":660},"p-transport-1",{"text":659},"MCP peut se connecter à des serveurs locaux et distants. Les intégrations de bureau locales utilisent couramment des transports au niveau du processus tels que stdio ; les serveurs distants utilisent un transport orienté HTTP.",{},{"id":662,"data":663,"type":218,"tunes":665},"p-transport-2",{"text":664},"La révision du 2026-07-28 rend le cœur du protocole sans état. Les requêtes transportent les informations nécessaires au traitement du protocole au lieu de dépendre du modèle de session antérieur au niveau du protocole.",{},{"id":667,"data":668,"type":218,"tunes":670},"p-transport-3",{"text":669},"La révision actuelle place également les noms de méthodes et de capacités dans les en-têtes HTTP afin que les passerelles, les WAF, les limiteurs de débit et les répartiteurs de charge puissent router et mesurer le trafic MCP plus naturellement.",{},{"id":672,"data":673,"type":42,"tunes":675},"h-version",{"text":674,"level":254},"Pourquoi la connaissance des versions de MCP est importante",{},{"id":677,"data":678,"type":376,"tunes":692},"version-table",{"content":679,"stretched":43,"withHeadings":14},[680,683,686,689],[681,682],"Ère du protocole","Caractéristique opérationnelle",[684,685],"2025-11-25 et antérieur","Cycle de vie orienté handshake\u002Fsession et comportement Streamable HTTP plus ancien",[687,688],"2026-07-28","Cœur sans état, découverte facultative du serveur, requêtes auto-descriptives, en-têtes de routage, indications de cache, MRTR et renforcement de l'autorisation",[690,691],"Extensions","Des capacités telles que Tasks et MCP Apps peuvent être versionnées séparément du protocole de base",{},{"id":694,"data":695,"type":218,"tunes":697},"p-version-1",{"text":696},"La version du SDK et la version du protocole sont également deux choses différentes. Le SDK TypeScript v2 actuel est la ligne stable pour la révision du 2026-07-28, tandis que l'ancien v1.x reste une ligne de maintenance pour le comportement de l'ère 2025.",{},{"id":699,"data":700,"type":218,"tunes":702},"p-version-2",{"text":701},"La documentation d'architecture doit enregistrer à la fois la version du SDK\u002Fde la bibliothèque et la révision du protocole lorsque le comportement d'interopérabilité en dépend.",{},{"id":704,"data":705,"type":42,"tunes":707},"h-modern",{"text":706,"level":254},"Ce qui a changé dans MCP 2026-07-28",{},{"id":709,"data":710,"type":376,"tunes":739},"modern-table",{"content":711,"stretched":43,"withHeadings":14},[712,715,718,721,724,727,730,733,736],[713,714],"Changement","Pourquoi c'est important",[716,717],"Cœur sans état","Les serveurs distants peuvent évoluer derrière des répartiteurs de charge ordinaires sans sessions persistantes au niveau du protocole",[719,720],"server\u002Fdiscover","Les clients peuvent inspecter les capacités du serveur lorsque nécessaire",[722,723],"Requêtes auto-descriptives","La version du protocole et les métadonnées de capacités du client voyagent à chaque requête",[725,726],"En-têtes Mcp-Method \u002F Mcp-Name","Les passerelles peuvent router, mesurer et appliquer des politiques sans analyser les corps",[728,729],"Indications de cache","Les listes\u002Flectures de ressources communiquent la fraîcheur et la portée de partage",[731,732],"Requêtes multi-tours","Les serveurs peuvent exiger des entrées supplémentaires sans l'ancien modèle de requête bidirectionnel",[734,735],"Renforcement de l'autorisation","La validation de l'émetteur et la liaison des identifiants renforcent le comportement d'authentification à distance",[737,738],"Cadre d'extensions","Tasks, MCP Apps et d'autres capacités peuvent évoluer séparément",{},{"id":741,"data":742,"type":42,"tunes":744},"h-deprecations",{"text":743,"level":254},"Roots, sampling et logging ne sont plus la direction pour les nouvelles implémentations",{},{"id":746,"data":747,"type":218,"tunes":749},"p-dep-1",{"text":748},"La version 2026-07-28 marque roots, sampling et logging comme des capacités de protocole obsolètes avec une fenêtre de compatibilité définie.",{},{"id":751,"data":752,"type":218,"tunes":754},"p-dep-2",{"text":753},"Les anciens tutoriels peuvent encore présenter ces fonctionnalités comme des primitives centrales. Les nouveaux travaux d'implémentation devraient suivre la spécification actuelle plutôt que de copier aveuglément d'anciens diagrammes de cycle de vie.",{},{"id":756,"data":757,"type":218,"tunes":759},"p-dep-3",{"text":758},"La dépréciation ne signifie pas un retrait immédiat. Elle signifie que les nouveaux systèmes devraient éviter les nouvelles dépendances inutiles envers des capacités dont le protocole s'éloigne.",{},{"id":761,"data":762,"type":42,"tunes":764},"h-tasks",{"text":763,"level":254},"Le travail de longue durée n'est pas la même chose qu'une invocation ordinaire d'outil MCP",{},{"id":766,"data":767,"type":218,"tunes":769},"p-task-1",{"text":768},"Les opérations de longue durée nécessitent une sémantique de cycle de vie au-delà d'un simple résultat d'outil immédiat. Dans l'écosystème actuel, les Tasks ont été déplacées vers une extension MCP dédiée.",{},{"id":771,"data":772,"type":218,"tunes":774},"p-task-2",{"text":773},"Cela renforce un principe de conception utile : le protocole de base n'a pas besoin d'absorber toutes les préoccupations d'exécution des agents.",{},{"id":776,"data":777,"type":218,"tunes":779},"p-task-3",{"text":778},"Une application peut également conserver entièrement la propriété des flux de travail de longue durée dans son propre environnement d'exécution et utiliser les outils MCP ordinaires comme opérations sous-jacentes.",{},{"id":781,"data":782,"type":42,"tunes":784},"h-apps",{"text":783,"level":254},"Les MCP Apps étendent les capacités d'interface utilisateur sans redéfinir le protocole de base",{},{"id":786,"data":787,"type":218,"tunes":789},"p-apps-1",{"text":788},"Les MCP Apps associent des expériences d'interface utilisateur interactives plus riches aux outils MCP via le modèle d'extension.",{},{"id":791,"data":792,"type":218,"tunes":794},"p-apps-2",{"text":793},"L'hôte contrôle toujours la manière dont cette interface utilisateur est intégrée, isolée et sécurisée.",{},{"id":796,"data":797,"type":218,"tunes":799},"p-apps-3",{"text":798},"L'échange de capacités de base et le rendu de l'interface utilisateur devraient donc rester des responsabilités architecturales distinctes.",{},{"id":801,"data":802,"type":42,"tunes":804},"h-auth",{"text":803,"level":254},"L'autorisation MCP n'est pas votre modèle d'autorisation complet",{},{"id":806,"data":807,"type":218,"tunes":809},"p-auth-1",{"text":808},"Le MCP distant nécessite des mécanismes d'authentification et d'autorisation au niveau du protocole afin que les clients et les serveurs puissent établir un accès de confiance. La spécification actuelle continue de renforcer le comportement lié à OAuth\u002FOIDC.",{},{"id":811,"data":812,"type":218,"tunes":814},"p-auth-2",{"text":813},"Cette couche répond à la question de savoir si un client est autorisé à se connecter ou à demander des portées de protocole. Elle ne répond pas automatiquement à la question de savoir si Alice peut rembourser la commande 123, si un agent peut écrire la configuration de production ou si le Locataire A peut lire les données du Locataire B.",{},{"id":816,"data":817,"type":218,"tunes":819},"p-auth-3",{"text":818},"Ces décisions de domaine appartiennent au modèle d'autorisation du serveur\u002Fde l'application et doivent être appliquées avant d'invoquer l'opération sous-jacente.",{},{"id":821,"data":822,"type":226,"tunes":825},"auth-rule",{"body":823,"title":824,"variant":240},"La confiance de connexion, la visibilité des outils, l'autorisation des outils, l'autorisation de l'utilisateur, l'isolation des locataires et l'approbation métier sont des contrôles différents. Gardez-les séparés.","Ne jamais associer « client MCP authentifié » à « approuvé pour tous les outils »",{},{"id":827,"data":828,"type":42,"tunes":830},"h-identity",{"text":829,"level":254},"L'identité peut franchir plusieurs frontières",{},{"id":832,"data":833,"type":218,"tunes":835},"p-id-1",{"text":834},"Une requête MCP peut impliquer l'application cliente MCP, l'humain connecté, une identité d'agent\u002Fsession et un compte de service en aval.",{},{"id":837,"data":838,"type":218,"tunes":840},"p-id-2",{"text":839},"Le serveur a besoin d'une politique explicite pour déterminer au nom de quel principal l'opération est effectuée. Sinon, un identifiant de service puissant peut devenir un chemin de député confus.",{},{"id":842,"data":843,"type":218,"tunes":845},"p-id-3",{"text":844},"Pour un usage en entreprise, la corrélation entre l'identité de l'utilisateur, l'identité de l'agent, la connexion MCP et l'autorisation en aval est aussi importante que la compatibilité des protocoles.",{},{"id":847,"data":848,"type":42,"tunes":850},"h-tenant",{"text":849,"level":254},"L'isolation des locataires reste en dehors de la découverte des capacités MCP",{},{"id":852,"data":853,"type":218,"tunes":855},"p-tenant-1",{"text":854},"Un serveur MCP multi-locataires doit appliquer la portée du locataire lorsqu'il lit ou modifie des ressources appartenant à un locataire. Le retour d'un outil nommé search_documents ne définit pas à quel locataire appartiennent les documents éligibles.",{},{"id":857,"data":858,"type":218,"tunes":860},"p-tenant-2",{"text":859},"La portée du locataire doit être dérivée d'une identité ou d'une appartenance de confiance et propagée dans les bases de données, les caches, la recherche vectorielle, le stockage d'objets et les API en aval.",{},{"id":862,"data":863,"type":218,"tunes":865},"p-tenant-3",{"text":864},"Récupérer du contenu inter-locataires et demander au modèle de ne pas l'utiliser constitue déjà une défaillance d'isolation.",{},{"id":867,"data":868,"type":42,"tunes":870},"h-source",{"text":869,"level":254},"MCP ne définit pas la source de vérité",{},{"id":872,"data":873,"type":218,"tunes":875},"p-source-1",{"text":874},"Un serveur MCP peut exposer une base de données, un référentiel de documents, un service de recherche web ou un résumé généré par IA. Le protocole ne déclare pas quelle source fait autorité pour une affirmation.",{},{"id":877,"data":878,"type":218,"tunes":880},"p-source-2",{"text":879},"Les règles de source de vérité relèvent de l'architecture applicative ou métier. L'hôte ou le serveur peut encoder l'autorité via la conception des outils, les métadonnées, la politique d'accès ou la validation, mais MCP lui-même ne rend pas une capacité « vraie ».",{},{"id":882,"data":883,"type":218,"tunes":885},"p-source-3",{"text":884},"Un outil peut donc être parfaitement appelable via MCP et néanmoins renvoyer des informations obsolètes, secondaires ou non faisant autorité.",{},{"id":887,"data":888,"type":42,"tunes":890},"h-context",{"text":889,"level":254},"MCP et ingénierie du contexte",{},{"id":892,"data":893,"type":218,"tunes":895},"p-context-1",{"text":894},"MCP peut accroître les capacités et les informations disponibles pour une application d'IA, mais l'ingénierie du contexte détermine toujours ce qui parvient au modèle.",{},{"id":897,"data":898,"type":218,"tunes":900},"p-context-2",{"text":899},"Les catalogues d'outils consomment le contexte visible par le modèle dans de nombreux hôtes. Les résultats d'outils peuvent être volumineux. Les ressources peuvent être nombreuses. Un hôte a besoin de sélection, de filtrage, de chargement dynamique et de compactage plutôt que d'exposer tout à chaque tour.",{},{"id":902,"data":903,"type":218,"tunes":905},"p-context-3",{"text":904},"La disponibilité des capacités et le contexte visible par le modèle doivent donc être traités comme des couches distinctes.",{},{"id":907,"data":908,"type":42,"tunes":910},"h-tool-design",{"text":909,"level":254},"Concevoir les outils MCP autour des résultats et des limites de risque",{},{"id":912,"data":913,"type":376,"tunes":939},"tool-design-table",{"content":914,"stretched":43,"withHeadings":14},[915,918,921,924,927,930,933,936],[916,917],"Conception d'outil faible","Conception d'outil plus robuste",[919,920],"execute_api(method,url,body)","Outils métier étroits avec opérations validées",[922,923],"Un outil d'administration pour toutes les actions","Séparer les opérations de lecture\u002Fécriture\u002Fapprobation",[925,926],"API interne brute reflétée 1:1","Contrat orienté IA autour d'objectifs utilisateur cohérents",[928,929],"Un outil de système de fichiers large","Opérations de lecture\u002Fécriture limitées à l'espace de travail",[931,932],"Politique de sécurité uniquement dans la description","Le serveur applique la politique dans le code",[934,935],"Réponse brute non bornée","Sortie structurée pertinente pour la décision",[937,938],"Suppression\u002Fmise à jour mélangées à la lecture","Outils à effet de bord séparés avec politique de confirmation",{},{"id":941,"data":942,"type":42,"tunes":944},"h-approvals",{"text":943,"level":254},"Les approbations relèvent de l'architecture d'exécution",{},{"id":946,"data":947,"type":218,"tunes":949},"p-approve-1",{"text":948},"Un hôte peut exiger l'approbation de l'utilisateur avant d'invoquer certains outils MCP. L'intégration MCP actuelle d'OpenAI prend en charge des modèles d'exécution automatiques ou avec approbation explicite.",{},{"id":951,"data":952,"type":218,"tunes":954},"p-approve-2",{"text":953},"L'approbation par l'hôte est utile mais ne doit pas être la seule protection du serveur, car un autre client MCP compatible peut utiliser un modèle d'approbation différent.",{},{"id":956,"data":957,"type":218,"tunes":959},"p-approve-3",{"text":958},"Pour les actions destructrices ou ayant des conséquences financières, utilisez la défense en profondeur : un contrat d'outil clair, une approbation à l'exécution lorsque cela est approprié, une autorisation côté serveur, une validation métier et un audit.",{},{"id":961,"data":962,"type":42,"tunes":964},"h-observability",{"text":963,"level":254},"L'observabilité MCP doit relier les appels de protocole aux actions métier",{},{"id":966,"data":967,"type":218,"tunes":969},"p-obs-1",{"text":968},"Une trace MCP est plus utile lorsqu'elle peut être corrélée à l'appel applicatif sous-jacent, à la modification de base de données ou à la transaction métier.",{},{"id":971,"data":972,"type":218,"tunes":974},"p-obs-2",{"text":973},"L'écosystème du 2026-07-28 standardise les conventions de propagation du W3C Trace Context, ce qui facilite le suivi d'une requête à travers l'hôte, le client, le serveur et les services en aval.",{},{"id":976,"data":977,"type":218,"tunes":979},"p-obs-3",{"text":978},"Les journaux de protocole seuls ne suffisent pas pour les opérations à conséquences. Les preuves d'audit doivent également enregistrer le principal concerné, le tenant, la ressource cible, l'approbation et le changement d'état résultant.",{},{"id":981,"data":982,"type":42,"tunes":984},"h-failure",{"text":983,"level":254},"Ce que MCP ne peut pas corriger",{},{"id":986,"data":987,"type":376,"tunes":1022},"failure-table",{"content":988,"stretched":43,"withHeadings":14},[989,992,995,998,1001,1004,1007,1010,1013,1016,1019],[990,991],"Problème","Pourquoi MCP ne le résout pas",[993,994],"Mauvaise API métier","MCP peut exposer la mauvaise API de manière plus cohérente",[996,997],"Données erronées","La validité du protocole ne crée pas l'exactitude factuelle",[999,1000],"Isolation des tenants manquante","La découverte d'outils n'impose pas la propriété des ressources",[1002,1003],"Privilèges excessifs","Un outil standardisé peut toujours être sur-privilégié",[1005,1006],"Planification médiocre de l'agent","MCP expose les capacités ; l'exécution\u002Fle modèle choisit encore comment les utiliser",[1008,1009],"Mauvaise conception des tentatives\u002Fidempotence","Les appels de protocole ne rendent pas les effets de bord sûrs",[1011,1012],"Aucune source de vérité","MCP ne décide pas quel système détient un fait",[1014,1015],"Évaluation faible","L'interopérabilité ne prouve pas la réussite de la tâche",[1017,1018],"Aucune politique d'audit","Les traces de transport ne définissent pas la rétention ni la responsabilité",[1020,1021],"Incompatibilité de protocole","Les anciennes\u002Fnouvelles versions peuvent encore nécessiter une migration ou une gestion de compatibilité",{},{"id":1024,"data":1025,"type":42,"tunes":1027},"h-implementation",{"text":1026,"level":254},"Preuves d'implémentation originale : Aaasaasa AI Client",{},{"id":1029,"data":1030,"type":226,"tunes":1033},"impl-note",{"body":1031,"title":1032,"variant":247},"Aaasaasa AI Client contient un connecteur\u002Fcourtier MCP local authentifié pour les répertoires locaux approuvés et une intégration via Secure MCP Tunnel. Il s'agit de preuves d'implémentation concrètes pour la frontière de protocole et l'architecture de permissions, et non de l'affirmation d'une plateforme MCP commerciale à usage général.","Preuves d'implémentation",{},{"id":1035,"data":1036,"type":218,"tunes":1038},"p-impl-1",{"text":1037},"L'application peut exécuter un point de terminaison MCP Streamable HTTP authentifié sur l'interface de bouclage. Le point de terminaison n'expose que les répertoires sélectionnés via le courtier de permissions central de l'espace de travail.",{},{"id":1040,"data":1041,"type":218,"tunes":1043},"p-impl-2",{"text":1042},"Le point de terminaison local et la route distante sont des préoccupations distinctes : le connecteur local peut se lier uniquement à l'interface de bouclage, tandis qu'un Secure MCP Tunnel peut rendre le service MCP approuvé accessible à un client IA externe autorisé sans exposer toute la machine locale.",{},{"id":1045,"data":1046,"type":218,"tunes":1048},"p-impl-3",{"text":1047},"Le modèle de permissions central distingue les profils chat uniquement, lecture seule, écriture de projet et répertoire personnalisé. Direct Chat n'a aucun accès au système de fichiers ni au shell ; les environnements d'exécution d'agents capables d'utiliser des outils utilisent le profil de permissions sélectionné.",{},{"id":1050,"data":1051,"type":218,"tunes":1053},"p-impl-4",{"text":1052},"Il s'agit d'une implémentation directe de la frontière G02 : MCP fournit la connexion de capacité standardisée, tandis que le courtier de permissions propre à l'application décide quels répertoires le serveur peut exposer.",{},{"id":1055,"data":1056,"type":376,"tunes":1079},"impl-table",{"content":1057,"stretched":43,"withHeadings":14},[1058,1061,1064,1067,1070,1073,1076],[1059,1060],"Élément implémenté","Preuve d'architecture",[1062,1063],"Point de terminaison MCP local authentifié","Le serveur MCP peut être un service de capacité déterministe local",[1065,1066],"Liaison à l'interface de bouclage","L'exposition réseau et la capacité de protocole sont des décisions distinctes",[1068,1069],"Intégration Secure MCP Tunnel","Un MCP privé\u002Flocal peut être ponté via une route contrôlée",[1071,1072],"Courtier de permissions central","La capacité MCP est contrainte par la politique applicative",[1074,1075],"Portée de répertoire sélectionnée","La visibilité du système de fichiers est explicitement délimitée",[1077,1078],"Direct Chat sans outils OS","L'accès au modèle n'implique pas automatiquement l'accès aux outils",{},{"id":1081,"data":1082,"type":226,"tunes":1085},"impl-boundary",{"body":1083,"title":1084,"variant":240},"L'implémentation démontre la connectivité MCP et l'exposition de répertoires locaux limitée par les permissions. Elle n'implique pas que chaque primitive MCP, chaque fonctionnalité du 2026-07-28 ou chaque extension d'autorisation d'entreprise soit implémentée.","Frontière des preuves",{},{"id":1087,"data":1088,"type":42,"tunes":1090},"h-use",{"text":1089,"level":254},"Quand MCP est adapté",{},{"id":1092,"data":1093,"type":376,"tunes":1113},"use-table",{"content":1094,"stretched":43,"withHeadings":14},[1095,1098,1101,1104,1107,1110],[1096,1097],"MCP est particulièrement adapté lorsque","Une intégration directe peut être plus simple lorsque",[1099,1100],"La même capacité doit être réutilisable sur plusieurs hôtes IA","Une seule application possède les deux côtés et la portabilité a peu de valeur",[1102,1103],"Un système externe souhaite publier des outils\u002Fressources découvrables destinés à l'IA","Un seul appel API interne stable suffit",[1105,1106],"Vous voulez une frontière standard autour des outils\u002Fdonnées locaux","Il n'y a aucune exigence d'interopérabilité orientée IA",[1108,1109],"Les fournisseurs d'outils et les clients IA évoluent indépendamment","L'intégration est intentionnellement privée et étroitement couplée",[1111,1112],"Vous voulez une découverte de capacités compatible avec l'écosystème","L'ensemble des capacités est minuscule et fixé dans le code de l'application",{},{"id":1115,"data":1116,"type":42,"tunes":1118},"h-not-need",{"text":1117,"level":254},"Quand vous n'avez pas besoin de MCP",{},{"id":1120,"data":1121,"type":218,"tunes":1123},"p-not-1",{"text":1122},"N'ajoutez pas MCP simplement parce que l'application utilise l'IA. Si votre backend appelle déjà une API interne et qu'aucun client MCP indépendant n'a besoin de cette capacité, un appel de fonction ou de service ordinaire peut être plus clair.",{},{"id":1125,"data":1126,"type":218,"tunes":1128},"p-not-2",{"text":1127},"MCP apporte de la valeur à une frontière d'interopérabilité. Sans cette frontière, le protocole peut devenir une couche d'adaptation inutile.",{},{"id":1130,"data":1131,"type":218,"tunes":1133},"p-not-3",{"text":1132},"La question architecturale n'est pas « Ce projet a-t-il de l'IA ? » mais « Des hôtes IA et des fournisseurs de capacités évoluant indépendamment bénéficient-ils d'un contrat standard ? »",{},{"id":1135,"data":1136,"type":42,"tunes":1138},"h-security",{"text":1137,"level":254},"Liste de contrôle de sécurité MCP",{},{"id":1140,"data":1141,"type":376,"tunes":1182},"security-table",{"content":1142,"stretched":43,"withHeadings":14},[1143,1146,1149,1152,1155,1158,1161,1164,1167,1170,1173,1176,1179],[1144,1145],"Frontière","Question",[1147,1148],"Identité du serveur","À quel serveur MCP suis-je réellement connecté ?",[1150,1151],"Identité du client","Quelle application\u002Fclient demande l'accès ?",[1153,1154],"Identité de l'utilisateur final","Au nom de qui l'opération est-elle effectuée ?",[1156,1157],"Liste d'autorisation des outils","Quelles capacités cet hôte\u002Fagent peut-il découvrir et appeler ?",[1159,1160],"Autorisation métier","Ce principal peut-il effectuer cette opération ?",[1162,1163],"Portée du locataire","Quelle frontière de locataire\u002Fressource s'applique ?",[1165,1166],"Isolation des identifiants","Les identifiants sont-ils correctement liés et conservés en dehors du contexte du modèle ?",[1168,1169],"Approbation","Quels effets de bord nécessitent une confirmation humaine ?",[1171,1172],"Validation des entrées","Les arguments des outils sont-ils validés indépendamment de la sortie du modèle ?",[1174,1175],"Confiance dans la sortie","Le contenu renvoyé peut-il contenir des instructions non fiables ou des données sensibles ?",[1177,1178],"Exposition réseau","Un serveur local est-il accidentellement exposé au-delà des interfaces prévues ?",[1180,1181],"Audit","Un appel de protocole peut-il être corrélé à l'action en aval ?",{},{"id":1184,"data":1185,"type":42,"tunes":1187},"h-misconceptions",{"text":1186,"level":254},"Idées fausses courantes",{},{"id":1189,"data":1190,"type":376,"tunes":1231},"misconceptions-table",{"content":1191,"stretched":43,"withHeadings":14},[1192,1195,1198,1201,1204,1207,1210,1213,1216,1219,1222,1225,1228],[1193,1194],"Idée fausse","Correction",[1196,1197],"« Un serveur MCP est un serveur d'IA. »","Il peut s'agir d'un logiciel déterministe ordinaire exposant des capacités.",[1199,1200],"« J'ai besoin de mon propre LLM sur le serveur MCP. »","Non. Le modèle peut résider entièrement du côté de l'hôte.",[1202,1203],"« MCP remplace les API REST. »","MCP encapsule souvent des API existantes pour l'interopérabilité orientée IA.",[1205,1206],"« MCP est un framework d'agents. »","MCP fournit des capacités ; un runtime d'agent gère l'itération et l'état.",[1208,1209],"« MCP et l'appel de fonctions sont concurrents. »","Un hôte peut faire le pont entre les capacités MCP et l'interface d'outils de son modèle.",[1211,1212],"« MCP remplace A2A. »","MCP se concentre sur l'intégration des capacités ; A2A se concentre sur la collaboration entre agents.",[1214,1215],"« Si un outil est listé, l'utilisateur peut l'appeler. »","La découverte n'est pas une autorisation.",[1217,1218],"« OAuth résout les autorisations métier. »","L'autorisation de connexion ne remplace pas l'autorisation de domaine ni l'isolation des locataires.",[1220,1221],"« MCP local signifie IA locale. »","L'emplacement du serveur d'outils et l'emplacement de l'inférence sont indépendants.",[1223,1224],"« MCP rend la sortie des outils fiable. »","La qualité des données, l'autorité et la provenance appartiennent toujours à la source\u002Fapplication.",[1226,1227],"« Un outil générique géant est flexible. »","Des outils trop larges affaiblissent les autorisations, la validation et l'observabilité.",[1229,1230],"« Les anciens tutoriels sont à jour pour l'implémentation. »","La révision du 2026-07-28 a modifié de manière substantielle le cycle de vie et le comportement de transport.",{},{"id":1233,"data":1234,"type":42,"tunes":1236},"h-design",{"text":1235,"level":254},"Une séquence de conception MCP pratique",{},{"id":1238,"data":1239,"type":324,"tunes":1278},"design-flow",{"steps":1240,"title":1277,"orientation":323},[1241,1244,1247,1250,1253,1256,1259,1262,1265,1268,1271,1274],{"label":1242,"description":1243},"1. Identifier la frontière d'interopérabilité","Confirmer que des hôtes IA indépendants ont réellement besoin d'un accès réutilisable.",{"label":1245,"description":1246},"2. Garder l'API de domaine comme autorité","Préserver le véritable contrat d'application\u002Fservice derrière MCP.",{"label":1248,"description":1249},"3. Choisir délibérément les primitives","Utiliser les outils, ressources et invites selon leur sémantique.",{"label":1251,"description":1252},"4. Séparer par risque et autorisation","Distinguer les opérations de lecture, d'écriture, destructrices et nécessitant une approbation.",{"label":1254,"description":1255},"5. Définir la propagation d'identité","Savoir quel client, utilisateur, agent et principal en aval chaque appel représente.",{"label":1257,"description":1258},"6. Appliquer l'autorisation métier","Valider les autorisations, la portée du locataire et la propriété de la cible.",{"label":1260,"description":1261},"7. Choisir le transport local ou distant","Adapter la topologie de déploiement au besoin réel.",{"label":1263,"description":1264},"8. Épingler les attentes de protocole\u002FSDK","Documenter la compatibilité 2026-07-28 par rapport aux versions antérieures.",{"label":1266,"description":1267},"9. Ajouter des approbations pour les actions conséquentes","Utiliser des contrôles de confirmation adaptés au risque.",{"label":1269,"description":1270},"10. Concevoir des sorties structurées","Renvoyer des résultats concis et exploitables par machine.",{"label":1272,"description":1273},"11. Ajouter la traçabilité et la corrélation d'audit","Relier les appels MCP aux événements de service\u002Fmétier en aval.",{"label":1275,"description":1276},"12. Tester la portabilité","Vérifier plus d'un client lorsque l'interopérabilité est une exigence déclarée.","Concevoir la frontière avant d'implémenter le serveur",{},{"id":1280,"data":1281,"type":42,"tunes":1283},"h-checklist",{"text":1282,"level":254},"Liste de contrôle de l'architecture MCP",{},{"id":1285,"data":1286,"type":376,"tunes":1335},"checklist-table",{"content":1287,"stretched":43,"withHeadings":14},[1288,1290,1293,1296,1299,1302,1305,1308,1311,1314,1317,1320,1323,1326,1329,1332],[1145,1289],"Réponse attendue",[1291,1292],"Pourquoi MCP est-il nécessaire ?","Une véritable frontière d'interopérabilité orientée IA",[1294,1295],"Que expose le serveur ?","Des outils\u002Fressources\u002Finvites explicites",[1297,1298],"Où le modèle s'exécute-t-il ?","Décision indépendante de l'hôte\u002Ffournisseur",[1300,1301],"Où l'exécution des outils a-t-elle lieu ?","Emplacement nommé du serveur\u002Fruntime",[1303,1304],"Quelle révision du protocole est attendue ?","Contrat sensible à la version",[1306,1307],"Qui est le principal demandeur ?","Modèle d'identité client\u002Futilisateur\u002Fagent",[1309,1310],"Quels outils peuvent être découverts ?","Politique de liste d'autorisation\u002Fcapacités",[1312,1313],"Quelles opérations peuvent s'exécuter ?","Autorisation métier côté serveur",[1315,1316],"Comment la portée locataire\u002Fressource est-elle appliquée ?","Vérifications fiables de propriété du locataire\u002Fressource",[1318,1319],"Quelles actions nécessitent une approbation ?","Politique de confirmation basée sur le risque",[1321,1322],"Comment les identifiants sont-ils protégés ?","Stockage d'exécution fiable, secrets non visibles par le modèle",[1324,1325],"Comment la sortie est-elle limitée ?","Contrat de résultat structuré et pertinent",[1327,1328],"Comment les appels sont-ils tracés ?","Corrélation via MCP jusqu'à l'action en aval",[1330,1331],"Que se passe-t-il si MCP est indisponible ?","Comportement de repli\u002Fdéfaillance défini",[1333,1334],"Un autre hôte compatible peut-il l'utiliser ?","Portabilité validée lorsque requis",{},{"id":1337,"data":1338,"type":42,"tunes":1340},"h-edge",{"text":1339,"level":254},"Cas limites et limitations",{},{"id":1342,"data":1343,"type":218,"tunes":1345},"p-edge-1",{"text":1344},"Un serveur MCP stdio local peut avoir une faible exposition réseau tout en restant dangereux si le processus lui-même dispose de permissions excessives sur le système de fichiers ou le shell.",{},{"id":1347,"data":1348,"type":218,"tunes":1350},"p-edge-2",{"text":1349},"Un serveur MCP distant peut n'exposer que de la documentation publique ou des actions d'entreprise hautement sensibles. « MCP distant » dit peu de choses sur le risque sans le contexte de capacité et d'autorisation.",{},{"id":1352,"data":1353,"type":218,"tunes":1355},"p-edge-3",{"text":1354},"Certains serveurs peuvent n'utiliser que des outils et ignorer les ressources\u002Finvites. La compatibilité MCP n'exige pas que chaque primitive optionnelle soit également importante.",{},{"id":1357,"data":1358,"type":218,"tunes":1360},"p-edge-4",{"text":1359},"Un hôte peut traduire entre son propre modèle d'outil interne et MCP. Les utilisateurs peuvent ne jamais voir directement la frontière du protocole, ce qui est acceptable si la sécurité et l'attribution restent claires.",{},{"id":1362,"data":1363,"type":218,"tunes":1365},"p-edge-5",{"text":1364},"MCP continue d'évoluer rapidement. Les extensions, les modèles d'autorisation, les API des SDK et les conventions de l'écosystème peuvent changer plus vite que la distinction architecturale fondamentale.",{},{"id":1367,"data":1368,"type":42,"tunes":1370},"h-change",{"text":1369,"level":254},"Qu'est-ce qui changerait cette réponse ?",{},{"id":1372,"data":1373,"type":218,"tunes":1375},"p-change-1",{"text":1374},"Les futures révisions de MCP peuvent modifier le cycle de vie, les transports, l'autorisation et les mécanismes d'extension. La révision de juillet 2026 démontre déjà pourquoi les affirmations spécifiques à une implémentation doivent être datées.",{},{"id":1377,"data":1378,"type":218,"tunes":1380},"p-change-2",{"text":1379},"La frontière canonique ne changerait que si MCP s'étendait d'un protocole d'interopérabilité à une norme d'architecture d'application\u002Fagent de bout en bout. Ce n'est pas ce que définit le protocole actuel.",{},{"id":1382,"data":1383,"type":218,"tunes":1385},"p-change-3",{"text":1384},"Pour le travail d'implémentation, consultez toujours la spécification actuelle et la ligne SDK exacte au lieu de copier des exemples sensibles à la version provenant d'anciens tutoriels.",{},{"id":1387,"data":1388,"type":42,"tunes":1390},"h-related",{"text":1389,"level":254},"Connaissances canoniques associées",{},{"id":1392,"data":1393,"type":218,"tunes":1395},"p-related-1",{"text":1394},"MCP se situe en aval de l'IA agentique : comprenez d'abord la frontière agent\u002Fruntime\u002Foutil, puis utilisez MCP lorsque des capacités externes nécessitent un contrat de protocole portable.",{},{"id":1397,"data":1398,"type":218,"tunes":1400},"p-related-2",{"text":1399},"MCP dépend également du RBAC et de l'isolation des locataires, car l'exposition des capacités au niveau du protocole ne détermine pas l'autorisation applicative.",{},{"id":1402,"data":1403,"type":218,"tunes":1405},"p-related-3",{"text":1404},"L'article plus large sur la pile de protocoles explique où MCP se situe aux côtés d'A2A, UCP, AP2 et A2UI. G02 reste la source canonique pour MCP lui-même.",{},{"id":1407,"data":1408,"type":649,"tunes":1413},"ref-reliability",{"url":1409,"title":1410,"excerpt":1411,"ctaLabel":1412},"https:\u002F\u002Fstajic.de\u002Ffr\u002Fblog\u002Fai-agent-reliability-why-the-final-answer-is-not-enough","Fiabilité des agents IA : pourquoi la réponse finale ne suffit pas","Les appels d'outils MCP font partie d'une trajectoire d'agent ; les systèmes fiables doivent évaluer les actions et les observations, pas seulement le texte final.","Lire l'article sur la fiabilité des agents",{},{"id":1415,"data":1416,"type":42,"tunes":1418},"h-faq",{"text":1417,"level":254},"Questions fréquentes",{},{"id":1420,"data":1421,"type":1420,"tunes":1464},"faq",{"items":1422,"title":1463},[1423,1427,1431,1435,1439,1443,1447,1451,1455,1459],{"id":1424,"answer":1425,"question":1426},"faq1","Le Model Context Protocol est un protocole client-serveur ouvert permettant de connecter des applications d'IA à des outils, ressources, invites et fournisseurs de capacités externes via un contrat standardisé.","Qu'est-ce que MCP ?",{"id":1428,"answer":1429,"question":1430},"faq2","Non. Un serveur MCP peut être un logiciel entièrement déterministe. Le modèle s'exécute normalement dans l'hôte d'IA ou le runtime de l'agent, bien qu'un serveur puisse éventuellement utiliser l'IA en interne.","Un serveur MCP a-t-il besoin d'un modèle d'IA ?",{"id":1432,"answer":1433,"question":1434},"faq3","Le client est le composant du protocole utilisé par un hôte d'IA pour communiquer avec les fournisseurs de capacités. Le serveur publie et exécute les capacités qu'il expose.","Quelle est la différence entre un client et un serveur MCP ?",{"id":1436,"answer":1437,"question":1438},"faq4","Non. L'appel de fonctions\u002Foutils est la manière dont un modèle invoque des capacités configurées. MCP standardise la découverte et la communication avec des serveurs de capacités externes. Un hôte peut faire le pont entre les deux.","MCP remplace-t-il l'appel de fonctions ?",{"id":1440,"answer":1441,"question":1442},"faq5","Non. Les serveurs MCP encapsulent souvent des API REST, GraphQL, de bases de données ou de services existantes et fournissent une couche d'interopérabilité orientée IA.","MCP remplace-t-il les API REST ?",{"id":1444,"answer":1445,"question":1446},"faq6","Non. MCP expose des capacités. La planification de l'agent, l'état, la mémoire, la gestion du contexte, les nouvelles tentatives, l'orchestration et l'arrêt appartiennent au runtime environnant.","MCP est-il un framework d'agent ?",{"id":1448,"answer":1449,"question":1450},"faq7","MCP connecte principalement un hôte d'IA ou un agent à des fournisseurs d'outils et de données. A2A connecte des systèmes d'agents indépendants pour la collaboration et la délégation.","Quelle est la différence entre MCP et A2A ?",{"id":1452,"answer":1453,"question":1454},"faq8","MCP inclut des mécanismes d'autorisation au niveau du protocole, en particulier pour les serveurs distants, mais l'application doit toujours appliquer les permissions métier, la propriété des ressources et l'isolation des locataires.","MCP gère-t-il l'autorisation ?",{"id":1456,"answer":1457,"question":1458},"faq9","Oui. L'emplacement du modèle est indépendant de MCP. Un hôte à modèle local peut appeler des serveurs MCP locaux ou distants, et un hôte à modèle cloud peut utiliser des serveurs MCP locaux ou distants approuvés via une architecture de connexion appropriée.","MCP peut-il fonctionner avec des modèles locaux ?",{"id":1460,"answer":1461,"question":1462},"faq10","Au 8 octobre 2026, la révision actuelle de la spécification est 2026-07-28. Les implémentations plus anciennes de l'ère 2025 restent utilisées, la compatibilité doit donc être vérifiée.","Quelle est la version actuelle de la spécification MCP ?","FAQ sur le Model Context Protocol",{},{"id":1466,"data":1467,"type":42,"tunes":1469},"h-glossary",{"text":1468,"level":254},"Glossaire",{},{"id":1471,"data":1472,"type":1471,"tunes":1514},"glossary",{"title":1473,"entries":1474},"Termes clés de MCP",[1475,1477,1481,1484,1487,1490,1493,1496,1500,1503,1506,1510],{"term":595,"anchor":594,"definition":1476},"Model Context Protocol, un protocole ouvert pour des connexions interopérables entre les hôtes\u002Fclients d'IA et les serveurs de capacités externes.",{"term":1478,"anchor":1479,"definition":1480},"Hôte MCP","mcp-host","L'application ou le runtime d'IA qui gère l'interaction avec le modèle et utilise des clients MCP pour se connecter aux serveurs.",{"term":362,"anchor":1482,"definition":1483},"mcp-client","Composant du protocole côté hôte qui communique avec un serveur MCP.",{"term":365,"anchor":1485,"definition":1486},"mcp-server","Fournisseur de capacités qui implémente MCP et expose des outils, ressources, invites ou extensions prises en charge.",{"term":501,"anchor":1488,"definition":1489},"mcp-tool","Capacité structurée appelable exposée par un serveur MCP.",{"term":504,"anchor":1491,"definition":1492},"mcp-resource","Données ou contenu lisibles exposés via les méthodes de ressources MCP.",{"term":512,"anchor":1494,"definition":1495},"mcp-prompt","Modèle d'invite réutilisable exposé par un serveur MCP pour les hôtes compatibles.",{"term":1497,"anchor":1498,"definition":1499},"Streamable HTTP","streamable-http","Transport MCP orienté HTTP utilisé pour la communication avec des serveurs distants\u002Fen réseau.",{"term":1501,"anchor":1501,"definition":1502},"stdio","Transport d'entrée\u002Fsortie standard de processus couramment utilisé pour les intégrations locales de serveurs MCP.",{"term":719,"anchor":1504,"definition":1505},"server-discover","Méthode MCP moderne qui permet à un client d'inspecter les capacités du serveur à l'ère du protocole 2026-07-28.",{"term":1507,"anchor":1508,"definition":1509},"MRTR","mrtr","Multi Round-Trip Requests, un mécanisme permettant d'obtenir des entrées supplémentaires pendant une requête à l'ère du protocole 2026-07-28.",{"term":1511,"anchor":1512,"definition":1513},"Extension MCP","mcp-extension","Capacité qui se compose avec le protocole de base et peut évoluer\u002Fêtre versionnée séparément, comme Tasks ou MCP Apps.",{},{"id":1516,"data":1517,"type":42,"tunes":1519},"h-conclusion",{"text":1518,"level":254},"Conclusion",{},{"id":1521,"data":1522,"type":218,"tunes":1524},"p-conclusion-1",{"text":1523},"MCP est plus facile à comprendre lorsque sa frontière reste étroite : il connecte les applications d'IA à des capacités externes via un protocole standard.",{},{"id":1526,"data":1527,"type":218,"tunes":1529},"p-conclusion-2",{"text":1528},"Le modèle n'a pas besoin de résider sur le serveur MCP. Le serveur ne devient pas le runtime de l'agent. Un outil répertorié ne devient pas une action métier autorisée. Et MCP ne remplace pas l'API sous-jacente, la source de vérité, l'isolation des locataires ou l'architecture du domaine.",{},{"id":1531,"data":1532,"type":218,"tunes":1534},"p-conclusion-3",{"text":1533},"Cette étroitesse est la force du protocole. MCP peut standardiser la manière dont les systèmes d'IA accèdent aux outils et aux données tout en laissant la propriété applicative, la sécurité, la sémantique métier et le choix du modèle aux couches qui en sont réellement responsables.",{},{"id":1536,"data":1537,"type":42,"tunes":1539},"h-sources",{"text":1538,"level":254},"Sources primaires et documentation actuelle",{},{"id":1541,"data":1542,"type":218,"tunes":1544},"p-sources-note",{"text":1543},"MCP évolue rapidement, donc les affirmations sensibles à la version dans cet article sont liées à l'état du 8 octobre 2026. La section Aaasaasa AI Client est une preuve d'implémentation originale et est explicitement limitée au périmètre vérifié du connecteur MCP et du courtier de permissions.",{},{"id":1546,"data":1547,"type":1553,"tunes":1554},"src-mcp-ts",{"link":1548,"meta":1549},"https:\u002F\u002Fts.sdk.modelcontextprotocol.io\u002Fv2\u002F",{"image":1550,"title":1551,"description":1552},{"url":401},"Model Context Protocol — SDK TypeScript v2","Documentation actuelle du SDK TypeScript stable implémentant la spécification MCP 2026-07-28 et les primitives serveur\u002Fclient.","linkTool",{},{"id":1556,"data":1557,"type":1553,"tunes":1563},"src-mcp-release",{"link":1558,"meta":1559},"https:\u002F\u002Fblog.modelcontextprotocol.io\u002Fposts\u002F2026-07-28\u002F",{"image":1560,"title":1561,"description":1562},{"url":401},"Model Context Protocol — Publication de la spécification 2026-07-28","Explication officielle de la publication de la révision actuelle du protocole MCP, incluant le noyau sans état, MRTR, le routage, la mise en cache, le renforcement de l'autorisation, les extensions et les dépréciations.",{},{"id":1565,"data":1566,"type":1553,"tunes":1572},"src-mcp-migration",{"link":1567,"meta":1568},"https:\u002F\u002Fts.sdk.modelcontextprotocol.io\u002Fv2\u002Fmigration\u002Fsupport-2026-07-28",{"image":1569,"title":1570,"description":1571},{"url":401},"SDK TypeScript MCP — Prise en charge de la révision du protocole 2026-07-28","Conseils d'implémentation spécifiques à la version pour la révision actuelle du protocole et la compatibilité avec les versions antérieures.",{},{"id":1574,"data":1575,"type":1553,"tunes":1581},"src-openai-mcp",{"link":1576,"meta":1577},"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Ftools-connectors-mcp",{"image":1578,"title":1579,"description":1580},{"url":401},"OpenAI — Serveurs MCP","Conseils actuels d'OpenAI pour connecter des modèles à des serveurs MCP distants et à des serveurs MCP locaux\u002Fprivés via Secure MCP Tunnel.",{},{"id":1583,"data":1584,"type":1553,"tunes":1590},"src-openai-agent-mcp",{"link":1585,"meta":1586},"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents-api\u002Ftools\u002Fmcp",{"image":1587,"title":1588,"description":1589},{"url":401},"OpenAI — Connexions MCP pour l'API Agents","Conseils actuels sur les connexions MCP couvrant les emplacements de service, d'environnement et stdio, ainsi que les contrôles des outils autorisés.",{},{"id":1592,"data":1593,"type":1553,"tunes":1599},"src-openai-tools",{"link":1594,"meta":1595},"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Ftools",{"image":1596,"title":1597,"description":1598},{"url":401},"OpenAI — Outils","Aperçu actuel plaçant les serveurs MCP distants aux côtés de l'appel de fonctions, de la recherche web, du shell et d'autres outils de modèle.",{},{"id":1601,"data":1602,"type":1553,"tunes":1608},"src-openai-plugin-mcp",{"link":1603,"meta":1604},"https:\u002F\u002Fdevelopers.openai.com\u002Fplugins\u002Fconcepts\u002Fmcp-server",{"image":1605,"title":1606,"description":1607},{"url":401},"OpenAI — Concept de serveur MCP","Description actuelle des serveurs MCP exposant des outils, des ressources et des invites pour des intégrations de services externes.",{},"2.31","Le protocole de contexte de modèle connecte les applications d’IA à des outils, des ressources et des invites externes par le biais d’une frontière standard client-serveur. Découvrez ce que fait le MCP, ce qu’il ne fait pas et où il s’intègre dans l’architecture des agents.","\u002Fuploads\u002F2026\u002F10\u002Fmcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits-1791486640275-7ub1cq.webp","mcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits-1791486640275-7ub1cq","PUBLISHED","2026-10-08T15:09:00.000Z","2026-10-08T19:09:09.976Z","2026-10-08T19:18:07.694Z",{"en":1618,"de":1619,"sr":1620,"es":1621,"fr":1622,"it":1623,"ru":1624,"zh":1625},"\u002Fblog\u002Fmcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits","\u002Fde\u002Fblog\u002Fmcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits","\u002Fsr\u002Fblog\u002Fmcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits","\u002Fes\u002Fblog\u002Fmcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits","\u002Ffr\u002Fblog\u002Fmcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits","\u002Fit\u002Fblog\u002Fmcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits","\u002Fru\u002Fblog\u002Fmcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits","\u002Fzh\u002Fblog\u002Fmcp-explained-what-it-connects-what-it-does-not-do-and-where-it-fits",[1627,1631,1635,1639],{"id":1628,"name":1629,"slug":1630},84,"Politique et limites des données","policy-and-data",{"id":1632,"name":1633,"slug":1634},57,"Limites des données","data-boundaries",{"id":1636,"name":1637,"slug":1638},48,"Capacités","capabilities",{"id":1640,"name":1641,"slug":1642},49,"Contrôles et preuves","controls",{"id":1644,"login":1645,"email":1646,"displayName":1647},"20","rooth8233","aleksandar@stajic.de","Aleksandar Stajić",[1649,2814],{"lang":1650,"title":1651,"content":1652,"contentJson":1653,"excerpt":2813},"en","MCP Explained: What It Connects, What It Does Not Do and Where It Fits","{\"time\":1791486641380,\"blocks\":[{\"id\":\"intro\",\"type\":\"paragraph\",\"data\":{\"text\":\"The Model Context Protocol (MCP) is an open protocol for connecting AI applications to external capabilities and information through standardized client-server contracts. An MCP server can expose tools, resources and prompts; an MCP-compatible host or client discovers and uses those capabilities on behalf of an AI application. MCP does not require the server to run its own language model, and it does not replace the agent runtime, business authorization, tenant isolation, application APIs or domain architecture behind the exposed capabilities.\"},\"tunes\":{}},{\"id\":\"direct\",\"type\":\"callout\",\"data\":{\"variant\":\"info\",\"title\":\"Direct answer\",\"body\":\"\u003Cstrong>MCP standardizes the boundary between an AI host and external capability providers.\u003C\u002Fstrong>\u003Cbr>\u003Cbr>A useful mental model is:\u003Cbr>\u003Cstrong>User → AI host \u002F agent runtime → MCP client → MCP server → application\u002FAPI\u002Fdata\u002Ftool\u003C\u002Fstrong>.\u003Cbr>\u003Cbr>The model can remain entirely on the host side. The MCP server may be ordinary deterministic software that exposes structured capabilities.\"},\"tunes\":{}},{\"id\":\"server-no-ai\",\"type\":\"callout\",\"data\":{\"variant\":\"success\",\"title\":\"An MCP server does not need its own AI model\",\"body\":\"A filesystem MCP server can list or read files. A database MCP server can run approved queries. A Jira MCP server can expose issue operations. None of those servers needs an LLM to satisfy the MCP contract. If a server internally uses AI, that is an implementation choice behind the protocol boundary, not an MCP requirement.\"},\"tunes\":{}},{\"id\":\"boundary\",\"type\":\"callout\",\"data\":{\"variant\":\"warning\",\"title\":\"MCP capability is not business authority\",\"body\":\"If an MCP server exposes \u003Ccode>delete_file\u003C\u002Fcode>, \u003Ccode>refund_order\u003C\u002Fcode> or \u003Ccode>deploy_service\u003C\u002Fcode>, that only means the capability exists. The server\u002Fapplication must still enforce identity, permissions, tenant scope, business rules, confirmation requirements and audit controls. Protocol discovery must never silently become authorization.\"},\"tunes\":{}},{\"id\":\"current\",\"type\":\"callout\",\"data\":{\"variant\":\"note\",\"title\":\"Current-source note — 8 October 2026\",\"body\":\"The current MCP specification revision is \u003Cstrong>2026-07-28\u003C\u002Fstrong>. Its major change is a stateless protocol core with self-describing requests, optional \u003Ccode>server\u002Fdiscover\u003C\u002Fcode>, routable HTTP headers, cacheable list\u002Fresource responses, authorization hardening and a formal extension model. The TypeScript SDK v2 is the current stable SDK line implementing this revision. Older 2025-era clients and servers still exist, so implementation guidance must remain version-aware.\"},\"tunes\":{}},{\"id\":\"toc\",\"type\":\"tableOfContents\",\"data\":{\"title\":\"Contents\",\"minLevel\":2,\"maxLevel\":3},\"tunes\":{}},{\"id\":\"h-meaning\",\"type\":\"header\",\"data\":{\"text\":\"What MCP really standardizes\",\"level\":2},\"tunes\":{}},{\"id\":\"p-meaning-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Before MCP, every AI application could integrate external systems through its own tool schema, plugin format, authentication convention and connection code. The same service could need different adapters for a desktop AI client, an IDE agent and a custom application.\"},\"tunes\":{}},{\"id\":\"p-meaning-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP creates a reusable protocol boundary. The external system exposes capabilities through an MCP server, while compatible AI hosts implement an MCP client. This reduces integration coupling between the AI application and the underlying tool or data provider.\"},\"tunes\":{}},{\"id\":\"p-meaning-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The protocol does not standardize the entire application. It standardizes how capabilities are described, discovered and invoked across that boundary.\"},\"tunes\":{}},{\"id\":\"h-simple\",\"type\":\"header\",\"data\":{\"text\":\"The simplest example\",\"level\":2},\"tunes\":{}},{\"id\":\"p-simple-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Suppose an AI coding application needs access to a local project directory. Without MCP, the application might implement its own filesystem integration directly.\"},\"tunes\":{}},{\"id\":\"p-simple-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"With MCP, a filesystem server can expose capabilities such as listing directories, reading approved files or writing inside an allowed workspace. The AI host connects through an MCP client and presents those capabilities to the model or agent runtime.\"},\"tunes\":{}},{\"id\":\"p-simple-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The server does not need to understand the user's natural-language request. The host\u002Fmodel decides which capability is useful; the MCP server executes the structured request under its own security rules.\"},\"tunes\":{}},{\"id\":\"simple-flow\",\"type\":\"processFlow\",\"data\":{\"title\":\"A basic MCP tool call\",\"orientation\":\"auto\",\"steps\":[{\"label\":\"1. Host connects to server\",\"description\":\"The MCP-capable application configures access to the external MCP server.\"},{\"label\":\"2. Capabilities are discovered\",\"description\":\"The client learns which tools, resources or prompts the server exposes.\"},{\"label\":\"3. Model or runtime selects a capability\",\"description\":\"The AI application decides that one exposed capability is needed.\"},{\"label\":\"4. Client sends structured request\",\"description\":\"Arguments are sent through MCP to the server.\"},{\"label\":\"5. Server authorizes and executes\",\"description\":\"The server validates the request and calls its underlying system.\"},{\"label\":\"6. Result returns to host\",\"description\":\"The result becomes an observation or context input.\"},{\"label\":\"7. Host decides what happens next\",\"description\":\"The model\u002Fruntime may answer, call another tool or continue a workflow.\"}]},\"tunes\":{}},{\"id\":\"h-stops\",\"type\":\"header\",\"data\":{\"text\":\"Where the simple example stops\",\"level\":2},\"tunes\":{}},{\"id\":\"p-stops-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP does not define how the host chooses a tool, how an agent plans, how a business workflow is modeled or how a domain object such as an invoice or deployment should behave.\"},\"tunes\":{}},{\"id\":\"p-stops-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"A protocol can make the integration interoperable while the underlying application remains incorrect, insecure or badly designed. A perfectly valid MCP request can still call the wrong business capability.\"},\"tunes\":{}},{\"id\":\"p-stops-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The central boundary is: MCP standardizes integration semantics, not application truth or business correctness.\"},\"tunes\":{}},{\"id\":\"h-architecture\",\"type\":\"header\",\"data\":{\"text\":\"The MCP architecture: host, client and server\",\"level\":2},\"tunes\":{}},{\"id\":\"architecture-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Component\",\"Responsibility\"],[\"AI host\",\"User-facing AI application or runtime that owns model interaction, context and overall workflow\"],[\"MCP client\",\"Protocol-side component used by the host to communicate with an MCP server\"],[\"MCP server\",\"Publishes capabilities and handles MCP requests\"],[\"Underlying system\",\"Application, API, database, filesystem, SaaS platform or service behind the MCP server\"],[\"Model\",\"Chooses or reasons about capabilities according to the host\u002Fruntime design; it is not necessarily inside the MCP server\"],[\"Authorization\u002Fbusiness policy\",\"Determines whether a requested operation is actually permitted\"]]},\"tunes\":{}},{\"id\":\"p-architecture-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A host can connect to multiple MCP servers, and one MCP server can front one or several underlying systems. The host remains responsible for integrating MCP results into the broader AI application.\"},\"tunes\":{}},{\"id\":\"p-architecture-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The server can be local to the host, run as a separate process or be remote over a network transport. Hosting topology and model location are independent decisions.\"},\"tunes\":{}},{\"id\":\"h-primitives\",\"type\":\"header\",\"data\":{\"text\":\"The three core server primitives\",\"level\":2},\"tunes\":{}},{\"id\":\"primitives-comparison\",\"type\":\"comparison\",\"data\":{\"title\":\"Tools, resources and prompts solve different needs\",\"layout\":\"table\",\"columns\":[{\"id\":\"tools\",\"label\":\"Tools\"},{\"id\":\"resources\",\"label\":\"Resources\"},{\"id\":\"prompts\",\"label\":\"Prompts\"}],\"rows\":[{\"id\":\"purpose\",\"label\":\"Primary purpose\",\"values\":[\"\",\"\",\"\"]},{\"id\":\"interaction\",\"label\":\"Typical interaction\",\"values\":[\"\",\"\",\"\"]},{\"id\":\"example\",\"label\":\"Example\",\"values\":[\"\",\"\",\"\"]},{\"id\":\"risk\",\"label\":\"Typical risk\",\"values\":[\"\",\"\",\"\"]}]},\"tunes\":{}},{\"id\":\"h-tools\",\"type\":\"header\",\"data\":{\"text\":\"Tools: callable capabilities\",\"level\":2},\"tunes\":{}},{\"id\":\"p-tools-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Tools are structured operations an MCP server makes available to the host. A tool has a name, description and input schema; modern implementations can also provide structured output.\"},\"tunes\":{}},{\"id\":\"p-tools-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Examples include searching a repository, reading a customer record, creating a ticket, running a build or sending a message. Tools can be read-only or have side effects.\"},\"tunes\":{}},{\"id\":\"p-tools-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"A good MCP tool surface should represent coherent user or agent goals rather than mechanically mirror every internal API endpoint. Operations with different permissions, confirmation requirements or blast radius should usually be separate tools.\"},\"tunes\":{}},{\"id\":\"h-resources\",\"type\":\"header\",\"data\":{\"text\":\"Resources: readable context and data\",\"level\":2},\"tunes\":{}},{\"id\":\"p-res-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Resources expose data or content that a client can list or read. They fit naturally when the semantic operation is “give me this artifact or information” rather than “perform this action.”\"},\"tunes\":{}},{\"id\":\"p-res-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"A resource URI is not an authorization grant. The server still owns access control and must verify which principal may read the underlying object.\"},\"tunes\":{}},{\"id\":\"p-res-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The 2026-07-28 protocol revision adds cache semantics for list and resource-read responses, including freshness and cache scope, making caching behavior more explicit.\"},\"tunes\":{}},{\"id\":\"h-prompts\",\"type\":\"header\",\"data\":{\"text\":\"Prompts: reusable templates\",\"level\":2},\"tunes\":{}},{\"id\":\"p-prompts-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP prompts let a server publish reusable prompt templates to compatible clients. This can keep domain-specific instructions close to the capability provider.\"},\"tunes\":{}},{\"id\":\"p-prompts-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"A prompt supplied by an MCP server does not automatically outrank the host's system or security instructions. The host decides how prompt material enters its context hierarchy.\"},\"tunes\":{}},{\"id\":\"p-prompts-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Protocol-provided prompt content should therefore be treated as capability data with explicit trust semantics, not as unrestricted instruction authority.\"},\"tunes\":{}},{\"id\":\"h-tool-vs-resource\",\"type\":\"header\",\"data\":{\"text\":\"Tool or resource?\",\"level\":2},\"tunes\":{}},{\"id\":\"tool-resource-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Need\",\"Prefer\"],[\"Perform an action with structured arguments\",\"Tool\"],[\"Read a specific stable artifact\",\"Resource\"],[\"Search or calculate dynamically\",\"Usually tool\"],[\"Modify external state\",\"Tool\"],[\"Package reusable prompt instructions\",\"Prompt\"],[\"Long-running asynchronous execution\",\"Tool plus application\u002Fruntime task handling or an MCP extension\"]]},\"tunes\":{}},{\"id\":\"h-model-location\",\"type\":\"header\",\"data\":{\"text\":\"Where is the AI model?\",\"level\":2},\"tunes\":{}},{\"id\":\"p-location-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP does not require the model to run on the MCP server. The model can be cloud-hosted, locally hosted, embedded in the desktop application or reached through another provider.\"},\"tunes\":{}},{\"id\":\"p-location-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The host normally owns the model interaction. The MCP server exposes external capability. A local MCP server can therefore be used by a host whose model runs in the cloud, and a remote MCP server can be used by a host whose model runs locally.\"},\"tunes\":{}},{\"id\":\"p-location-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"If the MCP server itself calls an LLM internally, that model is part of the server's implementation behind the protocol boundary; it is not required by MCP.\"},\"tunes\":{}},{\"id\":\"location-rule\",\"type\":\"callout\",\"data\":{\"variant\":\"success\",\"title\":\"Protocol location ≠ inference location\",\"body\":\"\u003Cstrong>Local MCP does not imply local inference, and remote MCP does not imply remote inference.\u003C\u002Fstrong> Connection location, tool-execution location and model\u002Fprovider location are separate architecture dimensions.\"},\"tunes\":{}},{\"id\":\"h-mcp-vs-api\",\"type\":\"header\",\"data\":{\"text\":\"MCP does not replace APIs\",\"level\":2},\"tunes\":{}},{\"id\":\"p-api-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"An MCP server often wraps existing APIs or services. REST, GraphQL, SQL, SDK calls and internal service contracts can remain exactly where they are.\"},\"tunes\":{}},{\"id\":\"p-api-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP adds an AI-facing interoperability layer. The underlying domain API can remain the authoritative application contract for ordinary deterministic clients.\"},\"tunes\":{}},{\"id\":\"p-api-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The usual architecture is therefore API\u002Fservice first, selected AI-facing capability second — not “replace every API with MCP.”\"},\"tunes\":{}},{\"id\":\"h-function-calling\",\"type\":\"header\",\"data\":{\"text\":\"MCP vs function calling\",\"level\":2},\"tunes\":{}},{\"id\":\"function-comparison\",\"type\":\"comparison\",\"data\":{\"title\":\"Function calling and MCP are related but not identical\",\"layout\":\"table\",\"columns\":[{\"id\":\"function\",\"label\":\"Function calling\"},{\"id\":\"mcp\",\"label\":\"MCP\"}],\"rows\":[{\"id\":\"scope\",\"label\":\"Scope\",\"values\":[\"\",\"\"]},{\"id\":\"definition\",\"label\":\"Tool definition\",\"values\":[\"\",\"\"]},{\"id\":\"portability\",\"label\":\"Portability\",\"values\":[\"\",\"\"]},{\"id\":\"coexist\",\"label\":\"Can they coexist?\",\"values\":[\"\",\"\"]}]},\"tunes\":{}},{\"id\":\"p-function-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"OpenAI currently exposes remote MCP servers as one tool type alongside ordinary function calling, web search, shell and other tools. That implementation illustrates the architectural relationship: MCP connectivity and the model's own tool-call interface can be composed.\"},\"tunes\":{}},{\"id\":\"h-agent\",\"type\":\"header\",\"data\":{\"text\":\"MCP does not create the agent loop\",\"level\":2},\"tunes\":{}},{\"id\":\"p-agent-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"An AI agent needs a runtime that can decide, invoke tools, observe results, update state and continue or stop. MCP can supply some of the tools and data used by that loop.\"},\"tunes\":{}},{\"id\":\"p-agent-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The MCP server does not automatically become the planner, memory system or orchestrator. Those responsibilities normally remain in the host or agent runtime.\"},\"tunes\":{}},{\"id\":\"p-agent-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"A non-agentic application can also use MCP. One deterministic MCP tool call does not require an autonomous multi-step agent.\"},\"tunes\":{}},{\"id\":\"h-a2a\",\"type\":\"header\",\"data\":{\"text\":\"MCP vs A2A\",\"level\":2},\"tunes\":{}},{\"id\":\"p-a2a-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP primarily connects an AI host or agent to capabilities such as tools, resources and data. A2A targets collaboration between independent agent systems.\"},\"tunes\":{}},{\"id\":\"p-a2a-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"A remote agent can internally use MCP to reach databases and tools while exposing an A2A interface to other agents. The protocols can therefore be layered rather than substituted.\"},\"tunes\":{}},{\"id\":\"p-a2a-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The existing protocol-stack article owns the broader MCP\u002FA2A\u002FUCP\u002FAP2\u002FA2UI comparison; G02 remains the canonical MCP definition.\"},\"tunes\":{}},{\"id\":\"ref-protocol-stack\",\"type\":\"referralArticle\",\"data\":{\"url\":\"https:\u002F\u002Fstajic.de\u002Fde\u002Fblog\u002Fmcp-vs-a2a-vs-ucp-vs-ap2-vs-a2ui-the-agent-protocol-stack-explained\",\"title\":\"MCP vs A2A vs UCP vs AP2 vs A2UI: The Agent Protocol Stack Explained\",\"excerpt\":\"A broader responsibility map showing how MCP composes with agent collaboration, commerce, payment authority and agent-driven UI protocols.\",\"ctaLabel\":\"Read the protocol stack\"},\"tunes\":{}},{\"id\":\"h-transport\",\"type\":\"header\",\"data\":{\"text\":\"Local and remote MCP use different transport realities\",\"level\":2},\"tunes\":{}},{\"id\":\"p-transport-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP can connect to local and remote servers. Local desktop integrations commonly use process-level transports such as stdio; remote servers use HTTP-oriented transport.\"},\"tunes\":{}},{\"id\":\"p-transport-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The 2026-07-28 revision makes the protocol core stateless. Requests carry the information needed for protocol handling instead of depending on the earlier protocol-level session model.\"},\"tunes\":{}},{\"id\":\"p-transport-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The current revision also places method and capability names in HTTP headers so gateways, WAFs, rate limiters and load balancers can route and meter MCP traffic more naturally.\"},\"tunes\":{}},{\"id\":\"h-version\",\"type\":\"header\",\"data\":{\"text\":\"Why MCP version awareness matters\",\"level\":2},\"tunes\":{}},{\"id\":\"version-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Protocol era\",\"Operational characteristic\"],[\"2025-11-25 and earlier\",\"Handshake\u002Fsession-oriented lifecycle and older Streamable HTTP behavior\"],[\"2026-07-28\",\"Stateless core, optional server discovery, self-describing requests, routing headers, cache hints, MRTR and authorization hardening\"],[\"Extensions\",\"Capabilities such as Tasks and MCP Apps can version separately from the base protocol\"]]},\"tunes\":{}},{\"id\":\"p-version-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"SDK version and protocol version are also different things. The current TypeScript v2 SDK is the stable line for the 2026-07-28 revision, while older v1.x remains a maintenance line for 2025-era behavior.\"},\"tunes\":{}},{\"id\":\"p-version-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Architecture documentation should record both the SDK\u002Flibrary version and the protocol revision where interoperability behavior depends on them.\"},\"tunes\":{}},{\"id\":\"h-modern\",\"type\":\"header\",\"data\":{\"text\":\"What changed in MCP 2026-07-28\",\"level\":2},\"tunes\":{}},{\"id\":\"modern-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Change\",\"Why it matters\"],[\"Stateless core\",\"Remote servers can scale behind ordinary load balancers without protocol-level sticky sessions\"],[\"server\u002Fdiscover\",\"Clients can inspect server capabilities when needed\"],[\"Self-describing requests\",\"Protocol version and client capability metadata travel per request\"],[\"Mcp-Method \u002F Mcp-Name headers\",\"Gateways can route, meter and apply policy without parsing bodies\"],[\"Cache hints\",\"Lists\u002Fresource reads communicate freshness and sharing scope\"],[\"Multi Round-Trip Requests\",\"Servers can require additional input without the older bidirectional request model\"],[\"Authorization hardening\",\"Issuer validation and credential binding strengthen remote auth behavior\"],[\"Extensions framework\",\"Tasks, MCP Apps and other capabilities can evolve separately\"]]},\"tunes\":{}},{\"id\":\"h-deprecations\",\"type\":\"header\",\"data\":{\"text\":\"Roots, sampling and logging are no longer the direction for new implementations\",\"level\":2},\"tunes\":{}},{\"id\":\"p-dep-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"The 2026-07-28 release marks roots, sampling and logging as deprecated protocol capabilities with a defined compatibility window.\"},\"tunes\":{}},{\"id\":\"p-dep-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Older tutorials may still show these features as central primitives. New implementation work should follow the current specification rather than copy older lifecycle diagrams blindly.\"},\"tunes\":{}},{\"id\":\"p-dep-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Deprecation does not mean immediate removal. It means new systems should avoid unnecessary new dependencies on capabilities the protocol is moving away from.\"},\"tunes\":{}},{\"id\":\"h-tasks\",\"type\":\"header\",\"data\":{\"text\":\"Long-running work is not the same as ordinary MCP tool invocation\",\"level\":2},\"tunes\":{}},{\"id\":\"p-task-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Long-running operations need lifecycle semantics beyond a simple immediate tool result. In the current ecosystem, Tasks moved into a dedicated MCP extension.\"},\"tunes\":{}},{\"id\":\"p-task-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"This reinforces a useful design principle: the base protocol does not need to absorb every agent-runtime concern.\"},\"tunes\":{}},{\"id\":\"p-task-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"An application can also keep long-running workflow ownership entirely in its own runtime and use ordinary MCP tools as underlying operations.\"},\"tunes\":{}},{\"id\":\"h-apps\",\"type\":\"header\",\"data\":{\"text\":\"MCP Apps extend UI capability without redefining the core protocol\",\"level\":2},\"tunes\":{}},{\"id\":\"p-apps-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP Apps associate richer interactive UI experiences with MCP tools through the extension model.\"},\"tunes\":{}},{\"id\":\"p-apps-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The host still controls how that UI is embedded, sandboxed and secured.\"},\"tunes\":{}},{\"id\":\"p-apps-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Core capability exchange and UI rendering should therefore remain separate architecture responsibilities.\"},\"tunes\":{}},{\"id\":\"h-auth\",\"type\":\"header\",\"data\":{\"text\":\"MCP authorization is not your complete authorization model\",\"level\":2},\"tunes\":{}},{\"id\":\"p-auth-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Remote MCP needs protocol-level authentication and authorization mechanisms so clients and servers can establish trusted access. The current specification continues to harden OAuth\u002FOIDC-related behavior.\"},\"tunes\":{}},{\"id\":\"p-auth-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"That layer answers whether a client is allowed to connect or request protocol scopes. It does not automatically answer whether Alice may refund order 123, whether an agent may write production configuration or whether Tenant A may read Tenant B data.\"},\"tunes\":{}},{\"id\":\"p-auth-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Those domain decisions belong in the server\u002Fapplication authorization model and must be enforced before invoking the underlying operation.\"},\"tunes\":{}},{\"id\":\"auth-rule\",\"type\":\"callout\",\"data\":{\"variant\":\"warning\",\"title\":\"Never map “authenticated MCP client” to “trusted for every tool”\",\"body\":\"Connection trust, tool visibility, tool permission, user authorization, tenant isolation and business approval are different controls. Keep them separate.\"},\"tunes\":{}},{\"id\":\"h-identity\",\"type\":\"header\",\"data\":{\"text\":\"Identity can cross several boundaries\",\"level\":2},\"tunes\":{}},{\"id\":\"p-id-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"An MCP request may involve the MCP client application, the signed-in human, an agent\u002Fsession identity and a downstream service account.\"},\"tunes\":{}},{\"id\":\"p-id-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The server needs an explicit policy for which principal the operation is performed on behalf of. Otherwise a powerful service credential can become a confused-deputy path.\"},\"tunes\":{}},{\"id\":\"p-id-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"For enterprise use, correlation between user identity, agent identity, MCP connection and downstream authorization is as important as protocol compatibility.\"},\"tunes\":{}},{\"id\":\"h-tenant\",\"type\":\"header\",\"data\":{\"text\":\"Tenant isolation remains outside MCP capability discovery\",\"level\":2},\"tunes\":{}},{\"id\":\"p-tenant-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A multi-tenant MCP server must apply tenant scope when it reads or changes tenant-owned resources. Returning a tool named search_documents does not define which tenant's documents are eligible.\"},\"tunes\":{}},{\"id\":\"p-tenant-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Tenant scope should be derived from trusted identity or membership and carried into databases, caches, vector search, object storage and downstream APIs.\"},\"tunes\":{}},{\"id\":\"p-tenant-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Retrieving cross-tenant content and asking the model not to use it is already an isolation failure.\"},\"tunes\":{}},{\"id\":\"h-source\",\"type\":\"header\",\"data\":{\"text\":\"MCP does not define Source of Truth\",\"level\":2},\"tunes\":{}},{\"id\":\"p-source-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"An MCP server can expose a database, document repository, web search service or AI-generated summary. The protocol does not declare which source is authoritative for a claim.\"},\"tunes\":{}},{\"id\":\"p-source-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Source-of-Truth rules belong to application\u002Fdomain architecture. The host or server can encode authority through tool design, metadata, access policy or validation, but MCP itself does not make one capability “true.”\"},\"tunes\":{}},{\"id\":\"p-source-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"A tool can therefore be perfectly callable through MCP and still return stale, secondary or non-authoritative information.\"},\"tunes\":{}},{\"id\":\"h-context\",\"type\":\"header\",\"data\":{\"text\":\"MCP and context engineering\",\"level\":2},\"tunes\":{}},{\"id\":\"p-context-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP can increase the capabilities and information available to an AI application, but context engineering still determines what reaches the model.\"},\"tunes\":{}},{\"id\":\"p-context-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Tool catalogs consume model-visible context in many hosts. Tool results can be large. Resources can be numerous. A host needs selection, filtering, dynamic loading and compaction rather than exposing everything on every turn.\"},\"tunes\":{}},{\"id\":\"p-context-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Capability availability and model-visible context should therefore be treated as separate layers.\"},\"tunes\":{}},{\"id\":\"h-tool-design\",\"type\":\"header\",\"data\":{\"text\":\"Design MCP tools around outcomes and risk boundaries\",\"level\":2},\"tunes\":{}},{\"id\":\"tool-design-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Weak tool design\",\"Stronger tool design\"],[\"execute_api(method,url,body)\",\"Narrow domain tools with validated operations\"],[\"One admin tool for all actions\",\"Separate read\u002Fwrite\u002Fapproval operations\"],[\"Raw internal API mirrored 1:1\",\"AI-facing contract around coherent user goals\"],[\"One broad filesystem tool\",\"Workspace-scoped read\u002Fwrite operations\"],[\"Security policy only in description\",\"Server enforces policy in code\"],[\"Unbounded raw response\",\"Structured decision-relevant output\"],[\"Delete\u002Fupdate mixed with read\",\"Separate side-effect tools with confirmation policy\"]]},\"tunes\":{}},{\"id\":\"h-approvals\",\"type\":\"header\",\"data\":{\"text\":\"Approvals belong in the execution architecture\",\"level\":2},\"tunes\":{}},{\"id\":\"p-approve-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A host can require user approval before invoking selected MCP tools. OpenAI's current MCP integration supports automatic or explicit-approval execution patterns.\"},\"tunes\":{}},{\"id\":\"p-approve-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"Host approval is useful but should not be the server's only protection because another compatible MCP client may use a different approval model.\"},\"tunes\":{}},{\"id\":\"p-approve-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"For destructive or financially consequential actions, use defense in depth: clear tool contract, runtime approval where appropriate, server-side authorization, business validation and audit.\"},\"tunes\":{}},{\"id\":\"h-observability\",\"type\":\"header\",\"data\":{\"text\":\"MCP observability should connect protocol calls to domain actions\",\"level\":2},\"tunes\":{}},{\"id\":\"p-obs-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"An MCP trace is most useful when it can be correlated with the underlying application call, database change or business transaction.\"},\"tunes\":{}},{\"id\":\"p-obs-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The 2026-07-28 ecosystem standardizes W3C Trace Context propagation conventions, making it easier to follow a request across host, client, server and downstream services.\"},\"tunes\":{}},{\"id\":\"p-obs-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Protocol logs alone are not enough for consequential operations. Audit evidence should also record relevant principal, tenant, target resource, approval and resulting state change.\"},\"tunes\":{}},{\"id\":\"h-failure\",\"type\":\"header\",\"data\":{\"text\":\"What MCP cannot fix\",\"level\":2},\"tunes\":{}},{\"id\":\"failure-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Problem\",\"Why MCP does not solve it\"],[\"Bad business API\",\"MCP can expose the bad API more consistently\"],[\"Wrong data\",\"Protocol validity does not create factual correctness\"],[\"Missing tenant isolation\",\"Tool discovery does not enforce resource ownership\"],[\"Excessive privileges\",\"A standardized tool can still be overprivileged\"],[\"Poor agent planning\",\"MCP exposes capabilities; runtime\u002Fmodel still chooses how to use them\"],[\"Bad retry\u002Fidempotency design\",\"Protocol calls do not make side effects safe\"],[\"No Source of Truth\",\"MCP does not decide which system owns a fact\"],[\"Weak evaluation\",\"Interoperability does not prove task success\"],[\"No audit policy\",\"Transport traces do not define retention or accountability\"],[\"Protocol mismatch\",\"Old\u002Fnew versions can still require migration or compatibility handling\"]]},\"tunes\":{}},{\"id\":\"h-implementation\",\"type\":\"header\",\"data\":{\"text\":\"Original implementation evidence: Aaasaasa AI Client\",\"level\":2},\"tunes\":{}},{\"id\":\"impl-note\",\"type\":\"callout\",\"data\":{\"variant\":\"note\",\"title\":\"Implementation evidence\",\"body\":\"Aaasaasa AI Client contains an authenticated local MCP connector\u002Fbroker for approved local directories and integration through Secure MCP Tunnel. This is concrete implementation evidence for the protocol boundary and permission architecture, not a claim of a general-purpose commercial MCP platform.\"},\"tunes\":{}},{\"id\":\"p-impl-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"The application can run an authenticated Streamable HTTP MCP endpoint on loopback. The endpoint exposes only directories selected through the central workspace permission broker.\"},\"tunes\":{}},{\"id\":\"p-impl-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The local endpoint and remote route are separate concerns: the local connector can bind only to loopback, while a Secure MCP Tunnel can make the approved MCP service reachable to a permitted external AI client without exposing the whole local machine.\"},\"tunes\":{}},{\"id\":\"p-impl-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The central permission model distinguishes chat-only, read-only, project-write and custom-directory profiles. Direct Chat has no filesystem or shell access; tool-capable agent runtimes use the selected permission profile.\"},\"tunes\":{}},{\"id\":\"p-impl-4\",\"type\":\"paragraph\",\"data\":{\"text\":\"This is a direct implementation of the G02 boundary: MCP provides the standardized capability connection, while the application-owned permission broker decides which directories the server may expose.\"},\"tunes\":{}},{\"id\":\"impl-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Implemented element\",\"Architecture evidence\"],[\"Authenticated local MCP endpoint\",\"MCP server can be a local deterministic capability service\"],[\"Loopback binding\",\"Network exposure and protocol capability are separate decisions\"],[\"Secure MCP Tunnel integration\",\"Private\u002Flocal MCP can be bridged through a controlled route\"],[\"Central permission broker\",\"MCP capability is constrained by application policy\"],[\"Selected directory scope\",\"Filesystem visibility is explicitly bounded\"],[\"Direct Chat without OS tools\",\"Model access does not automatically imply tool access\"]]},\"tunes\":{}},{\"id\":\"impl-boundary\",\"type\":\"callout\",\"data\":{\"variant\":\"warning\",\"title\":\"Evidence boundary\",\"body\":\"The implementation demonstrates MCP connectivity and permission-scoped local directory exposure. It does not imply that every MCP primitive, every 2026-07-28 feature or every enterprise authorization extension is implemented.\"},\"tunes\":{}},{\"id\":\"h-use\",\"type\":\"header\",\"data\":{\"text\":\"When MCP is a good fit\",\"level\":2},\"tunes\":{}},{\"id\":\"use-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"MCP is a strong fit when\",\"A direct integration may be simpler when\"],[\"The same capability should be reusable across multiple AI hosts\",\"One application owns both sides and portability has little value\"],[\"An external system wants to publish discoverable AI-facing tools\u002Fresources\",\"A single stable internal API call is sufficient\"],[\"You want a standard boundary around local tools\u002Fdata\",\"There is no AI-facing interoperability requirement\"],[\"Tool providers and AI clients evolve independently\",\"The integration is intentionally private and tightly coupled\"],[\"You want ecosystem-compatible capability discovery\",\"The capability set is tiny and fixed in application code\"]]},\"tunes\":{}},{\"id\":\"h-not-need\",\"type\":\"header\",\"data\":{\"text\":\"When you do not need MCP\",\"level\":2},\"tunes\":{}},{\"id\":\"p-not-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Do not add MCP merely because the application uses AI. If your backend already calls one internal API and no independent MCP client needs that capability, an ordinary function or service call may be clearer.\"},\"tunes\":{}},{\"id\":\"p-not-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP adds value at an interoperability boundary. Without that boundary, the protocol can become an unnecessary adapter layer.\"},\"tunes\":{}},{\"id\":\"p-not-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The architectural question is not “Does this project have AI?” but “Do independently evolving AI hosts and capability providers benefit from a standard contract?”\"},\"tunes\":{}},{\"id\":\"h-security\",\"type\":\"header\",\"data\":{\"text\":\"MCP security checklist\",\"level\":2},\"tunes\":{}},{\"id\":\"security-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Boundary\",\"Question\"],[\"Server identity\",\"Which MCP server am I actually connected to?\"],[\"Client identity\",\"Which application\u002Fclient is requesting access?\"],[\"End-user identity\",\"On whose behalf is the operation performed?\"],[\"Tool allowlist\",\"Which capabilities may this host\u002Fagent discover and call?\"],[\"Business permission\",\"May this principal perform this operation?\"],[\"Tenant scope\",\"Which tenant\u002Fresource boundary applies?\"],[\"Credential isolation\",\"Are credentials bound correctly and kept outside model context?\"],[\"Approval\",\"Which side effects require human confirmation?\"],[\"Input validation\",\"Are tool arguments validated independently of model output?\"],[\"Output trust\",\"Can returned content contain untrusted instructions or sensitive data?\"],[\"Network exposure\",\"Is a local server accidentally exposed beyond intended interfaces?\"],[\"Audit\",\"Can a protocol call be correlated with the downstream action?\"]]},\"tunes\":{}},{\"id\":\"h-misconceptions\",\"type\":\"header\",\"data\":{\"text\":\"Common misconceptions\",\"level\":2},\"tunes\":{}},{\"id\":\"misconceptions-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Misconception\",\"Correction\"],[\"“An MCP server is an AI server.”\",\"It can be ordinary deterministic software exposing capabilities.\"],[\"“I need my own LLM on the MCP server.”\",\"No. The model can live entirely on the host side.\"],[\"“MCP replaces REST APIs.”\",\"MCP often wraps existing APIs for AI-facing interoperability.\"],[\"“MCP is an agent framework.”\",\"MCP supplies capabilities; an agent runtime manages iteration and state.\"],[\"“MCP and function calling compete.”\",\"A host can bridge MCP capabilities into its model tool interface.\"],[\"“MCP replaces A2A.”\",\"MCP focuses on capability integration; A2A focuses on agent collaboration.\"],[\"“If a tool is listed, the user may call it.”\",\"Discovery is not authorization.\"],[\"“OAuth solves business permissions.”\",\"Connection authorization does not replace domain authorization or tenant isolation.\"],[\"“Local MCP means local AI.”\",\"Tool-server location and inference location are independent.\"],[\"“MCP makes tool output trustworthy.”\",\"Data quality, authority and provenance still belong to the source\u002Fapplication.\"],[\"“One giant generic tool is flexible.”\",\"Over-broad tools weaken permissions, validation and observability.\"],[\"“Old tutorials are implementation-current.”\",\"The 2026-07-28 revision materially changed lifecycle and transport behavior.\"]]},\"tunes\":{}},{\"id\":\"h-design\",\"type\":\"header\",\"data\":{\"text\":\"A practical MCP design sequence\",\"level\":2},\"tunes\":{}},{\"id\":\"design-flow\",\"type\":\"processFlow\",\"data\":{\"title\":\"Design the boundary before implementing the server\",\"orientation\":\"auto\",\"steps\":[{\"label\":\"1. Identify the interoperability boundary\",\"description\":\"Confirm that independent AI hosts actually need reusable access.\"},{\"label\":\"2. Keep the domain API authoritative\",\"description\":\"Preserve the real application\u002Fservice contract behind MCP.\"},{\"label\":\"3. Choose primitives deliberately\",\"description\":\"Use tools, resources and prompts according to their semantics.\"},{\"label\":\"4. Split by risk and permission\",\"description\":\"Separate read, write, destructive and approval-required operations.\"},{\"label\":\"5. Define identity propagation\",\"description\":\"Know which client, user, agent and downstream principal each call represents.\"},{\"label\":\"6. Enforce business authorization\",\"description\":\"Validate permissions, tenant scope and target ownership.\"},{\"label\":\"7. Choose local or remote transport\",\"description\":\"Match deployment topology to the real need.\"},{\"label\":\"8. Pin protocol\u002FSDK expectations\",\"description\":\"Document 2026-07-28 versus older compatibility.\"},{\"label\":\"9. Add approvals for consequential actions\",\"description\":\"Use risk-appropriate confirmation controls.\"},{\"label\":\"10. Design structured outputs\",\"description\":\"Return concise machine-usable results.\"},{\"label\":\"11. Add tracing and audit correlation\",\"description\":\"Connect MCP calls to downstream service\u002Fbusiness events.\"},{\"label\":\"12. Test portability\",\"description\":\"Verify more than one client where interoperability is a stated requirement.\"}]},\"tunes\":{}},{\"id\":\"h-checklist\",\"type\":\"header\",\"data\":{\"text\":\"MCP architecture checklist\",\"level\":2},\"tunes\":{}},{\"id\":\"checklist-table\",\"type\":\"table\",\"data\":{\"withHeadings\":true,\"stretched\":false,\"content\":[[\"Question\",\"Expected answer\"],[\"Why is MCP needed?\",\"A real AI-facing interoperability boundary\"],[\"What does the server expose?\",\"Explicit tools\u002Fresources\u002Fprompts\"],[\"Where does the model run?\",\"Independent host\u002Fprovider decision\"],[\"Where does tool execution run?\",\"Named server\u002Fruntime location\"],[\"Which protocol revision is expected?\",\"Version-aware contract\"],[\"Who is the requesting principal?\",\"Client\u002Fuser\u002Fagent identity model\"],[\"Which tools may be discovered?\",\"Allowlist\u002Fcapability policy\"],[\"Which operations may execute?\",\"Server-side business authorization\"],[\"How is tenant\u002Fresource scope enforced?\",\"Trusted tenant\u002Fresource ownership checks\"],[\"Which actions need approval?\",\"Risk-based confirmation policy\"],[\"How are credentials protected?\",\"Trusted runtime storage, not model-visible secrets\"],[\"How is output bounded?\",\"Structured relevant result contract\"],[\"How are calls traced?\",\"Correlation through MCP to downstream action\"],[\"What happens if MCP is unavailable?\",\"Defined fallback\u002Ffailure behavior\"],[\"Can another compatible host use it?\",\"Portability validated where required\"]]},\"tunes\":{}},{\"id\":\"h-edge\",\"type\":\"header\",\"data\":{\"text\":\"Edge cases and limitations\",\"level\":2},\"tunes\":{}},{\"id\":\"p-edge-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"A local stdio MCP server can have little network exposure while still be dangerous if the process itself has excessive filesystem or shell permissions.\"},\"tunes\":{}},{\"id\":\"p-edge-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"A remote MCP server may expose only public documentation or highly sensitive enterprise actions. “Remote MCP” says little about risk without the capability and authorization context.\"},\"tunes\":{}},{\"id\":\"p-edge-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"Some servers may use only tools and ignore resources\u002Fprompts. MCP compatibility does not require every optional primitive to be equally important.\"},\"tunes\":{}},{\"id\":\"p-edge-4\",\"type\":\"paragraph\",\"data\":{\"text\":\"A host can translate between its own internal tool model and MCP. Users may never see the protocol boundary directly, which is acceptable if security and attribution remain clear.\"},\"tunes\":{}},{\"id\":\"p-edge-5\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP continues to evolve rapidly. Extensions, authorization patterns, SDK APIs and ecosystem conventions can change faster than the core architectural distinction.\"},\"tunes\":{}},{\"id\":\"h-change\",\"type\":\"header\",\"data\":{\"text\":\"What would change this answer?\",\"level\":2},\"tunes\":{}},{\"id\":\"p-change-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"Future MCP revisions can change lifecycle, transports, authorization and extension mechanisms. The July 2026 revision already demonstrates why implementation-specific claims must be dated.\"},\"tunes\":{}},{\"id\":\"p-change-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The canonical boundary would change only if MCP expanded from an interoperability protocol into an end-to-end application\u002Fagent architecture standard. That is not what the current protocol defines.\"},\"tunes\":{}},{\"id\":\"p-change-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"For implementation work, always check the current specification and exact SDK line instead of copying version-sensitive examples from older tutorials.\"},\"tunes\":{}},{\"id\":\"h-related\",\"type\":\"header\",\"data\":{\"text\":\"Related canonical knowledge\",\"level\":2},\"tunes\":{}},{\"id\":\"p-related-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP belongs downstream of Agentic AI: first understand the agent\u002Fruntime\u002Ftool boundary, then use MCP when external capabilities need a portable protocol contract.\"},\"tunes\":{}},{\"id\":\"p-related-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP also depends on RBAC and tenant isolation because protocol-level capability exposure does not determine application authorization.\"},\"tunes\":{}},{\"id\":\"p-related-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"The broader protocol-stack article explains where MCP sits beside A2A, UCP, AP2 and A2UI. G02 remains the canonical source for MCP itself.\"},\"tunes\":{}},{\"id\":\"ref-reliability\",\"type\":\"referralArticle\",\"data\":{\"url\":\"https:\u002F\u002Fstajic.de\u002Fblog\u002Fai-agent-reliability-why-the-final-answer-is-not-enough\",\"title\":\"AI Agent Reliability: Why the Final Answer Is Not Enough\",\"excerpt\":\"MCP tool calls become part of an agent trajectory; reliable systems need to evaluate actions and observations, not only final text.\",\"ctaLabel\":\"Read the agent reliability article\"},\"tunes\":{}},{\"id\":\"h-faq\",\"type\":\"header\",\"data\":{\"text\":\"Frequently asked questions\",\"level\":2},\"tunes\":{}},{\"id\":\"faq\",\"type\":\"faq\",\"data\":{\"title\":\"Model Context Protocol FAQ\",\"items\":[{\"id\":\"faq1\",\"question\":\"What is MCP?\",\"answer\":\"The Model Context Protocol is an open client-server protocol for connecting AI applications to external tools, resources, prompts and capability providers through a standardized contract.\"},{\"id\":\"faq2\",\"question\":\"Does an MCP server need an AI model?\",\"answer\":\"No. An MCP server can be completely deterministic software. The model normally runs in the AI host or agent runtime, although a server may optionally use AI internally.\"},{\"id\":\"faq3\",\"question\":\"What is the difference between an MCP client and server?\",\"answer\":\"The client is the protocol component used by an AI host to communicate with capability providers. The server publishes and executes the capabilities it exposes.\"},{\"id\":\"faq4\",\"question\":\"Does MCP replace function calling?\",\"answer\":\"No. Function\u002Ftool calling is how a model invokes configured capabilities. MCP standardizes discovery and communication with external capability servers. A host can bridge the two.\"},{\"id\":\"faq5\",\"question\":\"Does MCP replace REST APIs?\",\"answer\":\"No. MCP servers frequently wrap existing REST, GraphQL, database or service APIs and provide an AI-facing interoperability layer.\"},{\"id\":\"faq6\",\"question\":\"Is MCP an agent framework?\",\"answer\":\"No. MCP exposes capabilities. Agent planning, state, memory, context management, retries, orchestration and stopping belong to the surrounding runtime.\"},{\"id\":\"faq7\",\"question\":\"What is the difference between MCP and A2A?\",\"answer\":\"MCP primarily connects an AI host or agent to tools and data providers. A2A connects independent agent systems for collaboration and delegation.\"},{\"id\":\"faq8\",\"question\":\"Does MCP handle authorization?\",\"answer\":\"MCP includes protocol-level authorization mechanisms, especially for remote servers, but the application must still enforce business permissions, resource ownership and tenant isolation.\"},{\"id\":\"faq9\",\"question\":\"Can MCP work with local models?\",\"answer\":\"Yes. Model location is independent of MCP. A local-model host can call local or remote MCP servers, and a cloud-model host can use approved local or remote MCP servers through an appropriate connection architecture.\"},{\"id\":\"faq10\",\"question\":\"What is the current MCP specification version?\",\"answer\":\"As of 8 October 2026, the current specification revision is 2026-07-28. Older 2025-era implementations remain in use, so compatibility must be checked.\"}]},\"tunes\":{}},{\"id\":\"h-glossary\",\"type\":\"header\",\"data\":{\"text\":\"Glossary\",\"level\":2},\"tunes\":{}},{\"id\":\"glossary\",\"type\":\"glossary\",\"data\":{\"title\":\"Key MCP terms\",\"entries\":[{\"term\":\"MCP\",\"definition\":\"Model Context Protocol, an open protocol for interoperable connections between AI hosts\u002Fclients and external capability servers.\",\"anchor\":\"mcp\"},{\"term\":\"MCP host\",\"definition\":\"The AI application or runtime that owns model interaction and uses MCP clients to connect to servers.\",\"anchor\":\"mcp-host\"},{\"term\":\"MCP client\",\"definition\":\"Protocol component on the host side that communicates with an MCP server.\",\"anchor\":\"mcp-client\"},{\"term\":\"MCP server\",\"definition\":\"Capability provider that implements MCP and exposes tools, resources, prompts or supported extensions.\",\"anchor\":\"mcp-server\"},{\"term\":\"Tool\",\"definition\":\"Callable structured capability exposed by an MCP server.\",\"anchor\":\"mcp-tool\"},{\"term\":\"Resource\",\"definition\":\"Readable data or content exposed through MCP resource methods.\",\"anchor\":\"mcp-resource\"},{\"term\":\"Prompt\",\"definition\":\"Reusable prompt template exposed by an MCP server for compatible hosts.\",\"anchor\":\"mcp-prompt\"},{\"term\":\"Streamable HTTP\",\"definition\":\"HTTP-oriented MCP transport used for remote\u002Fnetworked server communication.\",\"anchor\":\"streamable-http\"},{\"term\":\"stdio\",\"definition\":\"Process standard-input\u002Foutput transport commonly used for local MCP server integrations.\",\"anchor\":\"stdio\"},{\"term\":\"server\u002Fdiscover\",\"definition\":\"Modern MCP method that lets a client inspect server capabilities in the 2026-07-28 protocol era.\",\"anchor\":\"server-discover\"},{\"term\":\"MRTR\",\"definition\":\"Multi Round-Trip Requests, a mechanism for obtaining additional input during a request in the 2026-07-28 protocol era.\",\"anchor\":\"mrtr\"},{\"term\":\"MCP extension\",\"definition\":\"Capability that composes with the base protocol and can evolve\u002Fversion separately, such as Tasks or MCP Apps.\",\"anchor\":\"mcp-extension\"}]},\"tunes\":{}},{\"id\":\"h-conclusion\",\"type\":\"header\",\"data\":{\"text\":\"Conclusion\",\"level\":2},\"tunes\":{}},{\"id\":\"p-conclusion-1\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP is easiest to understand when its boundary stays narrow: it connects AI applications to external capabilities through a standard protocol.\"},\"tunes\":{}},{\"id\":\"p-conclusion-2\",\"type\":\"paragraph\",\"data\":{\"text\":\"The model does not have to live on the MCP server. The server does not become the agent runtime. A listed tool does not become an authorized business action. And MCP does not replace the underlying API, Source of Truth, tenant isolation or domain architecture.\"},\"tunes\":{}},{\"id\":\"p-conclusion-3\",\"type\":\"paragraph\",\"data\":{\"text\":\"That narrowness is the protocol's strength. MCP can standardize how AI systems reach tools and data while leaving application ownership, security, business semantics and model choice in the layers that actually own them.\"},\"tunes\":{}},{\"id\":\"h-sources\",\"type\":\"header\",\"data\":{\"text\":\"Primary sources and current documentation\",\"level\":2},\"tunes\":{}},{\"id\":\"p-sources-note\",\"type\":\"paragraph\",\"data\":{\"text\":\"MCP is evolving quickly, so version-sensitive claims in this article are tied to the 8 October 2026 state. The Aaasaasa AI Client section is original implementation evidence and is explicitly limited to the verified MCP connector and permission-broker scope.\"},\"tunes\":{}},{\"id\":\"src-mcp-ts\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fts.sdk.modelcontextprotocol.io\u002Fv2\u002F\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Model Context Protocol — TypeScript SDK v2\",\"description\":\"Current stable TypeScript SDK documentation implementing the 2026-07-28 MCP specification and server\u002Fclient primitives.\"}},\"tunes\":{}},{\"id\":\"src-mcp-release\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fblog.modelcontextprotocol.io\u002Fposts\u002F2026-07-28\u002F\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"Model Context Protocol — 2026-07-28 Specification Release\",\"description\":\"Official release explanation for the current MCP protocol revision, including stateless core, MRTR, routing, caching, authorization hardening, extensions and deprecations.\"}},\"tunes\":{}},{\"id\":\"src-mcp-migration\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fts.sdk.modelcontextprotocol.io\u002Fv2\u002Fmigration\u002Fsupport-2026-07-28\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"MCP TypeScript SDK — Supporting protocol revision 2026-07-28\",\"description\":\"Version-specific implementation guidance for the current protocol revision and earlier-era compatibility.\"}},\"tunes\":{}},{\"id\":\"src-openai-mcp\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Ftools-connectors-mcp\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"OpenAI — MCP servers\",\"description\":\"Current OpenAI guidance for connecting models to remote MCP servers and local\u002Fprivate MCP servers through Secure MCP Tunnel.\"}},\"tunes\":{}},{\"id\":\"src-openai-agent-mcp\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fagents-api\u002Ftools\u002Fmcp\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"OpenAI — MCP connections for Agents API\",\"description\":\"Current MCP connection guidance covering service, environment and stdio locations plus allowed-tool controls.\"}},\"tunes\":{}},{\"id\":\"src-openai-tools\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Ftools\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"OpenAI — Tools\",\"description\":\"Current overview placing remote MCP servers alongside function calling, web search, shell and other model tools.\"}},\"tunes\":{}},{\"id\":\"src-openai-plugin-mcp\",\"type\":\"linkTool\",\"data\":{\"link\":\"https:\u002F\u002Fdevelopers.openai.com\u002Fplugins\u002Fconcepts\u002Fmcp-server\",\"meta\":{\"image\":{\"url\":\"\"},\"title\":\"OpenAI — MCP server concept\",\"description\":\"Current description of MCP servers exposing tools, resources and prompts for external service integrations.\"}},\"tunes\":{}}],\"version\":\"2.31.6\"}",{"time":1654,"blocks":1655,"version":2812},1791486641380,[1656,1660,1665,1670,1675,1680,1684,1688,1692,1696,1700,1704,1708,1712,1716,1742,1746,1750,1754,1758,1762,1787,1791,1795,1799,1823,1827,1831,1835,1839,1843,1847,1851,1855,1859,1863,1867,1871,1875,1899,1903,1907,1911,1915,1920,1924,1928,1932,1936,1940,1961,1965,1969,1973,1977,1981,1984,1988,1992,1996,2002,2006,2010,2014,2018,2022,2036,2040,2044,2048,2078,2082,2086,2090,2094,2098,2102,2106,2110,2114,2118,2122,2126,2130,2134,2138,2142,2147,2151,2155,2159,2163,2167,2171,2175,2179,2183,2187,2191,2195,2199,2203,2207,2211,2215,2242,2246,2250,2254,2258,2262,2266,2270,2274,2278,2315,2319,2324,2328,2332,2336,2340,2365,2370,2374,2396,2400,2404,2408,2412,2416,2457,2461,2503,2507,2548,2552,2603,2607,2611,2615,2619,2623,2627,2631,2635,2639,2643,2647,2651,2655,2659,2666,2670,2705,2709,2740,2743,2747,2751,2755,2759,2763,2770,2777,2784,2791,2798,2805],{"id":215,"data":1657,"type":218,"tunes":1659},{"text":1658},"The Model Context Protocol (MCP) is an open protocol for connecting AI applications to external capabilities and information through standardized client-server contracts. An MCP server can expose tools, resources and prompts; an MCP-compatible host or client discovers and uses those capabilities on behalf of an AI application. MCP does not require the server to run its own language model, and it does not replace the agent runtime, business authorization, tenant isolation, application APIs or domain architecture behind the exposed capabilities.",{},{"id":221,"data":1661,"type":226,"tunes":1664},{"body":1662,"title":1663,"variant":225},"\u003Cstrong>MCP standardizes the boundary between an AI host and external capability providers.\u003C\u002Fstrong>\u003Cbr>\u003Cbr>A useful mental model is:\u003Cbr>\u003Cstrong>User → AI host \u002F agent runtime → MCP client → MCP server → application\u002FAPI\u002Fdata\u002Ftool\u003C\u002Fstrong>.\u003Cbr>\u003Cbr>The model can remain entirely on the host side. The MCP server may be ordinary deterministic software that exposes structured capabilities.","Direct answer",{},{"id":229,"data":1666,"type":226,"tunes":1669},{"body":1667,"title":1668,"variant":233},"A filesystem MCP server can list or read files. A database MCP server can run approved queries. A Jira MCP server can expose issue operations. None of those servers needs an LLM to satisfy the MCP contract. If a server internally uses AI, that is an implementation choice behind the protocol boundary, not an MCP requirement.","An MCP server does not need its own AI model",{},{"id":236,"data":1671,"type":226,"tunes":1674},{"body":1672,"title":1673,"variant":240},"If an MCP server exposes \u003Ccode>delete_file\u003C\u002Fcode>, \u003Ccode>refund_order\u003C\u002Fcode> or \u003Ccode>deploy_service\u003C\u002Fcode>, that only means the capability exists. The server\u002Fapplication must still enforce identity, permissions, tenant scope, business rules, confirmation requirements and audit controls. Protocol discovery must never silently become authorization.","MCP capability is not business authority",{},{"id":243,"data":1676,"type":226,"tunes":1679},{"body":1677,"title":1678,"variant":247},"The current MCP specification revision is \u003Cstrong>2026-07-28\u003C\u002Fstrong>. Its major change is a stateless protocol core with self-describing requests, optional \u003Ccode>server\u002Fdiscover\u003C\u002Fcode>, routable HTTP headers, cacheable list\u002Fresource responses, authorization hardening and a formal extension model. The TypeScript SDK v2 is the current stable SDK line implementing this revision. Older 2025-era clients and servers still exist, so implementation guidance must remain version-aware.","Current-source note — 8 October 2026",{},{"id":250,"data":1681,"type":255,"tunes":1683},{"title":1682,"maxLevel":253,"minLevel":254},"Contents",{},{"id":258,"data":1685,"type":42,"tunes":1687},{"text":1686,"level":254},"What MCP really standardizes",{},{"id":263,"data":1689,"type":218,"tunes":1691},{"text":1690},"Before MCP, every AI application could integrate external systems through its own tool schema, plugin format, authentication convention and connection code. The same service could need different adapters for a desktop AI client, an IDE agent and a custom application.",{},{"id":268,"data":1693,"type":218,"tunes":1695},{"text":1694},"MCP creates a reusable protocol boundary. The external system exposes capabilities through an MCP server, while compatible AI hosts implement an MCP client. This reduces integration coupling between the AI application and the underlying tool or data provider.",{},{"id":273,"data":1697,"type":218,"tunes":1699},{"text":1698},"The protocol does not standardize the entire application. It standardizes how capabilities are described, discovered and invoked across that boundary.",{},{"id":278,"data":1701,"type":42,"tunes":1703},{"text":1702,"level":254},"The simplest example",{},{"id":283,"data":1705,"type":218,"tunes":1707},{"text":1706},"Suppose an AI coding application needs access to a local project directory. Without MCP, the application might implement its own filesystem integration directly.",{},{"id":288,"data":1709,"type":218,"tunes":1711},{"text":1710},"With MCP, a filesystem server can expose capabilities such as listing directories, reading approved files or writing inside an allowed workspace. The AI host connects through an MCP client and presents those capabilities to the model or agent runtime.",{},{"id":293,"data":1713,"type":218,"tunes":1715},{"text":1714},"The server does not need to understand the user's natural-language request. The host\u002Fmodel decides which capability is useful; the MCP server executes the structured request under its own security rules.",{},{"id":298,"data":1717,"type":324,"tunes":1741},{"steps":1718,"title":1740,"orientation":323},[1719,1722,1725,1728,1731,1734,1737],{"label":1720,"description":1721},"1. Host connects to server","The MCP-capable application configures access to the external MCP server.",{"label":1723,"description":1724},"2. Capabilities are discovered","The client learns which tools, resources or prompts the server exposes.",{"label":1726,"description":1727},"3. Model or runtime selects a capability","The AI application decides that one exposed capability is needed.",{"label":1729,"description":1730},"4. Client sends structured request","Arguments are sent through MCP to the server.",{"label":1732,"description":1733},"5. Server authorizes and executes","The server validates the request and calls its underlying system.",{"label":1735,"description":1736},"6. Result returns to host","The result becomes an observation or context input.",{"label":1738,"description":1739},"7. Host decides what happens next","The model\u002Fruntime may answer, call another tool or continue a workflow.","A basic MCP tool call",{},{"id":327,"data":1743,"type":42,"tunes":1745},{"text":1744,"level":254},"Where the simple example stops",{},{"id":332,"data":1747,"type":218,"tunes":1749},{"text":1748},"MCP does not define how the host chooses a tool, how an agent plans, how a business workflow is modeled or how a domain object such as an invoice or deployment should behave.",{},{"id":337,"data":1751,"type":218,"tunes":1753},{"text":1752},"A protocol can make the integration interoperable while the underlying application remains incorrect, insecure or badly designed. A perfectly valid MCP request can still call the wrong business capability.",{},{"id":342,"data":1755,"type":218,"tunes":1757},{"text":1756},"The central boundary is: MCP standardizes integration semantics, not application truth or business correctness.",{},{"id":347,"data":1759,"type":42,"tunes":1761},{"text":1760,"level":254},"The MCP architecture: host, client and server",{},{"id":352,"data":1763,"type":376,"tunes":1786},{"content":1764,"stretched":43,"withHeadings":14},[1765,1768,1771,1774,1777,1780,1783],[1766,1767],"Component","Responsibility",[1769,1770],"AI host","User-facing AI application or runtime that owns model interaction, context and overall workflow",[1772,1773],"MCP client","Protocol-side component used by the host to communicate with an MCP server",[1775,1776],"MCP server","Publishes capabilities and handles MCP requests",[1778,1779],"Underlying system","Application, API, database, filesystem, SaaS platform or service behind the MCP server",[1781,1782],"Model","Chooses or reasons about capabilities according to the host\u002Fruntime design; it is not necessarily inside the MCP server",[1784,1785],"Authorization\u002Fbusiness policy","Determines whether a requested operation is actually permitted",{},{"id":379,"data":1788,"type":218,"tunes":1790},{"text":1789},"A host can connect to multiple MCP servers, and one MCP server can front one or several underlying systems. The host remains responsible for integrating MCP results into the broader AI application.",{},{"id":384,"data":1792,"type":218,"tunes":1794},{"text":1793},"The server can be local to the host, run as a separate process or be remote over a network transport. Hosting topology and model location are independent decisions.",{},{"id":389,"data":1796,"type":42,"tunes":1798},{"text":1797,"level":254},"The three core server primitives",{},{"id":394,"data":1800,"type":425,"tunes":1822},{"rows":1801,"title":1814,"layout":376,"columns":1815},[1802,1805,1808,1811],{"id":398,"label":1803,"values":1804},"Primary purpose",[401,401,401],{"id":403,"label":1806,"values":1807},"Typical interaction",[401,401,401],{"id":407,"label":1809,"values":1810},"Example",[401,401,401],{"id":411,"label":1812,"values":1813},"Typical risk",[401,401,401],"Tools, resources and prompts solve different needs",[1816,1818,1820],{"id":417,"label":1817},"Tools",{"id":420,"label":1819},"Resources",{"id":423,"label":1821},"Prompts",{},{"id":428,"data":1824,"type":42,"tunes":1826},{"text":1825,"level":254},"Tools: callable capabilities",{},{"id":433,"data":1828,"type":218,"tunes":1830},{"text":1829},"Tools are structured operations an MCP server makes available to the host. A tool has a name, description and input schema; modern implementations can also provide structured output.",{},{"id":438,"data":1832,"type":218,"tunes":1834},{"text":1833},"Examples include searching a repository, reading a customer record, creating a ticket, running a build or sending a message. Tools can be read-only or have side effects.",{},{"id":443,"data":1836,"type":218,"tunes":1838},{"text":1837},"A good MCP tool surface should represent coherent user or agent goals rather than mechanically mirror every internal API endpoint. Operations with different permissions, confirmation requirements or blast radius should usually be separate tools.",{},{"id":448,"data":1840,"type":42,"tunes":1842},{"text":1841,"level":254},"Resources: readable context and data",{},{"id":453,"data":1844,"type":218,"tunes":1846},{"text":1845},"Resources expose data or content that a client can list or read. They fit naturally when the semantic operation is “give me this artifact or information” rather than “perform this action.”",{},{"id":458,"data":1848,"type":218,"tunes":1850},{"text":1849},"A resource URI is not an authorization grant. The server still owns access control and must verify which principal may read the underlying object.",{},{"id":463,"data":1852,"type":218,"tunes":1854},{"text":1853},"The 2026-07-28 protocol revision adds cache semantics for list and resource-read responses, including freshness and cache scope, making caching behavior more explicit.",{},{"id":468,"data":1856,"type":42,"tunes":1858},{"text":1857,"level":254},"Prompts: reusable templates",{},{"id":473,"data":1860,"type":218,"tunes":1862},{"text":1861},"MCP prompts let a server publish reusable prompt templates to compatible clients. This can keep domain-specific instructions close to the capability provider.",{},{"id":478,"data":1864,"type":218,"tunes":1866},{"text":1865},"A prompt supplied by an MCP server does not automatically outrank the host's system or security instructions. The host decides how prompt material enters its context hierarchy.",{},{"id":483,"data":1868,"type":218,"tunes":1870},{"text":1869},"Protocol-provided prompt content should therefore be treated as capability data with explicit trust semantics, not as unrestricted instruction authority.",{},{"id":488,"data":1872,"type":42,"tunes":1874},{"text":1873,"level":254},"Tool or resource?",{},{"id":493,"data":1876,"type":376,"tunes":1898},{"content":1877,"stretched":43,"withHeadings":14},[1878,1881,1884,1887,1890,1892,1895],[1879,1880],"Need","Prefer",[1882,1883],"Perform an action with structured arguments","Tool",[1885,1886],"Read a specific stable artifact","Resource",[1888,1889],"Search or calculate dynamically","Usually tool",[1891,1883],"Modify external state",[1893,1894],"Package reusable prompt instructions","Prompt",[1896,1897],"Long-running asynchronous execution","Tool plus application\u002Fruntime task handling or an MCP extension",{},{"id":518,"data":1900,"type":42,"tunes":1902},{"text":1901,"level":254},"Where is the AI model?",{},{"id":523,"data":1904,"type":218,"tunes":1906},{"text":1905},"MCP does not require the model to run on the MCP server. The model can be cloud-hosted, locally hosted, embedded in the desktop application or reached through another provider.",{},{"id":528,"data":1908,"type":218,"tunes":1910},{"text":1909},"The host normally owns the model interaction. The MCP server exposes external capability. A local MCP server can therefore be used by a host whose model runs in the cloud, and a remote MCP server can be used by a host whose model runs locally.",{},{"id":533,"data":1912,"type":218,"tunes":1914},{"text":1913},"If the MCP server itself calls an LLM internally, that model is part of the server's implementation behind the protocol boundary; it is not required by MCP.",{},{"id":538,"data":1916,"type":226,"tunes":1919},{"body":1917,"title":1918,"variant":233},"\u003Cstrong>Local MCP does not imply local inference, and remote MCP does not imply remote inference.\u003C\u002Fstrong> Connection location, tool-execution location and model\u002Fprovider location are separate architecture dimensions.","Protocol location ≠ inference location",{},{"id":544,"data":1921,"type":42,"tunes":1923},{"text":1922,"level":254},"MCP does not replace APIs",{},{"id":549,"data":1925,"type":218,"tunes":1927},{"text":1926},"An MCP server often wraps existing APIs or services. REST, GraphQL, SQL, SDK calls and internal service contracts can remain exactly where they are.",{},{"id":554,"data":1929,"type":218,"tunes":1931},{"text":1930},"MCP adds an AI-facing interoperability layer. The underlying domain API can remain the authoritative application contract for ordinary deterministic clients.",{},{"id":559,"data":1933,"type":218,"tunes":1935},{"text":1934},"The usual architecture is therefore API\u002Fservice first, selected AI-facing capability second — not “replace every API with MCP.”",{},{"id":564,"data":1937,"type":42,"tunes":1939},{"text":1938,"level":254},"MCP vs function calling",{},{"id":569,"data":1941,"type":425,"tunes":1960},{"rows":1942,"title":1955,"layout":376,"columns":1956},[1943,1946,1949,1952],{"id":573,"label":1944,"values":1945},"Scope",[401,401],{"id":577,"label":1947,"values":1948},"Tool definition",[401,401],{"id":581,"label":1950,"values":1951},"Portability",[401,401],{"id":585,"label":1953,"values":1954},"Can they coexist?",[401,401],"Function calling and MCP are related but not identical",[1957,1959],{"id":591,"label":1958},"Function calling",{"id":594,"label":595},{},{"id":598,"data":1962,"type":218,"tunes":1964},{"text":1963},"OpenAI currently exposes remote MCP servers as one tool type alongside ordinary function calling, web search, shell and other tools. That implementation illustrates the architectural relationship: MCP connectivity and the model's own tool-call interface can be composed.",{},{"id":603,"data":1966,"type":42,"tunes":1968},{"text":1967,"level":254},"MCP does not create the agent loop",{},{"id":608,"data":1970,"type":218,"tunes":1972},{"text":1971},"An AI agent needs a runtime that can decide, invoke tools, observe results, update state and continue or stop. MCP can supply some of the tools and data used by that loop.",{},{"id":613,"data":1974,"type":218,"tunes":1976},{"text":1975},"The MCP server does not automatically become the planner, memory system or orchestrator. Those responsibilities normally remain in the host or agent runtime.",{},{"id":618,"data":1978,"type":218,"tunes":1980},{"text":1979},"A non-agentic application can also use MCP. One deterministic MCP tool call does not require an autonomous multi-step agent.",{},{"id":623,"data":1982,"type":42,"tunes":1983},{"text":625,"level":254},{},{"id":628,"data":1985,"type":218,"tunes":1987},{"text":1986},"MCP primarily connects an AI host or agent to capabilities such as tools, resources and data. A2A targets collaboration between independent agent systems.",{},{"id":633,"data":1989,"type":218,"tunes":1991},{"text":1990},"A remote agent can internally use MCP to reach databases and tools while exposing an A2A interface to other agents. The protocols can therefore be layered rather than substituted.",{},{"id":638,"data":1993,"type":218,"tunes":1995},{"text":1994},"The existing protocol-stack article owns the broader MCP\u002FA2A\u002FUCP\u002FAP2\u002FA2UI comparison; G02 remains the canonical MCP definition.",{},{"id":643,"data":1997,"type":649,"tunes":2001},{"url":645,"title":1998,"excerpt":1999,"ctaLabel":2000},"MCP vs A2A vs UCP vs AP2 vs A2UI: The Agent Protocol Stack Explained","A broader responsibility map showing how MCP composes with agent collaboration, commerce, payment authority and agent-driven UI protocols.","Read the protocol stack",{},{"id":652,"data":2003,"type":42,"tunes":2005},{"text":2004,"level":254},"Local and remote MCP use different transport realities",{},{"id":657,"data":2007,"type":218,"tunes":2009},{"text":2008},"MCP can connect to local and remote servers. Local desktop integrations commonly use process-level transports such as stdio; remote servers use HTTP-oriented transport.",{},{"id":662,"data":2011,"type":218,"tunes":2013},{"text":2012},"The 2026-07-28 revision makes the protocol core stateless. Requests carry the information needed for protocol handling instead of depending on the earlier protocol-level session model.",{},{"id":667,"data":2015,"type":218,"tunes":2017},{"text":2016},"The current revision also places method and capability names in HTTP headers so gateways, WAFs, rate limiters and load balancers can route and meter MCP traffic more naturally.",{},{"id":672,"data":2019,"type":42,"tunes":2021},{"text":2020,"level":254},"Why MCP version awareness matters",{},{"id":677,"data":2023,"type":376,"tunes":2035},{"content":2024,"stretched":43,"withHeadings":14},[2025,2028,2031,2033],[2026,2027],"Protocol era","Operational characteristic",[2029,2030],"2025-11-25 and earlier","Handshake\u002Fsession-oriented lifecycle and older Streamable HTTP behavior",[687,2032],"Stateless core, optional server discovery, self-describing requests, routing headers, cache hints, MRTR and authorization hardening",[690,2034],"Capabilities such as Tasks and MCP Apps can version separately from the base protocol",{},{"id":694,"data":2037,"type":218,"tunes":2039},{"text":2038},"SDK version and protocol version are also different things. The current TypeScript v2 SDK is the stable line for the 2026-07-28 revision, while older v1.x remains a maintenance line for 2025-era behavior.",{},{"id":699,"data":2041,"type":218,"tunes":2043},{"text":2042},"Architecture documentation should record both the SDK\u002Flibrary version and the protocol revision where interoperability behavior depends on them.",{},{"id":704,"data":2045,"type":42,"tunes":2047},{"text":2046,"level":254},"What changed in MCP 2026-07-28",{},{"id":709,"data":2049,"type":376,"tunes":2077},{"content":2050,"stretched":43,"withHeadings":14},[2051,2054,2057,2059,2062,2065,2068,2071,2074],[2052,2053],"Change","Why it matters",[2055,2056],"Stateless core","Remote servers can scale behind ordinary load balancers without protocol-level sticky sessions",[719,2058],"Clients can inspect server capabilities when needed",[2060,2061],"Self-describing requests","Protocol version and client capability metadata travel per request",[2063,2064],"Mcp-Method \u002F Mcp-Name headers","Gateways can route, meter and apply policy without parsing bodies",[2066,2067],"Cache hints","Lists\u002Fresource reads communicate freshness and sharing scope",[2069,2070],"Multi Round-Trip Requests","Servers can require additional input without the older bidirectional request model",[2072,2073],"Authorization hardening","Issuer validation and credential binding strengthen remote auth behavior",[2075,2076],"Extensions framework","Tasks, MCP Apps and other capabilities can evolve separately",{},{"id":741,"data":2079,"type":42,"tunes":2081},{"text":2080,"level":254},"Roots, sampling and logging are no longer the direction for new implementations",{},{"id":746,"data":2083,"type":218,"tunes":2085},{"text":2084},"The 2026-07-28 release marks roots, sampling and logging as deprecated protocol capabilities with a defined compatibility window.",{},{"id":751,"data":2087,"type":218,"tunes":2089},{"text":2088},"Older tutorials may still show these features as central primitives. New implementation work should follow the current specification rather than copy older lifecycle diagrams blindly.",{},{"id":756,"data":2091,"type":218,"tunes":2093},{"text":2092},"Deprecation does not mean immediate removal. It means new systems should avoid unnecessary new dependencies on capabilities the protocol is moving away from.",{},{"id":761,"data":2095,"type":42,"tunes":2097},{"text":2096,"level":254},"Long-running work is not the same as ordinary MCP tool invocation",{},{"id":766,"data":2099,"type":218,"tunes":2101},{"text":2100},"Long-running operations need lifecycle semantics beyond a simple immediate tool result. In the current ecosystem, Tasks moved into a dedicated MCP extension.",{},{"id":771,"data":2103,"type":218,"tunes":2105},{"text":2104},"This reinforces a useful design principle: the base protocol does not need to absorb every agent-runtime concern.",{},{"id":776,"data":2107,"type":218,"tunes":2109},{"text":2108},"An application can also keep long-running workflow ownership entirely in its own runtime and use ordinary MCP tools as underlying operations.",{},{"id":781,"data":2111,"type":42,"tunes":2113},{"text":2112,"level":254},"MCP Apps extend UI capability without redefining the core protocol",{},{"id":786,"data":2115,"type":218,"tunes":2117},{"text":2116},"MCP Apps associate richer interactive UI experiences with MCP tools through the extension model.",{},{"id":791,"data":2119,"type":218,"tunes":2121},{"text":2120},"The host still controls how that UI is embedded, sandboxed and secured.",{},{"id":796,"data":2123,"type":218,"tunes":2125},{"text":2124},"Core capability exchange and UI rendering should therefore remain separate architecture responsibilities.",{},{"id":801,"data":2127,"type":42,"tunes":2129},{"text":2128,"level":254},"MCP authorization is not your complete authorization model",{},{"id":806,"data":2131,"type":218,"tunes":2133},{"text":2132},"Remote MCP needs protocol-level authentication and authorization mechanisms so clients and servers can establish trusted access. The current specification continues to harden OAuth\u002FOIDC-related behavior.",{},{"id":811,"data":2135,"type":218,"tunes":2137},{"text":2136},"That layer answers whether a client is allowed to connect or request protocol scopes. It does not automatically answer whether Alice may refund order 123, whether an agent may write production configuration or whether Tenant A may read Tenant B data.",{},{"id":816,"data":2139,"type":218,"tunes":2141},{"text":2140},"Those domain decisions belong in the server\u002Fapplication authorization model and must be enforced before invoking the underlying operation.",{},{"id":821,"data":2143,"type":226,"tunes":2146},{"body":2144,"title":2145,"variant":240},"Connection trust, tool visibility, tool permission, user authorization, tenant isolation and business approval are different controls. Keep them separate.","Never map “authenticated MCP client” to “trusted for every tool”",{},{"id":827,"data":2148,"type":42,"tunes":2150},{"text":2149,"level":254},"Identity can cross several boundaries",{},{"id":832,"data":2152,"type":218,"tunes":2154},{"text":2153},"An MCP request may involve the MCP client application, the signed-in human, an agent\u002Fsession identity and a downstream service account.",{},{"id":837,"data":2156,"type":218,"tunes":2158},{"text":2157},"The server needs an explicit policy for which principal the operation is performed on behalf of. Otherwise a powerful service credential can become a confused-deputy path.",{},{"id":842,"data":2160,"type":218,"tunes":2162},{"text":2161},"For enterprise use, correlation between user identity, agent identity, MCP connection and downstream authorization is as important as protocol compatibility.",{},{"id":847,"data":2164,"type":42,"tunes":2166},{"text":2165,"level":254},"Tenant isolation remains outside MCP capability discovery",{},{"id":852,"data":2168,"type":218,"tunes":2170},{"text":2169},"A multi-tenant MCP server must apply tenant scope when it reads or changes tenant-owned resources. Returning a tool named search_documents does not define which tenant's documents are eligible.",{},{"id":857,"data":2172,"type":218,"tunes":2174},{"text":2173},"Tenant scope should be derived from trusted identity or membership and carried into databases, caches, vector search, object storage and downstream APIs.",{},{"id":862,"data":2176,"type":218,"tunes":2178},{"text":2177},"Retrieving cross-tenant content and asking the model not to use it is already an isolation failure.",{},{"id":867,"data":2180,"type":42,"tunes":2182},{"text":2181,"level":254},"MCP does not define Source of Truth",{},{"id":872,"data":2184,"type":218,"tunes":2186},{"text":2185},"An MCP server can expose a database, document repository, web search service or AI-generated summary. The protocol does not declare which source is authoritative for a claim.",{},{"id":877,"data":2188,"type":218,"tunes":2190},{"text":2189},"Source-of-Truth rules belong to application\u002Fdomain architecture. The host or server can encode authority through tool design, metadata, access policy or validation, but MCP itself does not make one capability “true.”",{},{"id":882,"data":2192,"type":218,"tunes":2194},{"text":2193},"A tool can therefore be perfectly callable through MCP and still return stale, secondary or non-authoritative information.",{},{"id":887,"data":2196,"type":42,"tunes":2198},{"text":2197,"level":254},"MCP and context engineering",{},{"id":892,"data":2200,"type":218,"tunes":2202},{"text":2201},"MCP can increase the capabilities and information available to an AI application, but context engineering still determines what reaches the model.",{},{"id":897,"data":2204,"type":218,"tunes":2206},{"text":2205},"Tool catalogs consume model-visible context in many hosts. Tool results can be large. Resources can be numerous. A host needs selection, filtering, dynamic loading and compaction rather than exposing everything on every turn.",{},{"id":902,"data":2208,"type":218,"tunes":2210},{"text":2209},"Capability availability and model-visible context should therefore be treated as separate layers.",{},{"id":907,"data":2212,"type":42,"tunes":2214},{"text":2213,"level":254},"Design MCP tools around outcomes and risk boundaries",{},{"id":912,"data":2216,"type":376,"tunes":2241},{"content":2217,"stretched":43,"withHeadings":14},[2218,2221,2223,2226,2229,2232,2235,2238],[2219,2220],"Weak tool design","Stronger tool design",[919,2222],"Narrow domain tools with validated operations",[2224,2225],"One admin tool for all actions","Separate read\u002Fwrite\u002Fapproval operations",[2227,2228],"Raw internal API mirrored 1:1","AI-facing contract around coherent user goals",[2230,2231],"One broad filesystem tool","Workspace-scoped read\u002Fwrite operations",[2233,2234],"Security policy only in description","Server enforces policy in code",[2236,2237],"Unbounded raw response","Structured decision-relevant output",[2239,2240],"Delete\u002Fupdate mixed with read","Separate side-effect tools with confirmation policy",{},{"id":941,"data":2243,"type":42,"tunes":2245},{"text":2244,"level":254},"Approvals belong in the execution architecture",{},{"id":946,"data":2247,"type":218,"tunes":2249},{"text":2248},"A host can require user approval before invoking selected MCP tools. OpenAI's current MCP integration supports automatic or explicit-approval execution patterns.",{},{"id":951,"data":2251,"type":218,"tunes":2253},{"text":2252},"Host approval is useful but should not be the server's only protection because another compatible MCP client may use a different approval model.",{},{"id":956,"data":2255,"type":218,"tunes":2257},{"text":2256},"For destructive or financially consequential actions, use defense in depth: clear tool contract, runtime approval where appropriate, server-side authorization, business validation and audit.",{},{"id":961,"data":2259,"type":42,"tunes":2261},{"text":2260,"level":254},"MCP observability should connect protocol calls to domain actions",{},{"id":966,"data":2263,"type":218,"tunes":2265},{"text":2264},"An MCP trace is most useful when it can be correlated with the underlying application call, database change or business transaction.",{},{"id":971,"data":2267,"type":218,"tunes":2269},{"text":2268},"The 2026-07-28 ecosystem standardizes W3C Trace Context propagation conventions, making it easier to follow a request across host, client, server and downstream services.",{},{"id":976,"data":2271,"type":218,"tunes":2273},{"text":2272},"Protocol logs alone are not enough for consequential operations. Audit evidence should also record relevant principal, tenant, target resource, approval and resulting state change.",{},{"id":981,"data":2275,"type":42,"tunes":2277},{"text":2276,"level":254},"What MCP cannot fix",{},{"id":986,"data":2279,"type":376,"tunes":2314},{"content":2280,"stretched":43,"withHeadings":14},[2281,2284,2287,2290,2293,2296,2299,2302,2305,2308,2311],[2282,2283],"Problem","Why MCP does not solve it",[2285,2286],"Bad business API","MCP can expose the bad API more consistently",[2288,2289],"Wrong data","Protocol validity does not create factual correctness",[2291,2292],"Missing tenant isolation","Tool discovery does not enforce resource ownership",[2294,2295],"Excessive privileges","A standardized tool can still be overprivileged",[2297,2298],"Poor agent planning","MCP exposes capabilities; runtime\u002Fmodel still chooses how to use them",[2300,2301],"Bad retry\u002Fidempotency design","Protocol calls do not make side effects safe",[2303,2304],"No Source of Truth","MCP does not decide which system owns a fact",[2306,2307],"Weak evaluation","Interoperability does not prove task success",[2309,2310],"No audit policy","Transport traces do not define retention or accountability",[2312,2313],"Protocol mismatch","Old\u002Fnew versions can still require migration or compatibility handling",{},{"id":1024,"data":2316,"type":42,"tunes":2318},{"text":2317,"level":254},"Original implementation evidence: Aaasaasa AI Client",{},{"id":1029,"data":2320,"type":226,"tunes":2323},{"body":2321,"title":2322,"variant":247},"Aaasaasa AI Client contains an authenticated local MCP connector\u002Fbroker for approved local directories and integration through Secure MCP Tunnel. This is concrete implementation evidence for the protocol boundary and permission architecture, not a claim of a general-purpose commercial MCP platform.","Implementation evidence",{},{"id":1035,"data":2325,"type":218,"tunes":2327},{"text":2326},"The application can run an authenticated Streamable HTTP MCP endpoint on loopback. The endpoint exposes only directories selected through the central workspace permission broker.",{},{"id":1040,"data":2329,"type":218,"tunes":2331},{"text":2330},"The local endpoint and remote route are separate concerns: the local connector can bind only to loopback, while a Secure MCP Tunnel can make the approved MCP service reachable to a permitted external AI client without exposing the whole local machine.",{},{"id":1045,"data":2333,"type":218,"tunes":2335},{"text":2334},"The central permission model distinguishes chat-only, read-only, project-write and custom-directory profiles. Direct Chat has no filesystem or shell access; tool-capable agent runtimes use the selected permission profile.",{},{"id":1050,"data":2337,"type":218,"tunes":2339},{"text":2338},"This is a direct implementation of the G02 boundary: MCP provides the standardized capability connection, while the application-owned permission broker decides which directories the server may expose.",{},{"id":1055,"data":2341,"type":376,"tunes":2364},{"content":2342,"stretched":43,"withHeadings":14},[2343,2346,2349,2352,2355,2358,2361],[2344,2345],"Implemented element","Architecture evidence",[2347,2348],"Authenticated local MCP endpoint","MCP server can be a local deterministic capability service",[2350,2351],"Loopback binding","Network exposure and protocol capability are separate decisions",[2353,2354],"Secure MCP Tunnel integration","Private\u002Flocal MCP can be bridged through a controlled route",[2356,2357],"Central permission broker","MCP capability is constrained by application policy",[2359,2360],"Selected directory scope","Filesystem visibility is explicitly bounded",[2362,2363],"Direct Chat without OS tools","Model access does not automatically imply tool access",{},{"id":1081,"data":2366,"type":226,"tunes":2369},{"body":2367,"title":2368,"variant":240},"The implementation demonstrates MCP connectivity and permission-scoped local directory exposure. It does not imply that every MCP primitive, every 2026-07-28 feature or every enterprise authorization extension is implemented.","Evidence boundary",{},{"id":1087,"data":2371,"type":42,"tunes":2373},{"text":2372,"level":254},"When MCP is a good fit",{},{"id":1092,"data":2375,"type":376,"tunes":2395},{"content":2376,"stretched":43,"withHeadings":14},[2377,2380,2383,2386,2389,2392],[2378,2379],"MCP is a strong fit when","A direct integration may be simpler when",[2381,2382],"The same capability should be reusable across multiple AI hosts","One application owns both sides and portability has little value",[2384,2385],"An external system wants to publish discoverable AI-facing tools\u002Fresources","A single stable internal API call is sufficient",[2387,2388],"You want a standard boundary around local tools\u002Fdata","There is no AI-facing interoperability requirement",[2390,2391],"Tool providers and AI clients evolve independently","The integration is intentionally private and tightly coupled",[2393,2394],"You want ecosystem-compatible capability discovery","The capability set is tiny and fixed in application code",{},{"id":1115,"data":2397,"type":42,"tunes":2399},{"text":2398,"level":254},"When you do not need MCP",{},{"id":1120,"data":2401,"type":218,"tunes":2403},{"text":2402},"Do not add MCP merely because the application uses AI. If your backend already calls one internal API and no independent MCP client needs that capability, an ordinary function or service call may be clearer.",{},{"id":1125,"data":2405,"type":218,"tunes":2407},{"text":2406},"MCP adds value at an interoperability boundary. Without that boundary, the protocol can become an unnecessary adapter layer.",{},{"id":1130,"data":2409,"type":218,"tunes":2411},{"text":2410},"The architectural question is not “Does this project have AI?” but “Do independently evolving AI hosts and capability providers benefit from a standard contract?”",{},{"id":1135,"data":2413,"type":42,"tunes":2415},{"text":2414,"level":254},"MCP security checklist",{},{"id":1140,"data":2417,"type":376,"tunes":2456},{"content":2418,"stretched":43,"withHeadings":14},[2419,2421,2424,2427,2430,2433,2436,2439,2442,2445,2448,2451,2454],[2420,1145],"Boundary",[2422,2423],"Server identity","Which MCP server am I actually connected to?",[2425,2426],"Client identity","Which application\u002Fclient is requesting access?",[2428,2429],"End-user identity","On whose behalf is the operation performed?",[2431,2432],"Tool allowlist","Which capabilities may this host\u002Fagent discover and call?",[2434,2435],"Business permission","May this principal perform this operation?",[2437,2438],"Tenant scope","Which tenant\u002Fresource boundary applies?",[2440,2441],"Credential isolation","Are credentials bound correctly and kept outside model context?",[2443,2444],"Approval","Which side effects require human confirmation?",[2446,2447],"Input validation","Are tool arguments validated independently of model output?",[2449,2450],"Output trust","Can returned content contain untrusted instructions or sensitive data?",[2452,2453],"Network exposure","Is a local server accidentally exposed beyond intended interfaces?",[1180,2455],"Can a protocol call be correlated with the downstream action?",{},{"id":1184,"data":2458,"type":42,"tunes":2460},{"text":2459,"level":254},"Common misconceptions",{},{"id":1189,"data":2462,"type":376,"tunes":2502},{"content":2463,"stretched":43,"withHeadings":14},[2464,2466,2469,2472,2475,2478,2481,2484,2487,2490,2493,2496,2499],[2465,1194],"Misconception",[2467,2468],"“An MCP server is an AI server.”","It can be ordinary deterministic software exposing capabilities.",[2470,2471],"“I need my own LLM on the MCP server.”","No. The model can live entirely on the host side.",[2473,2474],"“MCP replaces REST APIs.”","MCP often wraps existing APIs for AI-facing interoperability.",[2476,2477],"“MCP is an agent framework.”","MCP supplies capabilities; an agent runtime manages iteration and state.",[2479,2480],"“MCP and function calling compete.”","A host can bridge MCP capabilities into its model tool interface.",[2482,2483],"“MCP replaces A2A.”","MCP focuses on capability integration; A2A focuses on agent collaboration.",[2485,2486],"“If a tool is listed, the user may call it.”","Discovery is not authorization.",[2488,2489],"“OAuth solves business permissions.”","Connection authorization does not replace domain authorization or tenant isolation.",[2491,2492],"“Local MCP means local AI.”","Tool-server location and inference location are independent.",[2494,2495],"“MCP makes tool output trustworthy.”","Data quality, authority and provenance still belong to the source\u002Fapplication.",[2497,2498],"“One giant generic tool is flexible.”","Over-broad tools weaken permissions, validation and observability.",[2500,2501],"“Old tutorials are implementation-current.”","The 2026-07-28 revision materially changed lifecycle and transport behavior.",{},{"id":1233,"data":2504,"type":42,"tunes":2506},{"text":2505,"level":254},"A practical MCP design sequence",{},{"id":1238,"data":2508,"type":324,"tunes":2547},{"steps":2509,"title":2546,"orientation":323},[2510,2513,2516,2519,2522,2525,2528,2531,2534,2537,2540,2543],{"label":2511,"description":2512},"1. Identify the interoperability boundary","Confirm that independent AI hosts actually need reusable access.",{"label":2514,"description":2515},"2. Keep the domain API authoritative","Preserve the real application\u002Fservice contract behind MCP.",{"label":2517,"description":2518},"3. Choose primitives deliberately","Use tools, resources and prompts according to their semantics.",{"label":2520,"description":2521},"4. Split by risk and permission","Separate read, write, destructive and approval-required operations.",{"label":2523,"description":2524},"5. Define identity propagation","Know which client, user, agent and downstream principal each call represents.",{"label":2526,"description":2527},"6. Enforce business authorization","Validate permissions, tenant scope and target ownership.",{"label":2529,"description":2530},"7. Choose local or remote transport","Match deployment topology to the real need.",{"label":2532,"description":2533},"8. Pin protocol\u002FSDK expectations","Document 2026-07-28 versus older compatibility.",{"label":2535,"description":2536},"9. Add approvals for consequential actions","Use risk-appropriate confirmation controls.",{"label":2538,"description":2539},"10. Design structured outputs","Return concise machine-usable results.",{"label":2541,"description":2542},"11. Add tracing and audit correlation","Connect MCP calls to downstream service\u002Fbusiness events.",{"label":2544,"description":2545},"12. Test portability","Verify more than one client where interoperability is a stated requirement.","Design the boundary before implementing the server",{},{"id":1280,"data":2549,"type":42,"tunes":2551},{"text":2550,"level":254},"MCP architecture checklist",{},{"id":1285,"data":2553,"type":376,"tunes":2602},{"content":2554,"stretched":43,"withHeadings":14},[2555,2557,2560,2563,2566,2569,2572,2575,2578,2581,2584,2587,2590,2593,2596,2599],[1145,2556],"Expected answer",[2558,2559],"Why is MCP needed?","A real AI-facing interoperability boundary",[2561,2562],"What does the server expose?","Explicit tools\u002Fresources\u002Fprompts",[2564,2565],"Where does the model run?","Independent host\u002Fprovider decision",[2567,2568],"Where does tool execution run?","Named server\u002Fruntime location",[2570,2571],"Which protocol revision is expected?","Version-aware contract",[2573,2574],"Who is the requesting principal?","Client\u002Fuser\u002Fagent identity model",[2576,2577],"Which tools may be discovered?","Allowlist\u002Fcapability policy",[2579,2580],"Which operations may execute?","Server-side business authorization",[2582,2583],"How is tenant\u002Fresource scope enforced?","Trusted tenant\u002Fresource ownership checks",[2585,2586],"Which actions need approval?","Risk-based confirmation policy",[2588,2589],"How are credentials protected?","Trusted runtime storage, not model-visible secrets",[2591,2592],"How is output bounded?","Structured relevant result contract",[2594,2595],"How are calls traced?","Correlation through MCP to downstream action",[2597,2598],"What happens if MCP is unavailable?","Defined fallback\u002Ffailure behavior",[2600,2601],"Can another compatible host use it?","Portability validated where required",{},{"id":1337,"data":2604,"type":42,"tunes":2606},{"text":2605,"level":254},"Edge cases and limitations",{},{"id":1342,"data":2608,"type":218,"tunes":2610},{"text":2609},"A local stdio MCP server can have little network exposure while still be dangerous if the process itself has excessive filesystem or shell permissions.",{},{"id":1347,"data":2612,"type":218,"tunes":2614},{"text":2613},"A remote MCP server may expose only public documentation or highly sensitive enterprise actions. “Remote MCP” says little about risk without the capability and authorization context.",{},{"id":1352,"data":2616,"type":218,"tunes":2618},{"text":2617},"Some servers may use only tools and ignore resources\u002Fprompts. MCP compatibility does not require every optional primitive to be equally important.",{},{"id":1357,"data":2620,"type":218,"tunes":2622},{"text":2621},"A host can translate between its own internal tool model and MCP. Users may never see the protocol boundary directly, which is acceptable if security and attribution remain clear.",{},{"id":1362,"data":2624,"type":218,"tunes":2626},{"text":2625},"MCP continues to evolve rapidly. Extensions, authorization patterns, SDK APIs and ecosystem conventions can change faster than the core architectural distinction.",{},{"id":1367,"data":2628,"type":42,"tunes":2630},{"text":2629,"level":254},"What would change this answer?",{},{"id":1372,"data":2632,"type":218,"tunes":2634},{"text":2633},"Future MCP revisions can change lifecycle, transports, authorization and extension mechanisms. The July 2026 revision already demonstrates why implementation-specific claims must be dated.",{},{"id":1377,"data":2636,"type":218,"tunes":2638},{"text":2637},"The canonical boundary would change only if MCP expanded from an interoperability protocol into an end-to-end application\u002Fagent architecture standard. That is not what the current protocol defines.",{},{"id":1382,"data":2640,"type":218,"tunes":2642},{"text":2641},"For implementation work, always check the current specification and exact SDK line instead of copying version-sensitive examples from older tutorials.",{},{"id":1387,"data":2644,"type":42,"tunes":2646},{"text":2645,"level":254},"Related canonical knowledge",{},{"id":1392,"data":2648,"type":218,"tunes":2650},{"text":2649},"MCP belongs downstream of Agentic AI: first understand the agent\u002Fruntime\u002Ftool boundary, then use MCP when external capabilities need a portable protocol contract.",{},{"id":1397,"data":2652,"type":218,"tunes":2654},{"text":2653},"MCP also depends on RBAC and tenant isolation because protocol-level capability exposure does not determine application authorization.",{},{"id":1402,"data":2656,"type":218,"tunes":2658},{"text":2657},"The broader protocol-stack article explains where MCP sits beside A2A, UCP, AP2 and A2UI. G02 remains the canonical source for MCP itself.",{},{"id":1407,"data":2660,"type":649,"tunes":2665},{"url":2661,"title":2662,"excerpt":2663,"ctaLabel":2664},"https:\u002F\u002Fstajic.de\u002Fblog\u002Fai-agent-reliability-why-the-final-answer-is-not-enough","AI Agent Reliability: Why the Final Answer Is Not Enough","MCP tool calls become part of an agent trajectory; reliable systems need to evaluate actions and observations, not only final text.","Read the agent reliability article",{},{"id":1415,"data":2667,"type":42,"tunes":2669},{"text":2668,"level":254},"Frequently asked questions",{},{"id":1420,"data":2671,"type":1420,"tunes":2704},{"items":2672,"title":2703},[2673,2676,2679,2682,2685,2688,2691,2694,2697,2700],{"id":1424,"answer":2674,"question":2675},"The Model Context Protocol is an open client-server protocol for connecting AI applications to external tools, resources, prompts and capability providers through a standardized contract.","What is MCP?",{"id":1428,"answer":2677,"question":2678},"No. An MCP server can be completely deterministic software. The model normally runs in the AI host or agent runtime, although a server may optionally use AI internally.","Does an MCP server need an AI model?",{"id":1432,"answer":2680,"question":2681},"The client is the protocol component used by an AI host to communicate with capability providers. The server publishes and executes the capabilities it exposes.","What is the difference between an MCP client and server?",{"id":1436,"answer":2683,"question":2684},"No. Function\u002Ftool calling is how a model invokes configured capabilities. MCP standardizes discovery and communication with external capability servers. A host can bridge the two.","Does MCP replace function calling?",{"id":1440,"answer":2686,"question":2687},"No. MCP servers frequently wrap existing REST, GraphQL, database or service APIs and provide an AI-facing interoperability layer.","Does MCP replace REST APIs?",{"id":1444,"answer":2689,"question":2690},"No. MCP exposes capabilities. Agent planning, state, memory, context management, retries, orchestration and stopping belong to the surrounding runtime.","Is MCP an agent framework?",{"id":1448,"answer":2692,"question":2693},"MCP primarily connects an AI host or agent to tools and data providers. A2A connects independent agent systems for collaboration and delegation.","What is the difference between MCP and A2A?",{"id":1452,"answer":2695,"question":2696},"MCP includes protocol-level authorization mechanisms, especially for remote servers, but the application must still enforce business permissions, resource ownership and tenant isolation.","Does MCP handle authorization?",{"id":1456,"answer":2698,"question":2699},"Yes. Model location is independent of MCP. A local-model host can call local or remote MCP servers, and a cloud-model host can use approved local or remote MCP servers through an appropriate connection architecture.","Can MCP work with local models?",{"id":1460,"answer":2701,"question":2702},"As of 8 October 2026, the current specification revision is 2026-07-28. Older 2025-era implementations remain in use, so compatibility must be checked.","What is the current MCP specification version?","Model Context Protocol FAQ",{},{"id":1466,"data":2706,"type":42,"tunes":2708},{"text":2707,"level":254},"Glossary",{},{"id":1471,"data":2710,"type":1471,"tunes":2739},{"title":2711,"entries":2712},"Key MCP terms",[2713,2715,2718,2720,2722,2724,2726,2728,2730,2732,2734,2736],{"term":595,"anchor":594,"definition":2714},"Model Context Protocol, an open protocol for interoperable connections between AI hosts\u002Fclients and external capability servers.",{"term":2716,"anchor":1479,"definition":2717},"MCP host","The AI application or runtime that owns model interaction and uses MCP clients to connect to servers.",{"term":1772,"anchor":1482,"definition":2719},"Protocol component on the host side that communicates with an MCP server.",{"term":1775,"anchor":1485,"definition":2721},"Capability provider that implements MCP and exposes tools, resources, prompts or supported extensions.",{"term":1883,"anchor":1488,"definition":2723},"Callable structured capability exposed by an MCP server.",{"term":1886,"anchor":1491,"definition":2725},"Readable data or content exposed through MCP resource methods.",{"term":1894,"anchor":1494,"definition":2727},"Reusable prompt template exposed by an MCP server for compatible hosts.",{"term":1497,"anchor":1498,"definition":2729},"HTTP-oriented MCP transport used for remote\u002Fnetworked server communication.",{"term":1501,"anchor":1501,"definition":2731},"Process standard-input\u002Foutput transport commonly used for local MCP server integrations.",{"term":719,"anchor":1504,"definition":2733},"Modern MCP method that lets a client inspect server capabilities in the 2026-07-28 protocol era.",{"term":1507,"anchor":1508,"definition":2735},"Multi Round-Trip Requests, a mechanism for obtaining additional input during a request in the 2026-07-28 protocol era.",{"term":2737,"anchor":1512,"definition":2738},"MCP extension","Capability that composes with the base protocol and can evolve\u002Fversion separately, such as Tasks or MCP Apps.",{},{"id":1516,"data":2741,"type":42,"tunes":2742},{"text":1518,"level":254},{},{"id":1521,"data":2744,"type":218,"tunes":2746},{"text":2745},"MCP is easiest to understand when its boundary stays narrow: it connects AI applications to external capabilities through a standard protocol.",{},{"id":1526,"data":2748,"type":218,"tunes":2750},{"text":2749},"The model does not have to live on the MCP server. The server does not become the agent runtime. A listed tool does not become an authorized business action. And MCP does not replace the underlying API, Source of Truth, tenant isolation or domain architecture.",{},{"id":1531,"data":2752,"type":218,"tunes":2754},{"text":2753},"That narrowness is the protocol's strength. MCP can standardize how AI systems reach tools and data while leaving application ownership, security, business semantics and model choice in the layers that actually own them.",{},{"id":1536,"data":2756,"type":42,"tunes":2758},{"text":2757,"level":254},"Primary sources and current documentation",{},{"id":1541,"data":2760,"type":218,"tunes":2762},{"text":2761},"MCP is evolving quickly, so version-sensitive claims in this article are tied to the 8 October 2026 state. The Aaasaasa AI Client section is original implementation evidence and is explicitly limited to the verified MCP connector and permission-broker scope.",{},{"id":1546,"data":2764,"type":1553,"tunes":2769},{"link":1548,"meta":2765},{"image":2766,"title":2767,"description":2768},{"url":401},"Model Context Protocol — TypeScript SDK v2","Current stable TypeScript SDK documentation implementing the 2026-07-28 MCP specification and server\u002Fclient primitives.",{},{"id":1556,"data":2771,"type":1553,"tunes":2776},{"link":1558,"meta":2772},{"image":2773,"title":2774,"description":2775},{"url":401},"Model Context Protocol — 2026-07-28 Specification Release","Official release explanation for the current MCP protocol revision, including stateless core, MRTR, routing, caching, authorization hardening, extensions and deprecations.",{},{"id":1565,"data":2778,"type":1553,"tunes":2783},{"link":1567,"meta":2779},{"image":2780,"title":2781,"description":2782},{"url":401},"MCP TypeScript SDK — Supporting protocol revision 2026-07-28","Version-specific implementation guidance for the current protocol revision and earlier-era compatibility.",{},{"id":1574,"data":2785,"type":1553,"tunes":2790},{"link":1576,"meta":2786},{"image":2787,"title":2788,"description":2789},{"url":401},"OpenAI — MCP servers","Current OpenAI guidance for connecting models to remote MCP servers and local\u002Fprivate MCP servers through Secure MCP Tunnel.",{},{"id":1583,"data":2792,"type":1553,"tunes":2797},{"link":1585,"meta":2793},{"image":2794,"title":2795,"description":2796},{"url":401},"OpenAI — MCP connections for Agents API","Current MCP connection guidance covering service, environment and stdio locations plus allowed-tool controls.",{},{"id":1592,"data":2799,"type":1553,"tunes":2804},{"link":1594,"meta":2800},{"image":2801,"title":2802,"description":2803},{"url":401},"OpenAI — Tools","Current overview placing remote MCP servers alongside function calling, web search, shell and other model tools.",{},{"id":1601,"data":2806,"type":1553,"tunes":2811},{"link":1603,"meta":2807},{"image":2808,"title":2809,"description":2810},{"url":401},"OpenAI — MCP server concept","Current description of MCP servers exposing tools, resources and prompts for external service integrations.",{},"2.31.6","Model Context Protocol connects AI applications to external tools, resources and prompts through a standard client-server boundary. Learn what MCP does, what it does not do, and where it fits in agent architecture.",{"lang":7,"title":208,"content":210,"contentJson":2815,"excerpt":1610},{"time":212,"blocks":2816,"version":1609},[2817,2820,2823,2826,2829,2832,2835,2838,2841,2844,2847,2850,2853,2856,2859,2870,2873,2876,2879,2882,2885,2896,2899,2902,2905,2921,2924,2927,2930,2933,2936,2939,2942,2945,2948,2951,2954,2957,2960,2971,2974,2977,2980,2983,2986,2989,2992,2995,2998,3001,3016,3019,3022,3025,3028,3031,3034,3037,3040,3043,3046,3049,3052,3055,3058,3061,3069,3072,3075,3078,3091,3094,3097,3100,3103,3106,3109,3112,3115,3118,3121,3124,3127,3130,3133,3136,3139,3142,3145,3148,3151,3154,3157,3160,3163,3166,3169,3172,3175,3178,3181,3184,3187,3190,3193,3205,3208,3211,3214,3217,3220,3223,3226,3229,3232,3247,3250,3253,3256,3259,3262,3265,3276,3279,3282,3292,3295,3298,3301,3304,3307,3324,3327,3344,3347,3363,3366,3386,3389,3392,3395,3398,3401,3404,3407,3410,3413,3416,3419,3422,3425,3428,3431,3434,3448,3451,3467,3470,3473,3476,3479,3482,3485,3490,3495,3500,3505,3510,3515],{"id":215,"data":2818,"type":218,"tunes":2819},{"text":217},{},{"id":221,"data":2821,"type":226,"tunes":2822},{"body":223,"title":224,"variant":225},{},{"id":229,"data":2824,"type":226,"tunes":2825},{"body":231,"title":232,"variant":233},{},{"id":236,"data":2827,"type":226,"tunes":2828},{"body":238,"title":239,"variant":240},{},{"id":243,"data":2830,"type":226,"tunes":2831},{"body":245,"title":246,"variant":247},{},{"id":250,"data":2833,"type":255,"tunes":2834},{"title":252,"maxLevel":253,"minLevel":254},{},{"id":258,"data":2836,"type":42,"tunes":2837},{"text":260,"level":254},{},{"id":263,"data":2839,"type":218,"tunes":2840},{"text":265},{},{"id":268,"data":2842,"type":218,"tunes":2843},{"text":270},{},{"id":273,"data":2845,"type":218,"tunes":2846},{"text":275},{},{"id":278,"data":2848,"type":42,"tunes":2849},{"text":280,"level":254},{},{"id":283,"data":2851,"type":218,"tunes":2852},{"text":285},{},{"id":288,"data":2854,"type":218,"tunes":2855},{"text":290},{},{"id":293,"data":2857,"type":218,"tunes":2858},{"text":295},{},{"id":298,"data":2860,"type":324,"tunes":2869},{"steps":2861,"title":322,"orientation":323},[2862,2863,2864,2865,2866,2867,2868],{"label":302,"description":303},{"label":305,"description":306},{"label":308,"description":309},{"label":311,"description":312},{"label":314,"description":315},{"label":317,"description":318},{"label":320,"description":321},{},{"id":327,"data":2871,"type":42,"tunes":2872},{"text":329,"level":254},{},{"id":332,"data":2874,"type":218,"tunes":2875},{"text":334},{},{"id":337,"data":2877,"type":218,"tunes":2878},{"text":339},{},{"id":342,"data":2880,"type":218,"tunes":2881},{"text":344},{},{"id":347,"data":2883,"type":42,"tunes":2884},{"text":349,"level":254},{},{"id":352,"data":2886,"type":376,"tunes":2895},{"content":2887,"stretched":43,"withHeadings":14},[2888,2889,2890,2891,2892,2893,2894],[356,357],[359,360],[362,363],[365,366],[368,369],[371,372],[374,375],{},{"id":379,"data":2897,"type":218,"tunes":2898},{"text":381},{},{"id":384,"data":2900,"type":218,"tunes":2901},{"text":386},{},{"id":389,"data":2903,"type":42,"tunes":2904},{"text":391,"level":254},{},{"id":394,"data":2906,"type":425,"tunes":2920},{"rows":2907,"title":414,"layout":376,"columns":2916},[2908,2910,2912,2914],{"id":398,"label":399,"values":2909},[401,401,401],{"id":403,"label":404,"values":2911},[401,401,401],{"id":407,"label":408,"values":2913},[401,401,401],{"id":411,"label":412,"values":2915},[401,401,401],[2917,2918,2919],{"id":417,"label":418},{"id":420,"label":421},{"id":423,"label":424},{},{"id":428,"data":2922,"type":42,"tunes":2923},{"text":430,"level":254},{},{"id":433,"data":2925,"type":218,"tunes":2926},{"text":435},{},{"id":438,"data":2928,"type":218,"tunes":2929},{"text":440},{},{"id":443,"data":2931,"type":218,"tunes":2932},{"text":445},{},{"id":448,"data":2934,"type":42,"tunes":2935},{"text":450,"level":254},{},{"id":453,"data":2937,"type":218,"tunes":2938},{"text":455},{},{"id":458,"data":2940,"type":218,"tunes":2941},{"text":460},{},{"id":463,"data":2943,"type":218,"tunes":2944},{"text":465},{},{"id":468,"data":2946,"type":42,"tunes":2947},{"text":470,"level":254},{},{"id":473,"data":2949,"type":218,"tunes":2950},{"text":475},{},{"id":478,"data":2952,"type":218,"tunes":2953},{"text":480},{},{"id":483,"data":2955,"type":218,"tunes":2956},{"text":485},{},{"id":488,"data":2958,"type":42,"tunes":2959},{"text":490,"level":254},{},{"id":493,"data":2961,"type":376,"tunes":2970},{"content":2962,"stretched":43,"withHeadings":14},[2963,2964,2965,2966,2967,2968,2969],[497,498],[500,501],[503,504],[506,507],[509,501],[511,512],[514,515],{},{"id":518,"data":2972,"type":42,"tunes":2973},{"text":520,"level":254},{},{"id":523,"data":2975,"type":218,"tunes":2976},{"text":525},{},{"id":528,"data":2978,"type":218,"tunes":2979},{"text":530},{},{"id":533,"data":2981,"type":218,"tunes":2982},{"text":535},{},{"id":538,"data":2984,"type":226,"tunes":2985},{"body":540,"title":541,"variant":233},{},{"id":544,"data":2987,"type":42,"tunes":2988},{"text":546,"level":254},{},{"id":549,"data":2990,"type":218,"tunes":2991},{"text":551},{},{"id":554,"data":2993,"type":218,"tunes":2994},{"text":556},{},{"id":559,"data":2996,"type":218,"tunes":2997},{"text":561},{},{"id":564,"data":2999,"type":42,"tunes":3000},{"text":566,"level":254},{},{"id":569,"data":3002,"type":425,"tunes":3015},{"rows":3003,"title":588,"layout":376,"columns":3012},[3004,3006,3008,3010],{"id":573,"label":574,"values":3005},[401,401],{"id":577,"label":578,"values":3007},[401,401],{"id":581,"label":582,"values":3009},[401,401],{"id":585,"label":586,"values":3011},[401,401],[3013,3014],{"id":591,"label":592},{"id":594,"label":595},{},{"id":598,"data":3017,"type":218,"tunes":3018},{"text":600},{},{"id":603,"data":3020,"type":42,"tunes":3021},{"text":605,"level":254},{},{"id":608,"data":3023,"type":218,"tunes":3024},{"text":610},{},{"id":613,"data":3026,"type":218,"tunes":3027},{"text":615},{},{"id":618,"data":3029,"type":218,"tunes":3030},{"text":620},{},{"id":623,"data":3032,"type":42,"tunes":3033},{"text":625,"level":254},{},{"id":628,"data":3035,"type":218,"tunes":3036},{"text":630},{},{"id":633,"data":3038,"type":218,"tunes":3039},{"text":635},{},{"id":638,"data":3041,"type":218,"tunes":3042},{"text":640},{},{"id":643,"data":3044,"type":649,"tunes":3045},{"url":645,"title":646,"excerpt":647,"ctaLabel":648},{},{"id":652,"data":3047,"type":42,"tunes":3048},{"text":654,"level":254},{},{"id":657,"data":3050,"type":218,"tunes":3051},{"text":659},{},{"id":662,"data":3053,"type":218,"tunes":3054},{"text":664},{},{"id":667,"data":3056,"type":218,"tunes":3057},{"text":669},{},{"id":672,"data":3059,"type":42,"tunes":3060},{"text":674,"level":254},{},{"id":677,"data":3062,"type":376,"tunes":3068},{"content":3063,"stretched":43,"withHeadings":14},[3064,3065,3066,3067],[681,682],[684,685],[687,688],[690,691],{},{"id":694,"data":3070,"type":218,"tunes":3071},{"text":696},{},{"id":699,"data":3073,"type":218,"tunes":3074},{"text":701},{},{"id":704,"data":3076,"type":42,"tunes":3077},{"text":706,"level":254},{},{"id":709,"data":3079,"type":376,"tunes":3090},{"content":3080,"stretched":43,"withHeadings":14},[3081,3082,3083,3084,3085,3086,3087,3088,3089],[713,714],[716,717],[719,720],[722,723],[725,726],[728,729],[731,732],[734,735],[737,738],{},{"id":741,"data":3092,"type":42,"tunes":3093},{"text":743,"level":254},{},{"id":746,"data":3095,"type":218,"tunes":3096},{"text":748},{},{"id":751,"data":3098,"type":218,"tunes":3099},{"text":753},{},{"id":756,"data":3101,"type":218,"tunes":3102},{"text":758},{},{"id":761,"data":3104,"type":42,"tunes":3105},{"text":763,"level":254},{},{"id":766,"data":3107,"type":218,"tunes":3108},{"text":768},{},{"id":771,"data":3110,"type":218,"tunes":3111},{"text":773},{},{"id":776,"data":3113,"type":218,"tunes":3114},{"text":778},{},{"id":781,"data":3116,"type":42,"tunes":3117},{"text":783,"level":254},{},{"id":786,"data":3119,"type":218,"tunes":3120},{"text":788},{},{"id":791,"data":3122,"type":218,"tunes":3123},{"text":793},{},{"id":796,"data":3125,"type":218,"tunes":3126},{"text":798},{},{"id":801,"data":3128,"type":42,"tunes":3129},{"text":803,"level":254},{},{"id":806,"data":3131,"type":218,"tunes":3132},{"text":808},{},{"id":811,"data":3134,"type":218,"tunes":3135},{"text":813},{},{"id":816,"data":3137,"type":218,"tunes":3138},{"text":818},{},{"id":821,"data":3140,"type":226,"tunes":3141},{"body":823,"title":824,"variant":240},{},{"id":827,"data":3143,"type":42,"tunes":3144},{"text":829,"level":254},{},{"id":832,"data":3146,"type":218,"tunes":3147},{"text":834},{},{"id":837,"data":3149,"type":218,"tunes":3150},{"text":839},{},{"id":842,"data":3152,"type":218,"tunes":3153},{"text":844},{},{"id":847,"data":3155,"type":42,"tunes":3156},{"text":849,"level":254},{},{"id":852,"data":3158,"type":218,"tunes":3159},{"text":854},{},{"id":857,"data":3161,"type":218,"tunes":3162},{"text":859},{},{"id":862,"data":3164,"type":218,"tunes":3165},{"text":864},{},{"id":867,"data":3167,"type":42,"tunes":3168},{"text":869,"level":254},{},{"id":872,"data":3170,"type":218,"tunes":3171},{"text":874},{},{"id":877,"data":3173,"type":218,"tunes":3174},{"text":879},{},{"id":882,"data":3176,"type":218,"tunes":3177},{"text":884},{},{"id":887,"data":3179,"type":42,"tunes":3180},{"text":889,"level":254},{},{"id":892,"data":3182,"type":218,"tunes":3183},{"text":894},{},{"id":897,"data":3185,"type":218,"tunes":3186},{"text":899},{},{"id":902,"data":3188,"type":218,"tunes":3189},{"text":904},{},{"id":907,"data":3191,"type":42,"tunes":3192},{"text":909,"level":254},{},{"id":912,"data":3194,"type":376,"tunes":3204},{"content":3195,"stretched":43,"withHeadings":14},[3196,3197,3198,3199,3200,3201,3202,3203],[916,917],[919,920],[922,923],[925,926],[928,929],[931,932],[934,935],[937,938],{},{"id":941,"data":3206,"type":42,"tunes":3207},{"text":943,"level":254},{},{"id":946,"data":3209,"type":218,"tunes":3210},{"text":948},{},{"id":951,"data":3212,"type":218,"tunes":3213},{"text":953},{},{"id":956,"data":3215,"type":218,"tunes":3216},{"text":958},{},{"id":961,"data":3218,"type":42,"tunes":3219},{"text":963,"level":254},{},{"id":966,"data":3221,"type":218,"tunes":3222},{"text":968},{},{"id":971,"data":3224,"type":218,"tunes":3225},{"text":973},{},{"id":976,"data":3227,"type":218,"tunes":3228},{"text":978},{},{"id":981,"data":3230,"type":42,"tunes":3231},{"text":983,"level":254},{},{"id":986,"data":3233,"type":376,"tunes":3246},{"content":3234,"stretched":43,"withHeadings":14},[3235,3236,3237,3238,3239,3240,3241,3242,3243,3244,3245],[990,991],[993,994],[996,997],[999,1000],[1002,1003],[1005,1006],[1008,1009],[1011,1012],[1014,1015],[1017,1018],[1020,1021],{},{"id":1024,"data":3248,"type":42,"tunes":3249},{"text":1026,"level":254},{},{"id":1029,"data":3251,"type":226,"tunes":3252},{"body":1031,"title":1032,"variant":247},{},{"id":1035,"data":3254,"type":218,"tunes":3255},{"text":1037},{},{"id":1040,"data":3257,"type":218,"tunes":3258},{"text":1042},{},{"id":1045,"data":3260,"type":218,"tunes":3261},{"text":1047},{},{"id":1050,"data":3263,"type":218,"tunes":3264},{"text":1052},{},{"id":1055,"data":3266,"type":376,"tunes":3275},{"content":3267,"stretched":43,"withHeadings":14},[3268,3269,3270,3271,3272,3273,3274],[1059,1060],[1062,1063],[1065,1066],[1068,1069],[1071,1072],[1074,1075],[1077,1078],{},{"id":1081,"data":3277,"type":226,"tunes":3278},{"body":1083,"title":1084,"variant":240},{},{"id":1087,"data":3280,"type":42,"tunes":3281},{"text":1089,"level":254},{},{"id":1092,"data":3283,"type":376,"tunes":3291},{"content":3284,"stretched":43,"withHeadings":14},[3285,3286,3287,3288,3289,3290],[1096,1097],[1099,1100],[1102,1103],[1105,1106],[1108,1109],[1111,1112],{},{"id":1115,"data":3293,"type":42,"tunes":3294},{"text":1117,"level":254},{},{"id":1120,"data":3296,"type":218,"tunes":3297},{"text":1122},{},{"id":1125,"data":3299,"type":218,"tunes":3300},{"text":1127},{},{"id":1130,"data":3302,"type":218,"tunes":3303},{"text":1132},{},{"id":1135,"data":3305,"type":42,"tunes":3306},{"text":1137,"level":254},{},{"id":1140,"data":3308,"type":376,"tunes":3323},{"content":3309,"stretched":43,"withHeadings":14},[3310,3311,3312,3313,3314,3315,3316,3317,3318,3319,3320,3321,3322],[1144,1145],[1147,1148],[1150,1151],[1153,1154],[1156,1157],[1159,1160],[1162,1163],[1165,1166],[1168,1169],[1171,1172],[1174,1175],[1177,1178],[1180,1181],{},{"id":1184,"data":3325,"type":42,"tunes":3326},{"text":1186,"level":254},{},{"id":1189,"data":3328,"type":376,"tunes":3343},{"content":3329,"stretched":43,"withHeadings":14},[3330,3331,3332,3333,3334,3335,3336,3337,3338,3339,3340,3341,3342],[1193,1194],[1196,1197],[1199,1200],[1202,1203],[1205,1206],[1208,1209],[1211,1212],[1214,1215],[1217,1218],[1220,1221],[1223,1224],[1226,1227],[1229,1230],{},{"id":1233,"data":3345,"type":42,"tunes":3346},{"text":1235,"level":254},{},{"id":1238,"data":3348,"type":324,"tunes":3362},{"steps":3349,"title":1277,"orientation":323},[3350,3351,3352,3353,3354,3355,3356,3357,3358,3359,3360,3361],{"label":1242,"description":1243},{"label":1245,"description":1246},{"label":1248,"description":1249},{"label":1251,"description":1252},{"label":1254,"description":1255},{"label":1257,"description":1258},{"label":1260,"description":1261},{"label":1263,"description":1264},{"label":1266,"description":1267},{"label":1269,"description":1270},{"label":1272,"description":1273},{"label":1275,"description":1276},{},{"id":1280,"data":3364,"type":42,"tunes":3365},{"text":1282,"level":254},{},{"id":1285,"data":3367,"type":376,"tunes":3385},{"content":3368,"stretched":43,"withHeadings":14},[3369,3370,3371,3372,3373,3374,3375,3376,3377,3378,3379,3380,3381,3382,3383,3384],[1145,1289],[1291,1292],[1294,1295],[1297,1298],[1300,1301],[1303,1304],[1306,1307],[1309,1310],[1312,1313],[1315,1316],[1318,1319],[1321,1322],[1324,1325],[1327,1328],[1330,1331],[1333,1334],{},{"id":1337,"data":3387,"type":42,"tunes":3388},{"text":1339,"level":254},{},{"id":1342,"data":3390,"type":218,"tunes":3391},{"text":1344},{},{"id":1347,"data":3393,"type":218,"tunes":3394},{"text":1349},{},{"id":1352,"data":3396,"type":218,"tunes":3397},{"text":1354},{},{"id":1357,"data":3399,"type":218,"tunes":3400},{"text":1359},{},{"id":1362,"data":3402,"type":218,"tunes":3403},{"text":1364},{},{"id":1367,"data":3405,"type":42,"tunes":3406},{"text":1369,"level":254},{},{"id":1372,"data":3408,"type":218,"tunes":3409},{"text":1374},{},{"id":1377,"data":3411,"type":218,"tunes":3412},{"text":1379},{},{"id":1382,"data":3414,"type":218,"tunes":3415},{"text":1384},{},{"id":1387,"data":3417,"type":42,"tunes":3418},{"text":1389,"level":254},{},{"id":1392,"data":3420,"type":218,"tunes":3421},{"text":1394},{},{"id":1397,"data":3423,"type":218,"tunes":3424},{"text":1399},{},{"id":1402,"data":3426,"type":218,"tunes":3427},{"text":1404},{},{"id":1407,"data":3429,"type":649,"tunes":3430},{"url":1409,"title":1410,"excerpt":1411,"ctaLabel":1412},{},{"id":1415,"data":3432,"type":42,"tunes":3433},{"text":1417,"level":254},{},{"id":1420,"data":3435,"type":1420,"tunes":3447},{"items":3436,"title":1463},[3437,3438,3439,3440,3441,3442,3443,3444,3445,3446],{"id":1424,"answer":1425,"question":1426},{"id":1428,"answer":1429,"question":1430},{"id":1432,"answer":1433,"question":1434},{"id":1436,"answer":1437,"question":1438},{"id":1440,"answer":1441,"question":1442},{"id":1444,"answer":1445,"question":1446},{"id":1448,"answer":1449,"question":1450},{"id":1452,"answer":1453,"question":1454},{"id":1456,"answer":1457,"question":1458},{"id":1460,"answer":1461,"question":1462},{},{"id":1466,"data":3449,"type":42,"tunes":3450},{"text":1468,"level":254},{},{"id":1471,"data":3452,"type":1471,"tunes":3466},{"title":1473,"entries":3453},[3454,3455,3456,3457,3458,3459,3460,3461,3462,3463,3464,3465],{"term":595,"anchor":594,"definition":1476},{"term":1478,"anchor":1479,"definition":1480},{"term":362,"anchor":1482,"definition":1483},{"term":365,"anchor":1485,"definition":1486},{"term":501,"anchor":1488,"definition":1489},{"term":504,"anchor":1491,"definition":1492},{"term":512,"anchor":1494,"definition":1495},{"term":1497,"anchor":1498,"definition":1499},{"term":1501,"anchor":1501,"definition":1502},{"term":719,"anchor":1504,"definition":1505},{"term":1507,"anchor":1508,"definition":1509},{"term":1511,"anchor":1512,"definition":1513},{},{"id":1516,"data":3468,"type":42,"tunes":3469},{"text":1518,"level":254},{},{"id":1521,"data":3471,"type":218,"tunes":3472},{"text":1523},{},{"id":1526,"data":3474,"type":218,"tunes":3475},{"text":1528},{},{"id":1531,"data":3477,"type":218,"tunes":3478},{"text":1533},{},{"id":1536,"data":3480,"type":42,"tunes":3481},{"text":1538,"level":254},{},{"id":1541,"data":3483,"type":218,"tunes":3484},{"text":1543},{},{"id":1546,"data":3486,"type":1553,"tunes":3489},{"link":1548,"meta":3487},{"image":3488,"title":1551,"description":1552},{"url":401},{},{"id":1556,"data":3491,"type":1553,"tunes":3494},{"link":1558,"meta":3492},{"image":3493,"title":1561,"description":1562},{"url":401},{},{"id":1565,"data":3496,"type":1553,"tunes":3499},{"link":1567,"meta":3497},{"image":3498,"title":1570,"description":1571},{"url":401},{},{"id":1574,"data":3501,"type":1553,"tunes":3504},{"link":1576,"meta":3502},{"image":3503,"title":1579,"description":1580},{"url":401},{},{"id":1583,"data":3506,"type":1553,"tunes":3509},{"link":1585,"meta":3507},{"image":3508,"title":1588,"description":1589},{"url":401},{},{"id":1592,"data":3511,"type":1553,"tunes":3514},{"link":1594,"meta":3512},{"image":3513,"title":1597,"description":1598},{"url":401},{},{"id":1601,"data":3516,"type":1553,"tunes":3519},{"link":1603,"meta":3517},{"image":3518,"title":1606,"description":1607},{"url":401},{},"Post erfolgreich abgerufen",{"items":3522,"source":3607,"manualIds":3608,"manualMatchedIds":3609},[3523,3530,3537,3544,3551,3558,3565,3572,3579,3586,3593,3600],{"id":3524,"slug":3525,"title":3526,"excerpt":3527,"featuredImage":3528,"publishedAt":3529},"483","what-is-an-ai-solution-architect-system-boundaries-responsibilities-and-trade-offs","Qu'est-ce qu'un architecte de solutions IA ? Limites du système, responsabilités et compromis","Un architecte de solutions d'IA transforme les exigences métier en un système d'IA prêt pour la production, couvrant les données, les modèles, les outils, la sécurité, l'exécution, l'évaluation et les opérations.","\u002Fuploads\u002F2026\u002F10\u002Fwhat-is-an-ai-solution-architect-system-boundaries-responsibilities-and-trade-offs-1791476643267-1st5xz.webp","2026-10-08T12:23:00.000Z",{"id":3531,"slug":3532,"title":3533,"excerpt":3534,"featuredImage":3535,"publishedAt":3536},"470","what-should-an-ai-agent-remember-forget-recompute-or-retrieve-again","Que devrait mémoriser, oublier, recalculer ou récupérer à nouveau un agent IA ?","Les agents à exécution longue ne devraient pas tout retenir. Cet article propose un modèle de cycle de vie pratique pour décider de ce qui a sa place dans la mémoire durable, de ce qui devrait être récupéré à nouveau, de ce qu'il est plus sûr de recalculer et de ce qui devrait expirer ou être remplacé.","\u002Fuploads\u002F2026\u002F09\u002Fwhat-should-an-ai-agent-remember-forget-recompute-or-retrieve-again-1790351131087-iehz28.webp","2026-09-25T09:43:00.000Z",{"id":3538,"slug":3539,"title":3540,"excerpt":3541,"featuredImage":3542,"publishedAt":3543},"466","the-gpu-is-not-the-product-future-proof-private-ai-architecture","Le GPU n'est pas le produit : architecture d'IA privée pérenne","Une infrastructure d'IA privée ne devrait pas être conçue autour d'un seul GPU ou d'un seul modèle. Une approche plus résiliente combine des GPU d'inférence rapides, des systèmes d'IA riches en mémoire, des nœuds d'IA physique et des modèles cloud de pointe optionnels derrière une couche de routage prenant en compte les capacités.","\u002Fuploads\u002F2026\u002F09\u002Fthe-gpu-is-not-the-product-future-proof-private-ai-architecture-1790140878812-8hsl39.webp","2026-09-23T01:19:00.000Z",{"id":3545,"slug":3546,"title":3547,"excerpt":3548,"featuredImage":3549,"publishedAt":3550},"471","how-to-know-whether-an-ai-agent-actually-used-the-right-evidence","Comment savoir si un agent IA a réellement utilisé les bonnes preuves","Un agent IA peut citer des sources et tout de même utiliser les mauvais éléments de preuve. Cet article présente une méthode pratique pour vérifier le soutien des affirmations, l'autorité de la source, l'applicabilité, la provenance et si les éléments de preuve ont réellement influencé la réponse.","\u002Fuploads\u002F2026\u002F09\u002Fhow-to-know-whether-an-ai-agent-actually-used-the-right-evidence-1790351317188-o5z9ve.webp","2026-09-25T11:47:00.000Z",{"id":3552,"slug":3553,"title":3554,"excerpt":3555,"featuredImage":3556,"publishedAt":3557},"490","rbac-vs-tenant-isolation-two-different-security-boundaries","RBAC vs isolation des locataires : deux frontières de sécurité différentes","Le RBAC contrôle ce qu’un utilisateur peut faire ; l’isolation des locataires contrôle à quelles ressources de locataire cette action peut accéder. Découvrez pourquoi la sécurité SaaS multi-locataires nécessite ces deux frontières.","\u002Fuploads\u002F2026\u002F10\u002Frbac-vs-tenant-isolation-two-different-security-boundaries-1791485111528-qqtzby.webp","2026-10-08T14:43:00.000Z",{"id":3559,"slug":3560,"title":3561,"excerpt":3562,"featuredImage":3563,"publishedAt":3564},"481","generative-ai-explained-models-retrieval-tools-and-applications-are-not-the-same-thing","L'IA générative expliquée : modèles, recherche, outils et applications ne sont pas la même chose","L'IA générative est plus qu'un modèle. Découvrez comment les modèles, la récupération, les outils, le contexte, les environnements d'exécution et les applications s'articulent dans les systèmes d'IA en production.","\u002Fuploads\u002F2026\u002F10\u002Fgenerative-ai-explained-models-retrieval-tools-and-applications-are-not-the-same-thing-1791475411822-pp0dvz.webp","2026-10-08T12:00:00.000Z",{"id":3566,"slug":3567,"title":3568,"excerpt":3569,"featuredImage":3570,"publishedAt":3571},"487","vector-databases-embeddings-and-reranking-three-different-parts-of-retrieval","Bases de données vectorielles, plongements et reclassement : trois parties distinctes de la recherche","Les embeddings représentent le sens, les bases de données vectorielles récupèrent des candidats, et les rerankers affinent les résultats. Découvrez comment ces trois couches de récupération diffèrent et fonctionnent ensemble dans le RAG.","\u002Fuploads\u002F2026\u002F10\u002Fvector-databases-embeddings-and-reranking-three-different-parts-of-retrieval-1791480129884-9dtasz.webp","2026-10-08T11:21:00.000Z",{"id":3573,"slug":3574,"title":3575,"excerpt":3576,"featuredImage":3577,"publishedAt":3578},"484","what-is-an-ai-platform-architect-models-data-runtime-security-and-operations","Qu'est-ce qu'un architecte de plateforme d'IA ? Modèles, données, environnement d'exécution, sécurité et opérations","Un architecte de plateforme d'IA conçoit des fondations d'IA réutilisables à travers les modèles, les fournisseurs, la récupération, les agents, l'identité, la sécurité, l'évaluation, l'observabilité et les opérations.","\u002Fuploads\u002F2026\u002F10\u002Fwhat-is-an-ai-platform-architect-models-data-runtime-security-and-operations-1791477229171-ou3zcc.webp","2026-10-08T12:32:00.000Z",{"id":3580,"slug":3581,"title":3582,"excerpt":3583,"featuredImage":3584,"publishedAt":3585},"494","air-gapped-ai-how-ai-systems-work-without-internet-or-cloud-access","IA en environnement isolé : comment les systèmes d’IA fonctionnent sans accès à Internet ni au cloud","L'IA en environnement isolé exécute des modèles, du RAG et des applications d'IA à l'intérieur d'un domaine de sécurité isolé, sans dépendance à Internet ni au cloud. Découvrez comment les modèles, les données, les mises à jour et les outils fonctionnent hors ligne.","\u002Fuploads\u002F2026\u002F10\u002Fair-gapped-ai-how-ai-systems-work-without-internet-or-cloud-access-1791487983978-e6xqf0.webp","2026-10-08T11:32:00.000Z",{"id":3587,"slug":3588,"title":3589,"excerpt":3590,"featuredImage":3591,"publishedAt":3592},"382","a-practical-monorepo-architecture-next-js-platform-admin-fastify-api-prisma-and-nginx","Une Architecture Monorepo Pratique avec Next.js, Fastify, Prisma, et NGINX","Explorez une architecture de monorepo pratique utilisant Next.js, Fastify, Prisma et NGINX, mettant en évidence l'intégration et le flux de travail concrets.","\u002Fuploads\u002F2026\u002F01\u002Fa-practical-monorepo-architecture-next-js-platform-admin-fastify-api-prisma-and-nginx-1769885526116-q1100n.webp","2026-01-31T08:18:00.000Z",{"id":3594,"slug":3595,"title":3596,"excerpt":3597,"featuredImage":3598,"publishedAt":3599},"476","mcp-vs-a2a-vs-ucp-vs-ap2-vs-a2ui-the-agent-protocol-stack-explained","MCP vs A2A vs UCP vs AP2 vs A2UI : La pile de protocoles d'agent expliquée","MCP, A2A, UCP, AP2 et A2UI sont souvent présentés comme des standards d'agents concurrents. Ils résolvent principalement des problèmes d'interopérabilité différents. Ce guide associe chaque protocole à la frontière qu'il standardise réellement—et montre comment ils peuvent fonctionner ensemble dans un seul système de production.","\u002Fuploads\u002F2026\u002F09\u002Fmcp-vs-a2a-vs-ucp-vs-ap2-vs-a2ui-the-agent-protocol-stack-explained-1790352625869-2ezle0.webp","2026-09-25T12:09:00.000Z",{"id":3601,"slug":3602,"title":3603,"excerpt":3604,"featuredImage":3605,"publishedAt":3606},"486","source-of-truth-in-ai-systems-where-reliable-knowledge-actually-comes-from","Source de vérité dans les systèmes d’IA : d’où provient réellement une connaissance fiable","Une source de vérité définit quelle source fait autorité pour un fait ou un état spécifique. Découvrez en quoi elle diffère du RAG, de la provenance, de la mémoire, du contexte, des bases de données vectorielles et des systèmes d'enregistrement.","\u002Fuploads\u002F2026\u002F10\u002Fsource-of-truth-in-ai-systems-where-reliable-knowledge-actually-comes-from-1791479103235-6bq9em.webp","2026-10-08T13:02:00.000Z","fallback",[],[]]