Перейти к содержимому

MCP Integration

MCP (Model Context Protocol) — протокол для интеграции AI агентов с ONREZA платформой. Endpoint предоставляет инструменты для автоматизации деплоев, управления проектами и мониторинга через stateless HTTP интерфейс.

Model Context Protocol (MCP) — открытый протокол, разработанный Anthropic, для стандартизации взаимодействия между AI ассистентами и внешними инструментами. ONREZA реализует MCP endpoint, позволяя AI агентам:

  • Управлять проектами и деплоями
  • Получать статус сборок и логи
  • Настраивать переменные окружения
  • Выполнять откаты к предыдущим версиям

Все запросы к MCP endpoint требуют аутентификации через API key.

Передайте API key в заголовке Authorization:

Authorization: Bearer nrz_xxxxxxxxxxxxxxxx

API key можно создать в разделе Settings → API Keys в веб-интерфейсе.

Укажите целевой workspace в заголовке:

X-Workspace: my-workspace

Для использования MCP endpoint настройте конфигурацию в .mcp.json:

{
"mcpServers": {
"onreza": {
"url": "https://api.onreza.app/mcp",
"headers": {
"Authorization": "Bearer nrz_xxxxxxxxxxxxxxxx",
"X-Workspace": "my-workspace"
}
}
}
}

Streamable HTTP endpoint для вызова MCP инструментов.

{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "deploy",
"arguments": {
"project": "my-app",
"branch": "main"
}
},
"id": 1
}
{
"jsonrpc": "2.0",
"result": {
"content": [
{
"type": "text",
"text": "Deployment started successfully"
}
]
},
"id": 1
}
ИнструментОписание
whoamiИнформация о текущем пользователе
list-projectsСписок проектов в workspace
get-projectДетали конкретного проекта
deployСоздание деплоя из Git ветки
get-deployment-statusСтатус деплоя
get-build-logsЛоги сборки деплоя
get-runtime-logsRuntime логи приложения
rollbackОткат к предыдущему деплою
get-env-varsПолучение переменных окружения
set-env-varУстановка переменной окружения
delete-env-varУдаление переменной окружения

Возвращает информацию о текущем пользователе.

Параметры: нет

Возвращает список проектов в workspace.

Параметры: нет

Возвращает детали конкретного проекта.

Параметры:

ПараметрТипОписание
projectIdstringUUID проекта

Создаёт деплой из указанной Git ветки.

Параметры:

ПараметрТипОписаниеОбязательный
projectIdstringUUID проектада
branchstringНазвание веткида
commitstringКонкретный commit SHAнет

Пример:

{
"name": "deploy",
"arguments": {
"project": "my-app",
"branch": "feature/new-api"
}
}

Получает статус деплоя.

Параметры:

ПараметрТипОписание
deploymentIdstringUUID деплоя

Получает логи сборки деплоя.

Параметры:

ПараметрТипОписание
deploymentIdstringUUID деплоя

Получает runtime логи приложения.

Параметры:

ПараметрТипОписание
projectIdstringUUID проекта
linesnumberКоличество строк (по умолчанию 100)

Выполняет откат к предыдущему деплою.

Параметры:

ПараметрТипОписание
projectIdstringUUID проекта
targetstringID целевого деплоя (опционально, по умолчанию предыдущий)

Получает список переменных окружения проекта.

Параметры:

ПараметрТипОписание
projectIdstringUUID проекта

Устанавливает переменную окружения.

Параметры:

ПараметрТипОписаниеОбязательный
projectIdstringUUID проектада
keystringИмя переменнойда
valuestringЗначение переменнойда
isSecretbooleanСекретная переменная (true/false)нет

Удаляет переменную окружения.

Параметры:

ПараметрТипОписание
projectIdstringUUID проекта
keystringИмя переменной
  1. Получение списка проектов

    Через UI: Dashboard → Projects

  2. Создание деплоя

    Через UI:

    1. Перейдите в проект
    2. Нажмите Deploy
    3. Выберите ветку main
  3. Проверка статуса деплоя

    Через UI: Project → Deployments

  4. Получение логов сборки

    Через UI: Project → Deployments → выберите деплой → Logs

Установка переменной:

  1. Project → Settings → Environment Variables
  2. Нажмите Add Variable
  3. Заполните поля:
    • Key: API_URL
    • Value: https://api.example.com
    • Environment: Production
  4. Нажмите Save

Для использования MCP с Claude Code добавьте конфигурацию в .mcp.json или глобальные настройки:

{
"mcpServers": {
"onreza": {
"url": "https://api.onreza.app/mcp",
"headers": {
"Authorization": "Bearer nrz_xxxxxxxxxxxxxxxx",
"X-Workspace": "my-workspace"
}
}
}
}

После настройки MCP, Claude Code может выполнять команды напрямую:

User: Задеплой my-app из ветки feature/new-page
Claude: Создаю деплой проекта my-app из ветки feature/new-page...
Деплой запущен: dep_xyz789
URL: https://my-app-xyz789-workspace.onreza.app
User: Покажи логи последнего деплоя my-app
Claude: Получаю логи сборки...
[12:34:56] Build started
[12:34:57] Installing dependencies...
[12:35:12] Build completed successfully

MCP инструменты работают в рамках прав пользователя, чей API key используется:

РольДоступные действия
OWNERВсе операции
ADMINВсе операции, кроме удаления workspace
MEMBERЧтение, деплой, управление env vars в разрешённых проектах
VIEWERТолько чтение
ОперацияЛимит
Все MCP запросы1000/минуту
Deploy операции60/минуту
Логи300/минуту

При превышении лимита возвращается ошибка 429 Too Many Requests.

{
"jsonrpc": "2.0",
"error": {
"code": -32600,
"message": "Invalid Request: Project not found"
},
"id": 1
}
КодОписание
-32700Parse error
-32600Invalid Request
-32601Method not found
-32602Invalid params
-32603Internal error
401Unauthorized — неверный или отсутствующий API key
403Forbidden — недостаточно прав
404Not Found — проект или деплой не найден
409Conflict — параллельный деплой
429Rate limit exceeded