Ressources MCP vs outils : quelle est la différence et quand utiliser lesquels ?

Le protocole de contexte de modèle (MCP) offre aux applications d’IA une manière standard de connecter les modèles à un contexte et à des capacités externes. Pour les développeurs qui créent des serveurs MCP, la décision de conception la plus importante est souvent d’une simplicité trompeuse : une capacité doit-elle être exposée en tant que ressource ou en tant qu’outil ?
Cette distinction façonne la manière dont un agent découvre les informations, le moment où il consomme des jetons, ce qu’il peut modifier et la façon dont les utilisateurs évaluent les risques. Une capacité mal modélisée peut rendre une intégration plus difficile à appréhender : des données de référence statiques deviennent un appel de fonction inutile, ou une action conséquente semble être un contexte inoffensif.
En pratique, les ressources MCP fournissent des informations en lecture seule qu’une application peut mettre à la disposition d’un système d’IA. Les outils MCP exposent des opérations exécutables qu’un modèle peut demander. Comprendre la frontière entre les deux est fondamental pour développer des serveurs MCP fiables, sécurisés et économes en jetons.
Pourquoi la distinction entre ressources et outils est importante dans MCP
Les agents d’IA ont besoin à la fois d’informations et de la capacité d’agir. Cependant, la récupération d’informations et l’exécution d’actions reposent sur des modèles de confiance différents.
Un modèle peut avoir besoin d’un schéma de base de données pour comprendre quelles requêtes sont possibles. Il peut ensuite avoir besoin d’une capacité distincte pour exécuter une requête approuvée. Traiter les deux comme le même type d’intégration masque l’intention, complique les autorisations et peut entraîner une utilisation excessive du contexte.
La distinction entre ressources et outils est importante, car elle clarifie :
- Comportement de l’agent : Le modèle peut examiner un contexte stable séparément de la demande d’une opération.
- Limites de sécurité : Les accès en lecture et en écriture peuvent être examinés, délimités et régis différemment.
- Confiance des utilisateurs : Les utilisateurs peuvent distinguer un agent qui se renseigne sur un système d’un agent qui modifie ce système.
- Efficacité des jetons : Le contexte pertinent peut être récupéré au besoin plutôt qu’inséré sans discernement dans chaque invite.
- Conception du serveur : Les capacités deviennent plus faciles à nommer, documenter, tester et maintenir.
MCP ne signifie pas que chaque ressource disponible est automatiquement placée dans le contexte du modèle. Les ressources sont disponibles via le modèle de capacités MCP, tandis que l’application hôte détermine comment et quand elles sont affichées ou lues. Cette approche contrôlée par l’hôte est essentielle lorsque les informations disponibles sont vastes, sensibles ou coûteuses à charger.
Que sont les ressources MCP ?
Les ressources MCP sont des éléments de contexte en lecture seule, basés sur des URI, exposés par un serveur MCP. Elles sont conçues pour les informations qu’un système d’IA peut avoir besoin d’examiner, de résumer, d’analyser ou de citer lors de l’exécution d’une tâche.
Une ressource n’est pas simplement n’importe quel fichier ou point de terminaison d’API générique. Dans le cadre du protocole de contexte de modèle, il s’agit d’une unité de données contextuelles détectable, généralement identifiée par une URI. Un serveur peut exposer des ressources représentant de la documentation, de la configuration, des schémas, des métadonnées de projet, des pages de base de connaissances ou des informations d’état générées.
Les exemples courants comprennent un guide d’architecture de dépôt, un fichier `README`, un schéma OpenAPI, une définition de table de base de données ou la configuration actuelle d’un environnement de déploiement. Ces éléments sont utiles, car ils aident un agent à comprendre l’état et les règles d’un système avant de proposer ou d’effectuer un travail.
Au niveau du protocole, les serveurs peuvent annoncer le contexte disponible avec `resources/list`. Un client peut ensuite récupérer un élément spécifique via `resources/read`. Cette séparation permet à l’hôte et à l’agent d’examiner ce qui est disponible avant de charger le contenu lui-même.
Les ressources sont particulièrement utiles lorsque la réponse doit être dérivée d’informations existantes et stables. Par exemple, un agent qui examine un service inconnu peut lire une ressource contenant le contrat d’API du service avant de suggérer une intégration. La ressource fournit des éléments probants et du contexte ; elle n’effectue pas de modification.

