Skip to main content
Glama
Kalteew

the_farmer_was_replaced

by Kalteew

MCP — The Farmer Was Replaced

Pont local entre un client MCP et le jeu, avec lecture directe de l'état via BepInEx.

Projet public : https://github.com/Kalteew/the-farmer-was-replaced-mcp

Le serveur est enregistré dans la configuration Codex sous the_farmer_was_replaced. Après un redémarrage de Codex, ses outils tfwr_* seront disponibles.

Le dossier bridge/TFWRBridge/ contient le plugin BepInEx. Il expose une API locale en lecture directe du jeu, sur 127.0.0.1:17342.

Règle d'extension

Chaque problème rencontré pendant une partie doit devenir une méthode MCP réutilisable : chargement de sauvegarde, exécution directe, lecture d'état, actions, documentation, recettes, etc. Les fallbacks clavier ou écran restent des secours, pas le fonctionnement principal.

Related MCP server: affinity-mcp-bridge

Installation

npm install

Prérequis : le jeu installé, Node.js 20+, le SDK .NET avec la cible .NET Framework 4.7.2, et BepInEx 5.4.23.5. Le chemin Steam par défaut est détecté automatiquement ; sinon définir TFWR_GAME_ROOT.

Pour enregistrer le serveur dans Codex :

[mcp_servers.the_farmer_was_replaced]
type = "stdio"
command = "node"
args = ["C:\\chemin\\the-farmer-was-replaced-mcp\\src\\server.mjs"]
startup_timeout_sec = 30

Le serveur expose les outils tfwr_* et utilise la sauvegarde active indiquée par options.txt. Les scripts sont écrits dans le dossier Saves/SaveN et, si elle existe, dans la copie de travail game/SaveN; le File Watcher du jeu doit rester activé.

La documentation de référence locale est dans docs/LOCAL_KNOWLEDGE.md. Les sources embarquées du jeu sont archivées dans docs/source_snapshot/.

Outils

  • tfwr_get_state, tfwr_list_saves, tfwr_capture_screen

  • tfwr_bridge_health, tfwr_load_save, tfwr_live_state, tfwr_live_inventory

  • tfwr_live_unlocks, tfwr_unlock, tfwr_live_catalog, tfwr_live_grid

  • tfwr_read_script, tfwr_write_script

  • tfwr_run, tfwr_measure_run, tfwr_stop, tfwr_pause, tfwr_save

  • tfwr_get_output, tfwr_read_reference

  • tfwr_list_recipes, tfwr_recipe_tree, tfwr_add_recipe

tfwr_write_script crée une copie dans .mcp-backups avant d'écraser un fichier existant. tfwr_run exécute directement le script via le pont BepInEx ; F5 reste un secours si le pont n'est pas disponible.

tfwr_measure_run exécute une passe bornée et retourne les variations d'inventaire, la productivité par minute, les positions visitées, la couverture de grille, les changements de position et les wraps détectés sur les deux axes.

Actions en jeu

  • tfwr_unlock achète ou améliore un déblocage par son nom (Loops ou Unlocks.Loops).

  • tfwr_stop arrête directement le script actif via le pont, avec repli sur Maj+F5.

  • tfwr_save envoie Ctrl+S à la fenêtre du jeu.

Pour une action de progression, lire d'abord tfwr_live_unlocks et l'état réel du jeu, puis utiliser tfwr_unlock. Les coûts restent calculés par le jeu.

Les déplacements de la ferme sont toriques : dépasser un bord fait réapparaître le drone sur le bord opposé, horizontalement comme verticalement. Un balayage fiable doit donc utiliser exactement get_world_size() déplacements par axe, sans mouvements de correction aux bords.

tfwr_get_state lit le JSON de sauvegarde (déblocages, inventaire sérialisé, terrain et entités quand le jeu les a enregistrés). tfwr_capture_screen fournit en plus une image de l'interface réelle. Les recettes et coûts documentés sont une base locale : les coûts dynamiques du jeu devront être confirmés avec get_cost() avant une action importante.

Pont BepInEx

Le projet du plugin se compile avec :

dotnet build bridge/TFWRBridge/TFWRBridge.csproj

Après installation de BepInEx dans le dossier du jeu, installer le plugin avec :

powershell -File tools/install-bepinex.ps1

Le plugin expose l'API locale http://127.0.0.1:17342 : état, inventaire, déblocages, catalogue, grille, chargement de sauvegarde et exécution de script.

Pour un autre emplacement :

$env:TFWR_GAME_ROOT = 'D:\\SteamLibrary\\steamapps\\common\\The Farmer Was Replaced'
dotnet build bridge/TFWRBridge/TFWRBridge.csproj /p:GameRoot="$env:TFWR_GAME_ROOT"
powershell -File tools/install-bepinex.ps1

Test manuel

npm run inspect
npm run mcp

Skills et suivi local

  • skills/tfwr-play/ : jouer via le pont MCP.

  • skills/tfwr-research/ : approfondir les mécaniques sans modifier la sauvegarde.

  • skills/tfwr-progress/ : maintenir l'état, la feuille de route et l'historique.

  • progress/ : suivi permanent de la progression dans le jeu.

  • docs/LOCAL_KNOWLEDGE.md : base de connaissances consolidée.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Connects MCP clients to a running hx-multianim game via DevBridge for scene inspection, state manipulation, input injection, and diagnostics.
    38
    13 npm
    BSD 3-Clause
  • A
    license
    Not graded
    quality
    D
    maintenance
    Connects MCP-compatible clients to a live Blender scene for AI-assisted 3D workflows, enabling inspection and controlled operations on objects, materials, cameras, lights, render settings, animation, UVs, Geometry Nodes, imports, exports, and Python execution.
    1
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Read-only MCP server that reads Stardew Valley saves and answers questions about your farm state, calculates processing/planning, and verifies game rules against the wiki.
    49
    MIT