# Funplay Cocos MCP

Встраивает MCP-сервер прямо в редактор Cocos Creator, чтобы ИИ-ассистент видел запущенный проект и управлял им.

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

## Что делает

Расширение ставится в проект Cocos Creator и поднимает HTTP MCP-сервер внутри редактора. Дальше ассистент вызывает инструмент `execute_javascript` с контекстом `scene` — код выполняется в активной сцене и рантайме, или с контекстом `editor` — в контексте редактора. Так можно построить иерархию UI под активным Canvas, навесить компоненты, посмотреть результат и снять скриншот для проверки.

Клиентов подключают вручную или через окно настроек с готовыми конфигами. Для stdio-моста нужен адрес сервера: переменная `FUNPLAY_COCOS_MCP_URL` задаёт URL, `FUNPLAY_COCOS_MCP_TIMEOUT_SECONDS` — таймаут. Без запущенного редактора и открытого проекта мост подключать некуда, потому что сервер живёт внутри Cocos Creator, а не отдельным процессом.

Новые проекты получают порт в диапазоне `20000–29999`, сохранённые конфигурации держат свой. Если порт занят чужим слушателем, расширение уходит на следующий свободный, поэтому перед настройкой клиента стоит зафиксировать порт кнопкой **Pin Current Port**. Расширение можно поставить глобально для всех проектов одной версии Creator — тогда копию в `extensions/` лучше убрать, иначе MCP Settings покажет предупреждение о дубликате.

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

## Установка

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

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

### Codex

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

### Cursor

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

### GitHub Copilot

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

### Gemini CLI

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

## Когда брать
- построить UI-иерархию под активным Canvas из промпта
- навесить компоненты Cocos на объекты сцены
- выполнить JS в контексте редактора или рантайма
- снять скриншот сцены для проверки результата
- подключить ИИ-клиент к редактору одной командой

## Примеры запросов агенту
- Собери экран логина: поля логина и пароля, кнопка входа, проверь иерархию под Canvas
- Выполни этот скрипт в контексте сцены и покажи, что получилось на скриншоте
- Посмотри текущую сцену и скажи, какие компоненты висят на корневых узлах

## Похожие
- [scenes](https://affpapa.org/nevibecode/skills/scenes.md) — скилл · 950 установок
- [groups-and-containers](https://affpapa.org/nevibecode/skills/groups-and-containers.md) — скилл · 795 установок
- [phaser-core](https://affpapa.org/nevibecode/skills/phaser-core.md) — скилл · 5700 установок
- [phaser-arcade-physics](https://affpapa.org/nevibecode/skills/phaser-arcade-physics.md) — скилл · 5500 установок
- [threejs-game](https://affpapa.org/nevibecode/skills/threejs-game.md) — скилл · 1100 установок
- [add-feature](https://affpapa.org/nevibecode/skills/add-feature.md) — скилл · 977 установок

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