Aller au contenu principal

Acceder aux ressources

Les ressources MCP permettent a votre serveur d’exposer des donnees qui peuvent etre directement incluses dans les prompts, sans necessiter d’appels d’outils.

Implementation de la lecture de ressources

La methode read_resource du client MCP prend un parametre URI identifiant quelle ressource recuperer :

import json
from pydantic import AnyUrl

async def read_resource(self, uri: str) -> Any:
    result = await self.session().read_resource(AnyUrl(uri))
    resource = result.contents[0]

Gerer les differents types de contenu

Les ressources peuvent renvoyer differents types de contenu. Verifiez le type MIME pour gerer la reponse correctement :

if isinstance(resource, types.TextResourceContents):
    if resource.mimeType == "application/json":
        return json.loads(resource.text)

return resource.text

Les ressources JSON sont parsees correctement, tandis que les ressources en texte brut sont renvoyees telles quelles.

Tester l’implementation

Quand vous tapez ”@” suivi d’un nom de ressource dans le CLI, le systeme :

  1. Affiche les ressources disponibles dans une liste d’auto-completion
  2. Permet de selectionner une ressource avec les fleches et la touche espace
  3. Inclut le contenu de la ressource directement dans le prompt envoye a Claude

Claude recoit le contenu du document immediatement sans avoir besoin d’appels d’outils supplementaires.

Avantages par rapport aux outils

  • Le contenu est inclus directement dans les prompts, reduisant la latence
  • Pas d’appels API supplementaires pendant la conversation
  • Meilleure experience utilisateur avec l’auto-completion
  • Separation plus nette entre donnees statiques et operations dynamiques

Les ressources fonctionnent le mieux pour les informations relativement statiques que vous voulez rendre facilement accessibles aux modeles IA.