Les ressources dans MCP permettent à votre serveur d'exposer des données qui peuvent être directement incluses dans les invites, plutôt que de nécessiter des appels d'outils pour accéder aux informations. Cela crée un moyen plus efficace de fournir du contexte aux modèles d'IA comme Claude.
Comprendre le flux des ressources

Lorsqu'un utilisateur souhaite accéder au contenu d'une ressource, le flux fonctionne comme suit :
- L'utilisateur demande des informations sur une ressource (comme « @report.pdf »)
- Votre code a besoin d'une liste de noms de documents pour l'autocomplétion
- Le client MCP envoie une ReadResourceRequest au serveur MCP
- Le serveur répond avec un ReadResourceResult contenant les données de la ressource
- Votre code peut alors insérer ces données directement dans les invites
Implémenter la lecture des ressources
Pour lire des ressources depuis votre client MCP, vous devrez implémenter une fonction read_resource. Tout d'abord, ajoutez les imports nécessaires :
import json
from pydantic import AnyUrlLa fonction principale effectue une requête vers votre session MCP et traite la réponse :
async def read_resource(self, uri: str) -> Any:
result = await self.session().read_resource(AnyUrl(uri))
resource = result.contents[0]Gérer différents types de ressources
Les ressources peuvent renvoyer différents types de contenu, vous devez donc vérifier le type MIME et analyser en conséquence :
if isinstance(resource, types.TextResourceContents):
if resource.mimeType == "application/json":
return json.loads(resource.text)
return resource.textCette approche gère deux scénarios principaux :
- Les ressources JSON qui nécessitent une analyse
- Les ressources en texte brut qui peuvent être renvoyées telles quelles
Tester l'accès aux ressources

Vous pouvez vérifier que votre implémentation de ressources fonctionne en la testant dans votre application. Lorsque vous tapez « @ » suivi d'un nom de ressource, vous devriez voir une liste d'autocomplétion des ressources disponibles. En sélectionner une inclura son contenu directement dans votre invite.
L'avantage clé de cette approche est l'efficacité - Claude reçoit le contenu du document immédiatement sans avoir besoin d'effectuer des appels d'outils supplémentaires pour accéder aux informations.
Ressources vs utilisation d'outils
Les ressources sont particulièrement utiles lorsque :
- Vous avez du contenu statique ou semi-statique fréquemment référencé
- Vous souhaitez réduire le nombre d'appels API
- Le contenu doit être immédiatement disponible dans le contexte de l'invite
Cela diffère des outils, qui sont mieux adaptés aux opérations dynamiques ou lorsque vous avez besoin que l'IA décide d'accéder ou non à certaines informations en fonction du contexte de la conversation.