Aller au contenu principal

Acceder aux ressources

Les ressources MCP permettent d’injecter des donnees directement dans les prompts, sans passer par des appels d’outils.

Implementation de la lecture de ressources

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

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

Deux scenarios : les ressources JSON qui necessitent un parsing, et les ressources texte brut retournees telles quelles.

Ressources vs outils

Les ressources sont particulierement utiles quand :

  • Le contenu est statique ou semi-statique et frequemment reference
  • Vous voulez reduire le nombre d’appels API
  • Le contenu doit etre immediatement disponible dans le contexte du prompt

Les outils sont meilleurs pour les operations dynamiques ou quand l’IA doit decider si elle a besoin d’acceder a certaines informations selon le contexte de la conversation.