Skip to content

N0wah/MinecraftMCP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⛏️ MinecraftMCP

Serveur MCP pour contrôler un serveur Minecraft via RCON

Python FastMCP Minecraft Claude Desktop License

Connecte Claude à un serveur Minecraft en temps réel via le protocole RCON. Un LLM peut observer l'état du serveur et exécuter des commandes en langage naturel.


🎯 Présentation

MinecraftMCP est un serveur MCP (Model Context Protocol) qui expose des outils permettant à un LLM d'interagir directement avec un serveur Minecraft via RCON.

Une fois connecté à Claude Desktop, tu peux interagir avec ton serveur en langage naturel :

"Donne une épée en diamant à tous les joueurs connectés" "Quels joueurs sont en ligne en ce moment ?" "Où se trouve le joueur Noah sur la map ?" "Passe en mode jour et arrête la pluie"


✨ Outils disponibles

Outil Description
run_command Exécute n'importe quelle commande serveur
give_item Donne un objet à un joueur
broadcast Envoie un message à tous les joueurs
set_time Change l'heure du monde
get_online_players Liste les joueurs connectés
get_player_position Récupère la position d'un joueur
get_player_health Récupère les points de vie d'un joueur
get_player_inventory Récupère l'inventaire d'un joueur
get_nearby_entities Liste les entités proches d'un joueur

🏗️ Architecture

Claude Desktop
     │
     │ MCP Protocol
     ▼
MinecraftMCP Server (Python + FastMCP)
     │
     │ RCON Protocol (TCP)
     ▼
Serveur Minecraft (Paper / Spigot)

🛠️ Stack

Composant Outil
MCP Server fastmcp
Connexion Minecraft mcrcon
Config python-dotenv
Client Claude Desktop

🚀 Installation

Prérequis

  • Python 3.10+
  • Un serveur Minecraft (Paper ou Spigot) avec RCON activé
  • Claude Desktop

1. Clone le repo

git clone https://github.com/N0wah/MinecraftMCP.git
cd MinecraftMCP

2. Crée un environnement virtuel et installe les dépendances

python -m venv venv
source venv/bin/activate  # Windows : venv\Scripts\activate
pip install -r requirements.txt

3. Configure les variables d'environnement

Crée un fichier .env à la racine :

RCON_HOST=127.0.0.1
RCON_PORT=25575
RCON_PASSWORD=ton_mot_de_passe_rcon

4. Active RCON sur ton serveur Minecraft

Dans server.properties de ton serveur :

enable-rcon=true
rcon.port=25575
rcon.password=ton_mot_de_passe_rcon

5. Teste la connexion RCON

python rcon_test.py

⚙️ Configuration Claude Desktop

Ajoute ceci dans le fichier de config de Claude Desktop (claude_desktop_config.json) :

{
  "mcpServers": {
    "MinecraftMCP": {
      "command": "python",
      "args": ["server.py"],
      "cwd": "/chemin/vers/MinecraftMCP",
      "env": {
        "RCON_HOST": "127.0.0.1",
        "RCON_PORT": "25575",
        "RCON_PASSWORD": "ton_mot_de_passe_rcon"
      }
    }
  }
}

Lance ensuite Claude Desktop — les outils Minecraft apparaissent automatiquement.


📁 Structure du projet

MinecraftMCP/
├── server.py          # Serveur MCP principal (outils FastMCP)
├── rcon_test.py       # Script de test de connexion RCON
├── requirements.txt
├── .env.example
└── README.md

🗺️ Roadmap

  • Connexion RCON via mcrcon
  • Outils d'écriture (commandes, items, broadcast, time)
  • Outils de lecture (joueurs, position, santé, inventaire, entités)
  • Intégration Claude Desktop
  • Reconnexion automatique en cas de perte RCON
  • Support multi-serveurs
  • Logs des actions exécutées par le LLM
  • Tests unitaires

📄 Licence

MIT — voir LICENSE


About

Serveur MCP pour contrôler un serveur Minecraft via RCON

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages