Game Platforms MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Game Platforms MCPWhich games are exclusive to PlayStation?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Game Platforms MCP
Serveur MCP (Model Context Protocol) exposant une base de jeux vidéo enrichie par IA, pour savoir sur quelles plateformes un jeu est disponible et s'il est exclusif à un constructeur (Sony, Microsoft, Nintendo, PC, Mobile), plus deux enrichissements IA inédits : le style visuel et le pays du studio.
Projet réalisé dans le cadre du cours "Projet IA" (Nathanaël Khodl). Écrit en JavaScript pur (aucune étape de compilation nécessaire).
Serveur déployé en ligne : https://game-platforms-mcp.onrender.com/mcp
Dépôt GitHub : https://github.com/Socami/first-mcp-project
Architecture du projet
Le projet suit les 3 parties demandées dans la consigne :
Collecte de données (sans IA) —
src/scripts/fetchData.jsinterroge l'API publique RAWG (base de données de jeux vidéo, gratuite) en deux temps :Les jeux les plus populaires toutes plateformes confondues (tri
-added)Les 100 jeux les mieux notés (tri
-rating) sur chaque plateforme ciblée individuellement (Nintendo Switch, PlayStation 4, PlayStation 5, Xbox One, Xbox Series S/X), pour garantir une vraie couverture de chaque écosystème plutôt que de dépendre uniquement de la popularité globale (qui sous-représente des franchises comme Zelda ou Mario)
L'endpoint liste de RAWG ne renvoyant pas les développeurs, le script fait en plus un appel détail
/api/games/{id}par jeu pour les récupérer. Résultat final : ~450 jeux sauvegardés dansdata/raw-games.json.Traitement des données avec IA —
src/scripts/structureData.jsenrichit ces données avec 3 informations qui n'existent PAS dans RAWG, produites en un seul élément structuré (un schéma Zod unique, un seul appel OpenAI par lot viaresponses.parse+zodTextFormat) :Familles de constructeurs : regroupe les plateformes brutes (ex: "PlayStation 5", "Xbox Series S/X") en familles standardisées (Sony, Microsoft, Nintendo, PC, Mobile, Autre). L'exclusivité est ensuite calculée en code à partir de ce résultat, pour rester fiable à 100%.
Style visuel (
artStyle) : Réaliste, Cartoon, Pixel Art, Anime, Rétro ou Autre, déduit par analyse d'image réelle (vision degpt-4o-mini, OpenAI) sur la capture d'écran du jeu — pas une supposition à partir du nom.Pays du studio (
studioCountry) : déduit de la connaissance générale du modèle OpenAI sur l'industrie du jeu vidéo. Répond "Inconnu" quand l'IA n'est pas sûre plutôt que d'inventer une réponse.
Le résultat est sauvegardé dans
data/games.json.Serveur MCP —
src/mcp/server.jsexpose ces données via 6 outils, utilisables par n'importe quel client compatible MCP (Claude Desktop, MCP Inspector, etc.) :search_games— recherche par nom, genre et/ou plateformegames_by_platform— tous les jeux disponibles sur une plateforme donnéeexclusive_games— tous les jeux exclusifs à un constructeur donnéis_exclusive— statut d'exclusivité complet d'un jeu précisgames_by_art_style— jeux par style visuelgames_by_studio_country— jeux développés par des studios d'un pays donné
Related MCP server: Polyglot DB MCP
Prérequis
Node.js 18 ou plus récent
Une clé API RAWG (gratuite) : https://rawg.io/apidocs (bouton "Get API key")
Une clé API OpenAI : https://platform.openai.com/api-keys
Installation
npm install
cp .env.example .env
# Puis remplir .env avec tes deux clés APIUtilisation en local
# 1. Collecter les données brutes depuis RAWG
npm run fetch-data
# 2. Structurer les données avec l'IA (familles, style visuel, pays)
npm run structure-data
# 3. Lancer le serveur MCP en local
npm run devLe serveur écoute sur http://localhost:3000, avec l'endpoint MCP sur POST /mcp.
Le dépôt contient déjà un
data/games.jsongénéré (~450 jeux), pour que le serveur démarre sans erreur. Lancenpm run fetch-datapuisnpm run structure-datapour le régénérer avec tes propres clés API.
À savoir sur
structure-data: l'analyse du style visuel envoie une vraie image à OpenAI pour chaque jeu (par lots de 5,BATCH_SIZEdansstructureData.js), ce qui prend du temps et coûte un peu plus cher que du texte pur. Avec ~450 jeux, compte 15 à 25 minutes et moins d'1€ sur ta clé API OpenAI. Pour un premier test rapide, tu peux réduirePAGES_TO_FETCHdansfetchData.js.
Déploiement en ligne (Render)
Pousse ce projet sur un dépôt GitHub.
Sur render.com, crée un nouveau Web Service connecté à ton dépôt.
Configuration :
Build command :
npm installStart command :
npm start
Aucune variable d'environnement n'est nécessaire pour le serveur en ligne : il lit uniquement
data/games.jsonet ne fait aucun appel API au démarrage. (RAWG_API_KEYetOPENAI_API_KEYne servent qu'aux scriptsfetch-data/structure-data, lancés en local.)Avant de déployer (ou juste après), lance
npm run fetch-dataetnpm run structure-dataen local, puis commit le fichierdata/games.jsongénéré dans ton dépôt (le serveur en ligne le lira directement).Une fois déployé, ton URL publique sera de la forme
https://ton-projet.onrender.com, et l'endpoint MCP :https://ton-projet.onrender.com/mcp.
Le plan gratuit de Render met le service en veille après 15 minutes d'inactivité. Le premier appel après une pause peut prendre jusqu'à 50 secondes le temps que l'instance redémarre — c'est normal.
Connecter le serveur à Claude Desktop
Ouvre Claude Desktop (télécharger sur claude.com/download).
Va dans les Paramètres → cherche la section Connecteurs.
Clique sur Ajouter un connecteur personnalisé.
Colle l'URL du serveur :
https://game-platforms-mcp.onrender.com/mcpPour Authentification, choisis Aucun (le serveur ne demande ni OAuth ni clé API).
Valide. Le connecteur doit apparaître comme actif.
Démarre une nouvelle conversation et pose une question en langage naturel (voir exemples ci-dessous) : Claude choisit automatiquement le bon outil.
Tester avec MCP Inspector (outil de référence du protocole)
Alternative à Claude Desktop pour inspecter et tester chaque outil individuellement, avec une interface dédiée :
npx @modelcontextprotocol/inspectorOuvre l'URL affichée dans le terminal, ajoute un nouveau serveur avec le transport Streamable HTTP et l'URL https://game-platforms-mcp.onrender.com/mcp, connecte-toi, puis va dans l'onglet Tools → List Tools pour voir et appeler chaque outil directement.
Tester en ligne de commande (curl)
curl -s -X POST https://game-platforms-mcp.onrender.com/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"exclusive_games","arguments":{"manufacturer":"Nintendo"}}}'Exemples de prompts par outil
search_games — recherche par nom, genre et/ou plateforme
« Cherche des jeux qui ont "witcher" dans le nom. »
« Trouve-moi des RPG disponibles sur PC. »
« Quels jeux d'action sont sortis sur PlayStation 5 ? »
games_by_platform — tous les jeux d'une plateforme
« Montre-moi les jeux disponibles sur Nintendo Switch. »
« Liste 30 jeux jouables sur PC. »
« Qu'est-ce qui tourne sur Xbox Series S/X ? »
exclusive_games — les exclusivités d'un constructeur
« Quels jeux sont exclusifs à Sony ? »
« Donne-moi les exclusivités Nintendo. »
« Y a-t-il des jeux exclusifs à Microsoft dans la base ? »
is_exclusive — statut d'exclusivité d'un jeu précis
« Est-ce que Grand Theft Auto V est exclusif à une plateforme ? »
« The Last of Us est dispo où exactement ? »
« Bloodborne est-il une exclusivité ? Sur quel constructeur ? »
games_by_art_style — jeux par style visuel (déduit par analyse d'image IA)
« Quels jeux ont un style cartoon ? »
« Montre-moi des jeux en pixel art. »
« Je cherche des jeux au style visuel réaliste. »
games_by_studio_country — jeux selon le pays du studio (estimation IA)
« Quels jeux viennent de studios japonais ? »
« Liste des jeux développés en Pologne. »
« Montre-moi des jeux faits par des studios français. »
Questions combinées (le client enchaîne plusieurs outils)
« Trouve un jeu exclusif à Sony, puis dis-moi de quel pays vient son studio. »
« Parmi les jeux Nintendo Switch, lesquels ont un style pixel art ? »
Limites connues
Les données RAWG datent du dernier
fetch-data(import ponctuel, pas de synchronisation en temps réel).studioCountryest une estimation du modèle IA, pas une donnée vérifiée : fiable pour les gros studios connus, "Inconnu" pour les plus petits plutôt qu'une réponse inventée.Certains jeux triés par note (
-rating) peuvent être des titres peu connus très bien notés par un petit nombre de joueurs.
Structure des fichiers
game-mcp-project/
├── src/
│ ├── scripts/
│ │ ├── fetchData.js # Partie 1 : collecte (sans IA)
│ │ └── structureData.js # Partie 2 : structuration IA
│ └── mcp/
│ └── server.js # Partie 3 : serveur MCP
├── data/
│ ├── raw-games.json # Généré par fetch-data
│ └── games.json # Généré par structure-data (lu par le serveur)
├── package.json
└── .env.exampleThis server cannot be deployed
Maintenance
Related MCP Connectors
Ask questions in plain language, get answers from your business database. No SQL required.
Ask data questions in natural language. Get SQL, insights, and charts from your databases.
Query your SEO data in plain language: rankings, audits, backlinks, competitors and AI visibility.
Explore and discover video games from the Internet Game Database. Search titles, view detailed inf…
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables natural language interaction with heterogeneous databases (MySQL and PostgreSQL) for CRUD operations across customer, product, and sales data with intelligent query routing and visualization capabilities.-
- -licenseNot gradedqualityNot gradedmaintenanceEnables interaction with 20+ databases (PostgreSQL, MongoDB, Neo4j, Elasticsearch, Redis, and more) through a single unified interface, allowing cross-database queries and operations via natural language.1-

WAII MCP Serverofficial
AlicenseNot gradedqualityDmaintenanceProvides database interaction through natural language, enabling query execution and content processing.7Apache 2.0- AlicenseNot gradedqualityDmaintenanceEnables natural language querying of SQL databases using AI, supporting multiple database types and automatic schema discovery.1MIT