Skip to main content
Glama

CU-MCP-Bridge

BepInEx-Mod + Python-MCP-Server, der KI-Assistenten ermöglicht, das Gameplay von Casualties Unknown in Echtzeit über eine Named Pipe zu steuern.

Voraussetzungen

Related MCP server: Unity-MCP

Schnellstart

1. Mod installieren

Kopiere die beiden DLLs aus mod/ in den Ordner BepInEx/plugins/ deines Spiels:

<game directory>/BepInEx/plugins/CU-MCP-Mod.dll
<game directory>/BepInEx/plugins/Newtonsoft.Json.dll

2. Python-Abhängigkeiten installieren

pip install -r requirements.txt

3. KI-Client konfigurieren

Füge zu deiner MCP-Konfiguration hinzu (z. B. opencode.json):

{
  "mcp": {
    "servers": {
      "cu-mcp-bridge": {
        "type": "stdio",
        "command": "python",
        "args": ["src/bridge_server/server.py"],
        "cwd": "/path/to/CU-MCP-Bridge"
      }
    }
  }
}

4. Spielen

  1. Starte das Spiel und betrete ein Level

  2. Starte den Python-Server: python src/bridge_server/server.py

  3. Bitte deinen KI-Assistenten, den Spieler zu steuern

Die Reihenfolge ist wichtig: Der Server muss nach dem Start des Spiels gestartet werden.

Aus dem Quellcode erstellen

# Build the C# mod
dotnet build BepInEx/CU-MCP-Mod.csproj -c Release

# Deploy to game (kills the game process, rebuilds, copies DLL)
.\deploy.ps1 -Action deploy

Ausgabe: BepInEx/bin/Release/net472/CU-MCP-Mod.dll

Architektur

AI Client (opencode)
        |
    stdio (JSON-RPC)
        |
Python FastMCP Server (src/bridge_server/)
        |
    Named Pipe (win32pipe, newline-delimited JSON)
        |
C# BepInEx Mod (BepInEx/, inside Unity game)
        |
    Unity Game (Casualties Unknown)

Kommunikation

  • KI -> Spiel: Befehle werden über die Named Pipe gesendet und im Hauptthread von Unity ausgeführt.

  • Spiel -> KI: Spielerzustand und Abfrageergebnisse fließen über dieselbe Pipe zurück.

  • Blockierung: Jeder Befehl blockiert, bis der Mod den Abschluss meldet (Erfolg/Fehler/Timeout).

Projektstruktur

CU-MCP-Bridge/
├── BepInEx/                # C# mod source (BepInEx plugin)
│   ├── Executor/           # Order execution, pathfinding, movement
│   ├── Collector/          # Game state collection (player, environment)
│   ├── Contingency/        # Local condition-action rules
│   ├── Pipe/               # Named pipe client + protocol
│   ├── AIPlayerManager.cs  # AI companion creation/destruction
│   ├── BridgePlugin.cs     # Entry point, tick loop
│   └── DebugGUI.cs         # F6 debug panel
├── src/bridge_server/      # Python MCP server
│   ├── server.py           # MCP tool definitions
│   ├── state_manager.py    # Pipe reader, state cache
│   ├── order_manager.py    # Order queue
│   ├── pipe_server.py      # Named pipe server (win32pipe)
│   └── contingency.py      # Contingency rule manager
├── tests/                  # Unit & integration tests
├── deploy.ps1              # Build + deploy script
└── requirements.txt        # Python dependencies

MCP-Tools

Tool

Beschreibung

get_game_state

Spielerzustand (Position, Gesundheit, Inventar) + Umgebungs-Snapshot

get_map_info

Gelände- und Entitätsinformationen um den Spieler

get_nearby_items

Liste der in der Nähe des Spielers abgelegten Gegenstände

query_position

Entitäten/Gelände an einer bestimmten Weltkoordinate abfragen

search_blocks

Gelände nach Materialname durchsuchen (z. B. „Sand“, „Fels“)

move_to

Bewege den aktiven Spieler zu einer Weltposition

move_to_player

Bewege den KI-Begleiter zum menschlichen Spieler

follow

Lass den KI-Begleiter dem Menschen folgen

jump

Springen (unterstützt horizontale Richtung)

use_item

Verwende einen Inventargegenstand

pick_up_item

Hebe einen nahen Gegenstand auf (anhand des Namens oder den nächstgelegenen)

drop_item

Wirf einen Inventargegenstand ab

sleep

Ruhe dich aus, um Energie wiederherzustellen

heal_ai

Heile eine bestimmte Gliedmaße des KI-Begleiters

create_ai_player

Kioniere einen KI-Begleiter neben dem Menschen

destroy_ai_player

Entferne den KI-Begleiter

set_contingency

Lege Bedingungs-Aktions-Regeln fest (z. B. „heilen, wenn HP < 30 %“)

update_contingency

Aktualisiere Kontingenzregeln zur Laufzeit

user_interact

Menschlicher Eingriff mit höchster Priorität

Bekannte Probleme

  • Kompatibilität mit Skin-Mods: Die Installation von Skin-Mods von Drittanbietern (z. B. „Skin Sync“) kann dazu führen, dass der KI-Begleiter einen doppelten Schwanz anzeigt, der den Schwanz des menschlichen Spielers spiegelt. Dies ist ein Kompatibilitätsproblem mit Skin-Mods und tritt im Vanilla-Spiel nicht auf.

Lizenz

MIT

Related MCP Connectors

Related MCP Servers