# MCP

> Сервер MCP: агент читает и меняет проекты платформы без терминала.

> Оглавление всей документации: https://docs.getxflow.com/llms.txt

MCP-сервер даёт агенту платформу тулами: проекты, база, функции, расписания, публикация
сборок. Тот же движок и те же права, что у CLI.

## Подключение

Сервер прописывают в настройки агента вручную.

| Параметр | Значение |
|---|---|
| Адрес | `https://app.getxflow.com/api/mcp` |
| Транспорт | HTTP (streamable), без сессий |
| Заголовок | `Authorization: Bearer xfk_…`, ключ участника, тот же, что у CLI |

Ключ лежит в `~/.xflow/credentials.json` после `xflow login`, см. [Установка](https://docs.getxflow.com/cli/install.md).

| Клиент | Как подключить вручную |
|---|---|
| Claude Code | `claude mcp add --transport http xflow <адрес> --header "Authorization: Bearer <ключ>"` |
| Codex | `codex mcp add xflow --url <адрес> --bearer-token-env-var XFLOW_TOKEN` |
| Cursor | `.cursor/mcp.json`: `{"mcpServers":{"xflow":{"url":"<адрес>","headers":{"Authorization":"Bearer <ключ>"}}}}` |
| VS Code | `.vscode/mcp.json`: `{"servers":{"xflow":{"type":"http","url":"<адрес>","headers":{"Authorization":"Bearer <ключ>"}}}}` |
| Windsurf | `~/.codeium/windsurf/mcp_config.json`: `{"mcpServers":{"xflow":{"serverUrl":"<адрес>","headers":{"Authorization":"Bearer <ключ>"}}}}` |
| OpenClaw | `openclaw mcp add xflow --url <адрес> --transport streamable-http --header "Authorization: Bearer <ключ>"` |
| ChatGPT, claude.ai | адрес `https://app.getxflow.com/api/mcp/<ключ>` без заголовка: эти клиенты не умеют свои заголовки |

Адрес с ключом внутри равен ключу: кто его увидел, получил весь доступ участника. Перевыпуск
ключа в разделе «AI агент» гасит и его.

## Тулы

Ключ равен доступу своего хозяина: тулам проекта нужен `project_id`, чужой проект отвечает
как несуществующий. Действие выбирается полем `action`.

| Тул | Действия | Что делает | Право ключа |
|---|---|---|---|
| `get_schema` | | устройство платформы и порядок работы, один вызов в начале | Просмотр |
| `org` | `whoami`, `members` | организация, права ключа, квоты; участники | Просмотр |
| `projects` | `list`, `get` | проекты с приложениями; карточка: приложения, база, функции с зовущими, расписания, интеграции | Просмотр |
| `db` | `list`, `schema`, `query`, `migrations`, `move_status` | базы и серверы, таблицы, `SELECT`, история миграций, ход переноса | Просмотр |
| `db_migrate` | | применить миграции, `dry_run` показывает план | «Изменения схемы базы»; `DROP`, `TRUNCATE`, `DELETE` без условия ещё «Удалять данные» |
| `db_move` | | перенести базу проекта на другой сервер: `to`, `confirm` (имя проекта) | «Переносить базы между серверами» |
| `functions` | `list`, `logs`, `stats` | функции и зовущие, падения, расход | Просмотр |
| `functions` | `invoke` | вызвать функцию от имени хозяина ключа | «Отправлять код и заводить проекты» |
| `schedules` | `list` | расписания функций | Просмотр |
| `schedules` | `upsert`, `remove` | завести, изменить, снять расписание | «Сборка и публикация версии» |
| `deployments` | `status`, `list` | состояние и история сборок приложения (`app_id`) | Просмотр |
| `deployments` | `publish` | показать сборку посетителям; без `deploy_id` новейшая удачная, старая это откат | «Сборка и публикация версии» |
| `secrets` | `list` | имена переменных окружения, без значений | Просмотр |
| `secrets` | `set`, `rm` | записать, удалить переменную | «Хранить переменные окружения» |
| `pages` | `list`, `status` | страницы организации и их версии | Просмотр |
| `pages` | `create`, `deploy`, `rollback` | страница из одного HTML до 150 КБ, новая версия, возврат версии | «Сборка и публикация версии» |

Права включает хозяин ключа в разделе «AI агент», см. [Подключить агента](https://docs.getxflow.com/agent/setup.md).

## Чего нет в MCP

| Действие | Где |
|---|---|
| отправка кода, сборка приложения | `xflow deploy apps/<папка>` |
| выкатка функций | `xflow deploy functions` |
| создание проекта и приложения | `xflow init`, `xflow apps add` |
| файлы хранилища, привязка интеграций | `xflow storage`, `xflow connections` |
| сайт страницы из многих файлов, удаление страницы | `xflow pages deploy`, `xflow pages rm` |
| уровень доступа приложения, ключи функций, тариф, участники | веб-интерфейс |

Команды: [CLI](https://docs.getxflow.com/cli/commands.md).

## Ответы

| Поле | Смысл |
|---|---|
| `truncated` | есть в каждом успешном ответе; `true` значит показана часть |
| `total` | сколько всего, рядом с `truncated: true` |
| `reason` | почему часть, например `First 50 shown` |
| `hint` | что сделать: сузить запрос или исправить вызов |
| `row_count` | у `db` `query`: строки в ответе, а не всего |
| `isError` | ошибка тула; в ней `hint` и, при отказе тарифа, `limit.code` |

Потолок ответа 8 КБ. Больший сервер ужимает и ставит `truncated` и `reason`.
Получив `truncated: true`, агент сужает запрос, а не угадывает остальное. Коды отказов:
[Ошибки](https://docs.getxflow.com/reference/errors.md).
