# Funplay Unreal MCP

Связывает ИИ-клиент с запущенным Unreal Editor: агент сам расставляет актёры, собирает уровни и Blueprints, делает скриншоты. Нужен, когда хочется править сцену словами, а не мышью.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 7
- Автор: FunplayAI
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/FunplayAI/funplay-unreal-mcp
- Обновлён: 2026-06-23
- HTML: https://affpapa.org/nevibecode/mcp/funplay-unreal-mcp

## Что делает

Сервер состоит из двух частей. Внутри редактора работает плагин на чистом Python — компилировать ничего не надо, он живёт в `Plugins/FunplayMCP/` и тянет за собой Python Editor Script Plugin. Снаружи стоит маленький Node.js-мост `funplay-unreal-mcp`, который подключает к серверу Claude, Codex, Cursor, Copilot, Windsurf, Cline, Zed или Gemini CLI.

Главный инструмент — `execute_python`: любой сниппет выполняется прямо в редакторе. Плюс `search_api`, `describe_class` и `inspect_object` читают документацию встроенного модуля `unreal`, поэтому агент опирается на настоящий API. По умолчанию открыт профиль `core` на 32 инструмента, в `full` их 97. Есть ресурсы вида `unreal://project/context` и шаблоны промптов вроде `level_review`.

Сервер слушает `http://127.0.0.1:8765/`, при занятом порте берёт свободный. Токен авторизации лежит в `<YourProject>/Saved/FunplayMCP/funplay_mcp_settings.json`, и без него POST-запросы отклоняются. Работает только внутри редактора: в собранную игру сервер не попадает. Проверки безопасности `execute_python` включены по умолчанию, обойти их можно флагом `safety_checks=false` для отдельного вызова.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `FUNPLAY_UNREAL_MCP_URL`, `UNREAL_MCP_URL`, `FUNPLAY_UNREAL_MCP_TOKEN`, `UNREAL_MCP_TOKEN` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.
- Работает с: Unreal Engine

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env FUNPLAY_UNREAL_MCP_URL=<FUNPLAY_UNREAL_MCP_URL> --env UNREAL_MCP_URL=<UNREAL_MCP_URL> --env FUNPLAY_UNREAL_MCP_TOKEN=<FUNPLAY_UNREAL_MCP_TOKEN> --env UNREAL_MCP_TOKEN=<UNREAL_MCP_TOKEN> --transport stdio funplay-unreal-mcp -- npx -y funplay-unreal-mcp
```
Вместо <…> подставьте свои значения

### Codex

**Командой платформы**
```bash
codex mcp add funplay-unreal-mcp --env FUNPLAY_UNREAL_MCP_URL=<FUNPLAY_UNREAL_MCP_URL> --env UNREAL_MCP_URL=<UNREAL_MCP_URL> --env FUNPLAY_UNREAL_MCP_TOKEN=<FUNPLAY_UNREAL_MCP_TOKEN> --env UNREAL_MCP_TOKEN=<UNREAL_MCP_TOKEN> -- npx -y funplay-unreal-mcp
```
Вместо <…> подставьте свои значения

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "funplay-unreal-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "funplay-unreal-mcp"
            ],
            "env": {
                "FUNPLAY_UNREAL_MCP_URL": "<FUNPLAY_UNREAL_MCP_URL>",
                "UNREAL_MCP_URL": "<UNREAL_MCP_URL>",
                "FUNPLAY_UNREAL_MCP_TOKEN": "<FUNPLAY_UNREAL_MCP_TOKEN>",
                "UNREAL_MCP_TOKEN": "<UNREAL_MCP_TOKEN>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "funplay-unreal-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "funplay-unreal-mcp"
            ],
            "env": {
                "FUNPLAY_UNREAL_MCP_URL": "<FUNPLAY_UNREAL_MCP_URL>",
                "UNREAL_MCP_URL": "<UNREAL_MCP_URL>",
                "FUNPLAY_UNREAL_MCP_TOKEN": "<FUNPLAY_UNREAL_MCP_TOKEN>",
                "UNREAL_MCP_TOKEN": "<UNREAL_MCP_TOKEN>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e FUNPLAY_UNREAL_MCP_URL=<FUNPLAY_UNREAL_MCP_URL> -e UNREAL_MCP_URL=<UNREAL_MCP_URL> -e FUNPLAY_UNREAL_MCP_TOKEN=<FUNPLAY_UNREAL_MCP_TOKEN> -e UNREAL_MCP_TOKEN=<UNREAL_MCP_TOKEN> funplay-unreal-mcp npx -y funplay-unreal-mcp
```
Вместо <…> подставьте свои значения

## Когда брать
- расставить актёры и свет по текстовому описанию сцены
- собрать уровень и Blueprint без ручного перетаскивания
- сделать скриншот из Play-In-Editor и вернуть его агенту
- выполнить произвольный Python в редакторе, когда готового инструмента нет
- посмотреть реальную сигнатуру класса `unreal` вместо догадок

## Примеры запросов агенту
- Собери небольшую арену: пол, четыре стены, пара точечных источников света и Player Start в центре. Запусти Play-In-Editor и пришли скриншот.
- Вызови `get_project_info` и покажи, что за проект открыт.
- Найди в API класс для работы со статическими мешами и опиши его методы.

## Похожие
- [Pascal 3D Editor](https://affpapa.org/nevibecode/mcp/pascal-3d-editor.md) — MCP-сервер · ★ 25085
- [Unity-MCP](https://affpapa.org/nevibecode/mcp/unity-mcp.md) — MCP-сервер · ★ 4523
- [mcp](https://affpapa.org/nevibecode/mcp/sceneview-mcp.md) — MCP-сервер · ★ 1348
- [Gearboy MCP Server](https://affpapa.org/nevibecode/mcp/gearboy-mcp-server.md) — MCP-сервер · ★ 1219
- [ChiR24-unreal_mcp_server](https://affpapa.org/nevibecode/mcp/chir24-unreal-mcp-server.md) — MCP-сервер · ★ 975
- [Nova3D](https://affpapa.org/nevibecode/mcp/nova3d.md) — MCP-сервер · ★ 733

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
