Le MCP, la CLI et les compétences ensemble : une pile de connectivité pour les agents en production.
Les compétences, la CLI et le MCP résolvent chacun un problème de connectivité différent. Découvrez quand utiliser chacun d’eux, ainsi que la découverte progressive, le mode Code et le plan stratégique MCP pour 2026.
Sources: How to Build Production-Ready AI Agents: MCP, CLI, and Skills — the Right Tool for the Right Job
Les démos ont défini l’année 2024, les agents de codage ont défini 2025, et 2026 sera l’année où les agents de travail à base de connaissances générales entreront en production. On rapporte que le Model Context Protocol a atteint environ 110 millions de téléchargements mensuels, un jalon atteint plus rapidement que React. Cependant, à mesure que ces agents intègrent des workflows d’entreprise impliquant de nombreuses applications SaaS et des disques partagés, un point revient constamment : la connectivité n’est pas une seule chose. Quiconque prétend avoir une seule réponse, que ce soit l’utilisation d’ordinateurs, MCP ou la ligne de commande, exagère. Les agents performants n’en choisissent pas un seul ; ils utilisent l’ensemble de la pile de connectivité en même temps.
Trois niveaux
Les compétences, la CLI et MCP résolvent chacune un problème différent, et chacune est conçue différemment.
- Les compétences intègrent des connaissances sectorielles. Il s’agit d’instructions procédurales réutilisables, généralement des fichiers Markdown, qui enseignent à un modèle comment utiliser des outils. Elles sont transférées entre les clients et fournissent le contexte nécessaire pour des tâches complexes. Elles sont écrites par des humains ou générées par des agents, et elles sont chargées depuis des répertoires locaux tels que
.claude/skills/ou depuis des dépôts distants. - La CLI, ou utilisation d’ordinateur, correspond à une exécution locale au style Unix. Elle se compose bien, consomme peu de tokens (environ 200 par réponse) et bénéficie de l’entraînement préalable du modèle sur des outils tels que
git,ghetcurl. On obtient des outils CLI en installant des binaires ordinaires via un gestionnaire de paquets. - MCP est le tissu conjonctif. Il offre une sémantique riche, une indépendance vis-à-vis de la plateforme ainsi que des fonctionnalités d’entreprise telles que OAuth, des politiques de gouvernance et des traces d’audit. Un serveur est défini dans du code, par exemple
server.pyouserver.ts, à l’aide d’outils, de ressources et de commandes, et communique via JSON-RPC 2.0 sur HTTP ou SSE.
Quand MCP est le choix approprié
Recourrez à MCP lorsque vous avez besoin d’une sémantique riche, d’une autorisation efficace et d’une indépendance par rapport à la plateforme. Il adopte une approche déterministe basée sur un schéma pour le choix des outils, avec intégrées des fonctionnalités de gouvernance et des traces d’audit. Le coût réside dans le contexte : une configuration naïve qui charge tous les schémas d’outils au préalable peut consommer de 44 000 à 55 000 tokens, et chaque réponse est un objet JSON entièrement typé, idéal pour le parsing programmé mais coûteux en termes de tokens.
Pour ceux qui développent des serveurs, il est conseillé d’utiliser des noms de fonctions et de paramètres descriptifs, ainsi que d’annoter chaque paramètre d’une description. Les modèles fonctionnent mieux et plus rapidement lorsqu’ils savent exactement ce qui est attendu d’eux.
# Annotated Tool Definitions
from typing import Annotated
from datetime import date
from enum import Enum
class Category(str, Enum):
TRAVEL = "travel"
MEALS = "meals"
OFFICE = "office"
def submit_expense(
amount: Annotated[float, "The expense amount in USD"],
date: Annotated[date, "Date of the expense in YYYY-MM-DD format"],
category: Annotated[Category, "The expense category"]
) -> str:
"""Submits a new expense report for approval."""
pass
Quand l’interface en ligne de commande est la meilleure solution
Si l’outil figure déjà dans les données de pré-entraînement du modèle, comme Git ou l’interface en ligne de commande de GitHub, l’exécution via la ligne de commande s’avère très efficace. Le modèle peut enchaîner des commandes à l’aide de pipes et de redirections, et gérer les erreurs de manière économique. Au lieu de recevoir un gros envoi JSON, il peut filtrer les données avec jq pour ne conserver que ce dont il a besoin, soit une réponse compacte d’environ 200 tokens.
Découverte progressive
La plus grande amélioration apportée à la plupart des outils d’agent est la découverte progressive. Plutôt que d’intégrer tous les outils dans la fenêtre de contexte, on diffère leur chargement jusqu’à ce que le modèle en ait réellement besoin. On lui donne la capacité tool_search afin qu’il puisse rechercher dynamiquement les outils, ce qui permet de réduire l’utilisation du contexte d’environ cinq fois.
Appel programmatisé des outils
Lorsqu’un modèle doit orchestrer plusieurs outils, il ne faut pas le forcer à les appeler un par un, car chaque étape entraîne alors un délai d’inférence. Privilégiez l’appel programmatisé des outils, également appelé mode Code. Fournissez un REPL tel qu’un environnement isolé V8 ou un sandbox Python et permettez au modèle d’écrire un script qui assemble ces outils. Le script étant écrit une seule fois, il exécute toute la séquence, ce qui réduit considérablement le délai.
// Programmatic Tool Calling (Code Mode)
// Instead of multiple sequential LLM turns, the model writes this script once:
const issue = await mcp.call_tool("linear_get_issue", { id: "ENG-5121" });
const prs = await mcp.call_tool("github_list_prs", { repo: "frontend" });
// Use structured output to enforce types
const expectedType = z.object({ title: z.string(), status: z.string() }).passthrough();
const typedIssue = await extract("claude-haiku-4-5", expectedType, issue);py
Concevoir pour les agents
Les concepteurs de serveurs devraient cesser de mapper les API REST un par un vers des serveurs MCP et concevoir directement pour les agents dès le début. Trois habitudes aident à y parvenir : créer des outils avec une intention claire, comme on le ferait pour une interface destinée à un humain ; exposer des environnements d’exécution, comme le fait Cloudflare MCP, afin qu’un modèle puisse orchestrer des workflows complexes en code ; et distribuer une application MCP : utiliser la sémantique de MCP pour transmettre des ressources UI, c’est-à-dire du HTML, du JavaScript et du CSS, afin que le serveur puisse afficher sa propre interface à l’intérieur du client.
Que réserve l’avenir pour MCP
L’écosystème évolue rapidement pour répondre aux besoins des entreprises et assurer son expansion, et le plan stratégique pour 2026 comporte trois axes principaux.
- Un noyau amélioré : un nouveau transport sans état, proposé par Google, devrait faciliter le déploiement des serveurs MCP sur Kubernetes et Cloud Run, et des versions 2.0 des SDKs TypeScript et Python sont attendues.
- Intégration partout : l’accès inter-applications permettrait un authentification unique sur tous les serveurs MCP via le fournisseur d’identité de l’entreprise, et les serveurs pourraient être trouvés automatiquement à partir d’un fichier situé à
.well-known/mcp-server-card/server.json. - Au-delà de l’approche actuelle : les compétences via MCP permettraient à un serveur de diffuser des connaissances sectorielles en même temps que ses outils, grâce aux points d’entrée
skills/listetskills/get.
Choix parmi eux
La décision dépend du contexte et des exigences : MCP lorsque l’on a besoin de gouvernance et de sémantique riche, CLI lorsque le modèle connaît déjà l’outil et que les tokens sont importants, et Skills pour fournir les connaissances procédurales qui les relient entre eux.
Points clés
Aucun outil ne l’emporte, et présenter les choses comme une opposition entre MCP et CLI manque le but. Les agents de production ont besoin de plusieurs couches. Les critiques envers MCP, notamment le surcoût lié aux tokens, les lacunes en matière d’authentification et la qualité inégale des serveurs, mettent en évidence de vrais problèmes, mais il s’agit de problèmes techniques qui ont des solutions, et l’écosystème s’adapte déjà. La découverte progressive et le mode Code réduisent le gaspillage de tokens et la latence, permettant ainsi d’ajuster la norme plutôt que de l’abandonner. Abandonner MCP au sein d’une entreprise entraîne des problèmes encore pires : authentification fragmentée, absence de traçabilité et verrouillage par le fournisseur. On peut s’attendre à ce que les agents les plus performants combinent les Skills pour l’accès aux connaissances, MCP pour les connexions gérées, et la CLI pour des exécutions locales à bas coût.