diff --git a/src/mcp_tool_server.py b/src/mcp_tool_server.py index 8fea3cb..be5f703 100644 --- a/src/mcp_tool_server.py +++ b/src/mcp_tool_server.py @@ -29,15 +29,28 @@ async def main(): mcp = FastMCP("movies-mcp-server", json_response=True, port=12345) # --- 3. Définition de l'unique outil --- - # Cet outil ne fait aucune analyse, il retourne juste le synopsis d'un film, donné son ID. - # TODO : implémentez l'outil mcp_get_film_synopsis - # ... votre code ici ... + # Cet outil ne fait aucune analyse, il retourne juste des données brutes. + @mcp.tool(name="get_film_details_by_id") + 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 --- print("Serveur de données MCP démarré sur le port 12345...") print("Ce terminal est maintenant dédié au serveur. Laissez-le tourner.") - # --- TODO : démarrez le serveur --- - # ... votre code ici ... + await mcp.run_streamable_http_async() if __name__ == "__main__": asyncio.run(main())