Skip to main content
Glama

CU-MCP-Bridge

Мод BepInEx + Python MCP-сервер, который позволяет ИИ-ассистентам управлять игровым процессом Casualties Unknown в реальном времени через именованный канал.

Требования

  • Windows 10/11

  • Casualties Unknown (Steam)

  • Python 3.10+

  • .NET SDK (для сборки мода)

  • BepInEx, установленный в игру

Related MCP server: Unity-MCP

Быстрый старт

1. Установка мода

Скопируйте два DLL-файла из mod/ в папку BepInEx/plugins/ вашей игры:

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

2. Установка зависимостей Python

pip install -r requirements.txt

3. Настройка ИИ-клиента

Добавьте в вашу MCP-конфигурацию (например, opencode.json):

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

4. Игра

  1. Запустите игру и войдите в уровень

  2. Запустите Python-сервер: python src/bridge_server/server.py

  3. Попросите вашего ИИ-ассистента управлять игроком

Порядок важен: сервер должен запускаться после запуска игры.

Сборка из исходного кода

# 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

Результат: BepInEx/bin/Release/net472/CU-MCP-Mod.dll

Архитектура

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)

Взаимодействие

  • ИИ -> Игра: Команды отправляются через именованный канал и выполняются в главном потоке Unity

  • Игра -> ИИ: Состояние игрока и результаты запросов возвращаются по тому же каналу

  • Блокировка: Каждая команда блокируется, пока мод не сообщит о завершении (успех/ошибка/таймаут)

Структура проекта

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

Инструмент

Описание

get_game_state

Состояние игрока (позиция, здоровье, инвентарь) + снимок окружения

get_map_info

Информация о местности и сущностях вокруг игрока

get_nearby_items

Список выброшенных предметов рядом с игроком

query_position

Запрос сущностей/местности по конкретной мировой координате

search_blocks

Поиск местности по названию материала (например, «sand», «rock»)

move_to

Переместить активного игрока в мировую позицию

move_to_player

Переместить ИИ-компаньона к игроку-человеку

follow

Заставить ИИ-компаньона следовать за человеком

jump

Прыжок (поддерживается горизонтальное направление)

use_item

Использовать предмет из инвентаря

pick_up_item

Подобрать находящийся рядом предмет (по имени или ближайший)

drop_item

Выбросить предмет из инвентаря

sleep

Отдых для восстановления энергии

heal_ai

Вылечить конкретную конечность ИИ-компаньона

create_ai_player

Клонировать ИИ-компаньона рядом с человеком

destroy_ai_player

Удалить ИИ-компаньона

set_contingency

Задать правила «условие-действие» (например, «лечить, если HP < 30%»)

update_contingency

Обновить правила «условие-действие» во время выполнения

user_interact

Вмешательство человека с наивысшим приоритетом

Известные проблемы

  • Совместимость со скин-модами: Установка сторонних скин-модов (например, «Skin Sync») может привести к тому, что у ИИ-компаньона появится дублирующийся хвост, повторяющий хвост игрока-человека. Это проблема совместимости со скин-модами и не возникает в оригинальной игре.

Лицензия

MIT

Maintenance

ActivityMaintained
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mouse114514/CU-MCP-Bridge'

If you have feedback or need assistance with the MCP directory API, please join our Discord server