Que sont les outils MCP ?
Les outils MCP sont des capacités exécutables qu’un modèle peut découvrir et invoquer via un serveur MCP. Ils représentent des opérations : des tâches que l’agent peut demander à un système connecté d’effectuer.
Un outil peut effectuer une requête d’API, créer un ticket, exécuter une vérification de déploiement, générer un rapport, envoyer un message ou écrire dans une base de données. De nombreux outils peuvent avoir des effets de bord, mais ceux-ci ne sont pas obligatoires. Une requête de base de données en lecture seule, par exemple, peut toujours être correctement modélisée comme un outil s’il s’agit d’une opération avec des entrées, une logique d’exécution et un résultat structuré.
Les serveurs exposent les définitions d’outils via `tools/list`. Chaque définition doit indiquer clairement un nom, une description et un schéma d’entrée. Le modèle invoque une capacité sélectionnée via `tools/call`, en fournissant des arguments qui correspondent aux entrées attendues par l’outil.
Le principe de conception clé est qu’un outil demande au serveur d’effectuer un travail. Sa sortie peut être des données, mais ces données sont le résultat d’une exécution plutôt qu’un artefact contextuel directement adressable.
Par exemple, `create_linear_ticket` est un outil, car il provoque la création d’un nouveau ticket par un flux de travail externe. `get_deployment_status` peut également être un outil lorsque le serveur doit interroger un système en direct à l’aide des paramètres d’environnement et de service fournis. Les deux opérations nécessitent une invocation explicite, même si une seule modifie nécessairement l’état.
Ressources MCP et outils : différences clés
| Capacité | Ressources MCP | Outils MCP |
|---|---|---|
| Modèle de contrôle | Accès au contexte contrôlé par l’hôte | Exécution demandée par le modèle, soumise aux contrôles de l’hôte |
| Objectif principal | Fournir des informations en lecture seule | Effectuer une opération ou un calcul |
| Effets de bord | Aucun ; lecture seule | Possibles, mais non obligatoires |
| Modèle d’identifiant | Basé sur les URI | Fonction nommée avec un schéma d’entrée |
| Méthode de découverte | `resources/list` | `tools/list` |
| Méthode d’accès | `resources/read` | `tools/call` |
| Exemples typiques | Documentation, schémas, configurations, métadonnées | Appels d’API, création de tickets, requêtes, déploiements |
| Meilleur usage | Contexte stable à examiner | Travail paramétré à demander |
Le tableau illustre une frontière pratique : les ressources décrivent ou exposent des informations, tandis que les outils exécutent un comportement. Dans un serveur MCP bien conçu, cette distinction reste visible même lorsque les deux capacités prennent en charge le même flux de travail plus large.
Comment choisir entre une ressource et un outil
Commencez par une question : l’agent doit-il examiner des informations ou le serveur doit-il effectuer une opération ?
Utilisez une ressource lorsque les informations sont en lecture seule, naturellement adressables et utiles comme contexte. Un fichier de configuration, une spécification de produit, un document de politique ou un schéma de base de données correspondent généralement à ce modèle. Le client peut découvrir l’élément, décider s’il est pertinent et le lire sans déclencher de logique métier.
Utilisez un outil lorsque la tâche nécessite des entrées, une exécution ou un résultat qui ne peut pas être représenté comme un contexte statique. La création d’un ticket d’assistance, la récupération d’un rapport filtré, le lancement d’une build ou la mise à jour d’un enregistrement relèvent d’un outil.
Certains flux de travail nécessitent les deux primitives. Prenez l’exemple d’une intégration de gestion des versions :
1. Exposez les politiques de publication et les définitions d’environnement comme ressources. 2. Proposez un outil pour récupérer l’état du déploiement en direct d’un service sélectionné. 3. Proposez un outil distinct pour déclencher un déploiement approuvé.
Cette conception permet à l’agent de comprendre d’abord les contraintes de politique et d’environnement, puis de demander les données opérationnelles actuelles, et seulement ensuite de solliciter une action conséquente. La séparation est plus facile à auditer pour les utilisateurs et plus facile à sécuriser pour les équipes produit.
Évitez de transformer chaque requête en ressource. Si l’information est dynamique, paramétrée ou coûteuse en calcul, un outil est généralement plus approprié. À l’inverse, évitez d’envelopper dans un outil un contenu de référence simple et stable lorsqu’une ressource basée sur une URI rendrait son objectif plus clair.
Exemples pratiques de conception de serveurs MCP
Un serveur de documentation de dépôt peut exposer les normes de codage, les registres de décisions d’architecture et les cartes de responsabilité des services comme ressources. Ces éléments constituent des documents de référence utiles avec des adresses prévisibles. Une fonctionnalité `search_repository_docs` peut être un outil si elle accepte des mots-clés et effectue une recherche ciblée dans un vaste corpus de documentation.
Pour les intégrations de bases de données, les schémas de tables et les dictionnaires de données approuvés fonctionnent bien comme ressources. Une fonctionnalité `run_readonly_query` est mieux modélisée comme un outil, car elle accepte une requête ou des filtres structurés, les valide, s’exécute sur un système en direct et renvoie un résultat. Un outil d’écriture distinct ne devrait jamais être dissimulé derrière la même interface ambiguë.
Les intégrations de gestion de projet suivent le même modèle. Une ressource peut fournir les définitions de flux de travail d’un tableau de sprint ou la taxonomie des étiquettes de tickets. Un outil peut créer un ticket, mettre à jour son statut ou attribuer un responsable. Les informations aident l’agent à formuler une demande éclairée ; l’outil effectue la modification demandée.
La génération de rapports constitue un autre cas limite utile. Un modèle fixe de rapport trimestriel peut être une ressource. Une opération `generate_quarterly_report` est un outil, car elle accepte une plage temporelle, sélectionne des données en direct, applique une logique métier et crée une sortie. Le rapport généré pourra ultérieurement être exposé comme ressource s’il devient un artefact stable que d’autres agents doivent examiner.
Utiliser Pi MCP pour les flux de travail allant du technique à la présentation
Presentation Intelligence (Pi) prend en charge les flux de travail MCP pour les équipes qui doivent transformer le travail technique en communication claire pour les parties prenantes. Pi MCP ne remplace pas les éditeurs de code, le contrôle de code source, les bases de données ou d’autres serveurs MCP. Il répond à une étape distincte du processus de livraison : traduire un contexte technique approuvé en une présentation structurée et prête pour les besoins métier.
1. La logique métier précède le style des diapositives
Dans un environnement de codage ou d’agents IA tel que Claude Code, les équipes disposent souvent déjà des éléments bruts nécessaires à une présentation solide : notes techniques, notes de projet, explications d’architecture, résumés de versions et conclusions tirées de la base de code. Le défi consiste à transformer ces éléments en un récit adapté au public plutôt qu’en une collection de diapositives déconnectées.
Avec Pi MCP, un flux de travail d’agent peut transmettre un brief défini ou un contexte approuvé à Presentation Intelligence afin de créer une structure de présentation centrée d’abord sur la logique. C’est utile pour les mises à jour de feuilles de route d’ingénierie, les revues de projet pour la direction, les présentations commerciales techniques, les rapports de conseil et les récits de lancement de produit, où le fil conducteur doit être aussi crédible que l’implémentation sous-jacente.
2. La génération reste visible dans le flux de travail existant
La création de présentations peut autrement obliger les développeurs et les équipes produit à quitter leur environnement de travail, à réorganiser manuellement les notes techniques et à vérifier à plusieurs reprises un processus de production distinct. Pi MCP permet aux équipes de lancer le travail de présentation et de suivre la progression de la génération au sein de leur flux de travail d’agent existant.
Cette continuité est importante lorsque la présentation dépend d’un contexte de projet évolutif. Une équipe peut affiner le brief, clarifier les besoins du public et suivre le flux de travail de présentation sans traiter la communication comme une réflexion après coup. L’approche IA multi-agents de Pi facilite la transition entre des entrées complexes et une structure professionnelle ainsi qu’une présentation métier haut de gamme, tout en laissant à l’équipe le contrôle du contexte partagé.
Bonnes pratiques pour des intégrations MCP sécurisées et efficaces en jetons
Un bon développement de serveur MCP commence par des capacités limitées et lisibles. Limitez les ressources aux informations dont un agent a réellement besoin. Un vaste déversement de connaissances indifférencié peut consommer des jetons sans améliorer les décisions. Préférez des ressources plus petites avec des URI significatives, des descriptions claires et des limites prévisibles.
Pour les outils, utilisez des noms précis et des schémas d’entrée explicites. `create_customer_ticket` communique davantage que `manage_ticket`, et un schéma qui sépare le titre, la priorité et l’ID client réduit l’ambiguïté. Renvoyez des résultats structurés et exploitables afin qu’un agent puisse déterminer ce qui s’est passé sans appeler à plusieurs reprises le même outil.
Séparez les opérations de lecture et d’écriture chaque fois que possible. Un outil qui à la fois inspecte et modifie un système rend l’examen des autorisations plus difficile. Lorsqu’une action a des conséquences — comme supprimer des enregistrements, envoyer des messages externes ou déclencher des déploiements en production — appliquez un accès avec privilèges minimaux et exigez une confirmation utilisateur appropriée dans l’expérience hôte.
Enfin, concevez pour une divulgation progressive. Laissez les agents découvrir d’abord les capacités, récupérer uniquement les ressources pertinentes et invoquer des outils seulement lorsqu’une opération est nécessaire. Cette approche réduit le gaspillage de jetons, limite l’exposition des données sensibles et rend le parcours de raisonnement d’un agent plus compréhensible.

