> For the complete documentation index, see [llms.txt](https://docs.quickclient.cc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.quickclient.cc/extras/mcp.md).

# MCP для нейросетей

Как подключить ИИ-агента к запущенной игре, чтобы он писал и проверял скрипты.

В Quick встроен MCP-сервер. Через него ИИ-агент подключается к запущенной игре и может сам писать скрипты. Поддерживаются Claude Code, Codex, OpenCode, Cursor, Windsurf, Gemini CLI и VS Code. Агент читает исходники, записывает jar, видит ошибки компиляции и строки консоли, включает и выключает скрипты и читает справку по API. IDE для этого не нужна, собирать jar вручную тоже не придётся.

## Включение

1. Откройте меню Quick → шестерёнка → **MCP**.
2. Включите переключатель **Включён**. Сервер слушает только `127.0.0.1`, порт и токен выбираются случайно и сохраняются.
3. В строке **Агент** выберите нужного агента. Кнопка **Настроить** сама пропишет сервер в его конфиг: для Claude Code выполнит `claude mcp add`, для Codex допишет блок в `config.toml`, для остальных добавит запись в их JSON.
4. Если автонастройка не сработала, появятся кнопки **Скопировать команду/конфиг** и **Скопировать адрес и токен**. В этом случае вставьте значения вручную.

| Кнопка               | Что делает                                                      |
| -------------------- | --------------------------------------------------------------- |
| `Включён`            | запускает или останавливает сервер, состояние сохраняется       |
| `Адрес`              | по клику копирует `127.0.0.1:<порт>`                            |
| `Токен`              | по клику копирует токен                                         |
| `Агент`              | по клику переключает на следующего агента                       |
| `Настроить <агент>`  | автонастройка; если сервер выключен, сначала включает его       |
| `Новый порт и токен` | выдаёт новый доступ; после этого конфиги агентов нужно обновить |

Для ручной настройки агента понадобятся такие данные. Адрес сервера `http://127.0.0.1:<порт>/mcp`, транспорт Streamable HTTP, JSON-RPC 2.0. Авторизация одна: заголовок `Authorization: Bearer <токен>`. Без него сервер ответит 401.

Для Claude Code ручная настройка выглядит так (вместо `PORT` и `TOKEN` подставьте значения из меню):

```bash
claude mcp add --scope user --transport http quickclient http://127.0.0.1:PORT/mcp --header "Authorization: Bearer TOKEN"
```

## Инструменты

Через сервер агенту доступны такие инструменты:

| Инструмент           | Что делает                                                                                                             |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `scripts_list`       | список скриптов: имя, jar, включён ли, упал ли, описание, количество настроек                                          |
| `script_read`        | исходники скрипта и список его ресурсов                                                                                |
| `script_write`       | записывает файлы в jar (если jar нет, создаёт его) и сразу перезагружает; возвращает ошибки и последние строки консоли |
| `scripts_reload`     | перезагружает все скрипты                                                                                              |
| `script_toggle`      | включает или выключает скрипт                                                                                          |
| `script_settings`    | настройки с текущими значениями                                                                                        |
| `script_setting_set` | меняет значение настройки по id                                                                                        |
| `console_read`       | журнал консоли; `since` читает с нужного места, `level` фильтрует по info/warn/error                                   |
| `console_clear`      | очищает консоль                                                                                                        |
| `api_docs`           | без пути возвращает памятку и список файлов SDK, с путём возвращает текст файла, например `hex/script/api/Script.java` |
| `client_state`       | игрок, сервер, позиция, здоровье, открытый экран, количество включённых скриптов                                       |

Пути в `script_write` указываются как внутри jar: `java/my/Foo.java` или коротко `my/Foo.java`, миксины `mixin/scriptmixin/…`, ресурсы `resources/…`. Остальное содержимое jar не меняется, а лишние файлы можно удалить списком `remove`.

Обычный цикл работы агента: `scripts_list` → `script_read` → правка → `script_write` → если в ответе ошибки, снова правка → `script_toggle` → `console_read` с `since` из прошлого ответа, чтобы получать только новые строки.

Играть за игрока агент не может. Ни один инструмент не двигает персонажа, не открывает экраны и не кликает по блокам. Агенту доступны только папка скриптов, консоль и справка. К аккаунтам, конфигам Quick и остальным файлам на диске у него доступа нет.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.quickclient.cc/extras/mcp.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
