TP done
This commit is contained in:
@@ -29,15 +29,28 @@ async def main():
|
|||||||
mcp = FastMCP("movies-mcp-server", json_response=True, port=12345)
|
mcp = FastMCP("movies-mcp-server", json_response=True, port=12345)
|
||||||
|
|
||||||
# --- 3. Définition de l'unique outil ---
|
# --- 3. Définition de l'unique outil ---
|
||||||
# Cet outil ne fait aucune analyse, il retourne juste le synopsis d'un film, donné son ID.
|
# Cet outil ne fait aucune analyse, il retourne juste des données brutes.
|
||||||
# TODO : implémentez l'outil mcp_get_film_synopsis
|
@mcp.tool(name="get_film_details_by_id")
|
||||||
# ... votre code ici ...
|
async def mcp_get_film_synopsis(film_id: int) -> str:
|
||||||
|
"""
|
||||||
|
Récupère UNIQUEMENT le synopsis d'un film en utilisant son ID.
|
||||||
|
Retourne le synopsis sous forme de chaîne de caractères, ou un message d'erreur.
|
||||||
|
"""
|
||||||
|
print(f"-> [Serveur] Demande de synopsis pour le film ID {film_id}...")
|
||||||
|
film_data = FILM_DATABASE.get(film_id)
|
||||||
|
if film_data:
|
||||||
|
synopsis = film_data['synopsis']
|
||||||
|
print(f"<- [Serveur] Synopsis pour le film ID {film_id} envoyé.")
|
||||||
|
return synopsis
|
||||||
|
else:
|
||||||
|
error_message = f"Erreur: film avec l'ID {film_id} non trouvé."
|
||||||
|
print(f"<- [Serveur] {error_message}")
|
||||||
|
return error_message
|
||||||
|
|
||||||
# --- 4. Démarrage du serveur ---
|
# --- 4. Démarrage du serveur ---
|
||||||
print("Serveur de données MCP démarré sur le port 12345...")
|
print("Serveur de données MCP démarré sur le port 12345...")
|
||||||
print("Ce terminal est maintenant dédié au serveur. Laissez-le tourner.")
|
print("Ce terminal est maintenant dédié au serveur. Laissez-le tourner.")
|
||||||
# --- TODO : démarrez le serveur ---
|
await mcp.run_streamable_http_async()
|
||||||
# ... votre code ici ...
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
asyncio.run(main())
|
asyncio.run(main())
|
||||||
|
|||||||
Reference in New Issue
Block a user