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.