72 lines
2.5 KiB
Markdown
72 lines
2.5 KiB
Markdown
# Wyvern&Castle
|
|
Ceci est un projet de **modèle MCP** ([Model Context Protocol](https://modelcontextprotocol.io/docs/getting-started/intro)) pour le cours de **Natural Language Programming** de l'année 2025-2026.
|
|
|
|
L'objectif du projet a été de concevoir une **version simplifié du jeu Donjon & Dragon** avec un LLM capable de générer des parties et des scénarios qui n'ont de limite que votre imagination (et celles du LLM aussi!).
|
|
Le projet contient un serveur (`server.py`) qui intéragit avec notre API de jeu (`game.py`).
|
|
|
|
|
|
## Initialisation du projet
|
|
Pour lancer une partie de notre jeu, nous vous conseillons d'installer **[Claude Desktop](https://claude.com/fr-fr/download)** (disponible sur Windows
|
|
et Mac) qui va servir de LLM. Nous n'avons pas essayé mais il serait aussi possible d'utiliser la **version Desktop de ChatGPT**
|
|
|
|
1. Installer l'utilitaire python UV :
|
|
```bash
|
|
# Mac/Linux
|
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
# Windows, l'ajouter au Path
|
|
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
|
|
```
|
|
|
|
2. Initialiser le dossier pour l'installation
|
|
Creer un dossier et cloner le projet :
|
|
```bash
|
|
mkdir wyvern_castle
|
|
cd wyvern_castle
|
|
git clone "https://gitea.galaxynoliro.fr/KuMiShi/Wyvern-Castle.git"
|
|
```
|
|
3. Creation de l'environnement virtuel
|
|
```bash
|
|
uv venv
|
|
```
|
|
Mac/Linux
|
|
```bash
|
|
source .venv/bin/activate
|
|
```
|
|
Windows
|
|
```Powershell
|
|
.\.venv\Scripts\activate
|
|
```
|
|
|
|
4. Installation des dependances/requirements
|
|
```bash
|
|
# Synchronise l'environnement virtuel du dossier avec les dependances du projet
|
|
uv pip sync pyproject.toml
|
|
|
|
# Si cela ne fonctionne pas correctement, vous pouvez le générer un fichier de dependances avec la commande suivante à partir du .toml:
|
|
uv pip compile --upgrade pyproject.toml -o uv.lock
|
|
# Puis synchroniser à nouveau (avec le nouveau fichier cette fois)
|
|
uv pip sync uv.lock
|
|
```
|
|
|
|
5. Changement de la config de Claude Desktop
|
|
Modifier le fichier `claude_desktop_config.json`
|
|
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"wyvern_castle": {
|
|
"command": "uv",
|
|
"args": [
|
|
"--directory",
|
|
"C:\\ABSOLUTE\\PATH\\TO\\PARENT\\FOLDER\\wyvern_castle",
|
|
"run",
|
|
"server.py"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## Utilisation
|
|
Le projet est assez simple d'utilisation car une fois le serveur lancé, il vous suffit d'écrire des prompts à l'aide de votre application Desktop de LLM. Il est aussi possible d'avoir accès à une aide de génération de prompt intégrée.
|