Générer le contenu lors de la lecture
Calculez le contenu d’une ressource au moment où elle est demandée.
Générer le contenu lors de la lecture est une leçon MCP Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage MCP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours MCP Academy comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Lazy, Not Eager
A dynamic resource doesn't store a fixed body. Its content is computed on demand, only when a client actually asks to read it. ⚡
The Read Triggers the Work
Your resource function runs at the moment of a read request. Nothing happens until a client reads it, so you never waste effort building content no one wants.
Return the Body
Whatever your function returns becomes the resource's content. Return a string and the client receives that exact text as the resource body.
@mcp.resource("time://now")
def now() -> str:
return datetime.now().isoformat()Fresh Every Read
Because the body is rebuilt each time, the model always sees current data. Read the clock twice and you get two different timestamps.
Use the URI Variables
Combine read-time building with a template. The captured parameters shape what you compute, so the same function serves tailored content per URI.
@mcp.resource("greeting://{name}")
def greet(name: str) -> str:
return f"Hello, {name}!"Pull From Anywhere
At read time you can do real work: query a database, call an API, or read a file. The result of that work is what you return as the body.
@mcp.resource("stats://summary")
def summary() -> str:
return db.fetch_summary()Async When You Wait
If building content means waiting on I/O, make the function async. The server can serve other reads while yours awaits a slow network call.
@mcp.resource("feed://latest")
async def latest() -> str:
return await fetch_feed()Shape the Returned Text
You decide the format of the body. Returning JSON text is common when the model needs structured data it can reason over cleanly.
import json
def report() -> str:
return json.dumps({"ok": True})Keep It Quick
A read should feel snappy. If the work is heavy, cache the result so repeated reads don't redo expensive computation every single time.
Handle Missing Data
What if the requested thing doesn't exist? Raise an error from the function so the client learns the resource couldn't be read, rather than returning junk.
def get_doc(doc_id: str) -> str:
if doc_id not in store:
raise ValueError("not found")
return store[doc_id]Why This Matters
Read-time building turns a static idea into a live window on your data. The model always reads what is true right now, not a stale snapshot. 🎯
Quick Check
When does the body of a dynamic resource get produced?
Recap
You saw how returning a value from a resource function builds content on read, giving the model fresh, computed data every time. Next: listed vs templated resources. 🚀
Questions Fréquemment Posées
La leçon « Générer le contenu lors de la lecture » est-elle gratuite ?
Oui — le texte complet de « Générer le contenu lors de la lecture » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours MCP Academy, passe à CoddyKit PRO. Le cours MCP Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Générer le contenu lors de la lecture » ?
Calculez le contenu d’une ressource au moment où elle est demandée. Tu pratiques MCP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer MCP Academy ?
Aucune expérience préalable n'est requise. MCP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Générer le contenu lors de la lecture » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon MCP Academy ?
Oui. Chaque leçon MCP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- URI de ressources paramétrées
- Générer le contenu lors de la lecture
- Ressources listées ou utilisant un modèle
- Notifier les clients des mises à jour