First commit

This commit is contained in:
Johan
2025-12-17 13:33:10 +01:00
commit 8bf5110459
7 changed files with 3759 additions and 0 deletions

43
src/mcp_tool_server.py Normal file
View File

@@ -0,0 +1,43 @@
import asyncio
from mcp.server.fastmcp import FastMCP
# --- 1. La base de données locale du serveur ---
# C'est la seule source de vérité pour les données des films.
FILM_DATABASE = {
1: {
"title": "Matrix",
"synopsis": """
Programmeur anonyme dans un service administratif le jour, Thomas Anderson devient Neo la nuit venue.
Sous ce pseudonyme, il est l'un des pirates les plus recherchés du cyber-espace. A cheval entre deux mondes,
Neo est assailli par d'étranges songes et des messages cryptés provenant d'un certain Morpheus.
Celui-ci l'exhorte à aller au-delà des apparences et à trouver la réponse à la question qui hante
constamment ses pensées : qu'est-ce que la Matrice ?
"""
},
2: {
"title": "Inception",
"synopsis": """
Dom Cobb est un voleur expérimenté le meilleur qui soit dans l'art périlleux de l'extraction :
sa spécialité consiste à s'approprier les secrets les plus précieux d'un individu, enfouis au plus
profond de son subconscient, pendant qu'il rêve et que son esprit est particulièrement vulnérable.
"""
}
}
# --- 2. Création du serveur MCP ---
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 ...
# --- 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 ...
if __name__ == "__main__":
asyncio.run(main())