Le verdict pratique : modélisez le contexte comme des ressources, les opérations comme des outils
La règle la plus fiable pour la conception MCP est simple : exposez le contexte durable en lecture seule comme ressources et le travail exécutable et paramétré comme outils. Cette frontière améliore les examens de sécurité, rend le comportement des agents interprétable et aide les équipes à gérer les budgets de contexte sans sacrifier un accès utile.
Pour les flux de travail complexes, la meilleure conception combine souvent les deux. Les ressources fournissent les faits et les contraintes dont un agent a besoin ; les outils offrent des moyens soigneusement gouvernés d’agir sur eux. Pi MCP applique ce même modèle à la communication technique, en aidant les équipes à convertir le contexte de projet approuvé en présentations structurées tout en restant dans les environnements IA où le travail se déroule déjà.
Foire aux questions (FAQ)
Les ressources MCP peuvent-elles modifier des données ?
Non. Les ressources MCP sont des éléments contextuels en lecture seule. Elles sont destinées à fournir des informations à examiner et à analyser, et non à modifier des fichiers, des bases de données, des services ou des flux de travail externes.
Les outils MCP ont-ils toujours des effets secondaires ?
Non. Les outils sont des capacités exécutables, et certains se contentent de récupérer ou de calculer des informations. Toutefois, comme les outils peuvent effectuer des opérations et avoir des effets secondaires, ils doivent avoir des noms clairs, des schémas d’entrée, des autorisations et, le cas échéant, des exigences de confirmation.
Comment choisir une ressource ou un outil pour une nouvelle capacité MCP ?
Choisissez une ressource lorsque la capacité correspond à des informations stables en lecture seule, naturellement identifiées par une URI. Choisissez un outil lorsque la capacité nécessite des entrées, exécute une logique, interroge un système en direct ou effectue une action. Lorsqu’un flux de travail nécessite à la fois du contexte et de l’exécution, exposez chacun comme une capacité distincte.
Comment Pi MCP prend-il en charge les flux de travail des développeurs ?
Pi MCP aide les développeurs, les ingénieurs IA et les équipes produit à transformer les notes techniques, les notes de projet et le contexte issu de la base de code en présentations structurées centrées d’abord sur la logique. Il prend en charge la génération de présentations et le suivi de la progression dans des environnements compatibles de codage et d’agents IA, y compris des flux de travail tels que Claude Code.


