Справочник API

MCP-сервер и API-токены

Подключите ИИ-агентов к рабочему пространству perfscale по Model Context Protocol

Обзор

@perfscale/controlplane-mcp — сервер Model Context Protocol, дающий ИИ-агентам (Claude Code, Claude Desktop и другим MCP-клиентам) доступ на чтение к вашему рабочему пространству perfscale — машины, тесты, прогоны с полными метриками и логами, OTEL-ряды, дашборды и журнал аудита — а также возможность запускать тесты.

Исходный код: Perfscale/mcp. Для локального запуска тестов через open-source CLI см. OSS MCP-сервер.

API-токены

Сервер аутентифицируется персональным API-токеном. Создайте его в дашборде: Settings → API Tokens (нужно право manage_api_tokens — по умолчанию у владельцев и администраторов, настраивается в Access Controls).

  • Токен в открытом виде (psk_...) показывается один раз при создании — сохраните его в менеджере секретов.
  • Лимиты токенов на пользователя зависят от плана: Scale — 1, Enterprise — 5. План Starter не включает API-доступ.
  • Токен действует от вашего имени с вашей ролью в рабочем пространстве, где он создан, и только пока это пространство активно.
  • Отзывайте токены в любой момент на той же странице настроек; каждое использование обновляет отметку last used, а создание и отзыв попадают в журнал аудита.

Токены работают и для всего REST API:

curl https://perfscale.ru/api/v1/machines \
  -H "Authorization: Bearer psk_..."

Настройка

{
  "mcpServers": {
    "perfscale-cloud": {
      "command": "npx",
      "args": ["-y", "@perfscale/controlplane-mcp"],
      "env": {
        "PERFSCALE_API_URL": "https://perfscale.ru",
        "PERFSCALE_API_TOKEN": "psk_..."
      }
    }
  }
}

Если ваше рабочее пространство на perfscale.su — укажите его как базовый URL.

Инструменты

ИнструментДоступЧто возвращает
whoamiчтениеТекущий пользователь, пространство, роль, права
limitsчтениеПлан, лимиты машин/тестов, retention, использование хранилища
usageчтениеИспользование AI tool-call бюджета за текущий месяц
list_machines / get_machineчтениеПарк машин: статус, железо, версия агента, бенчмарк-ёмкость, регион
list_tests / get_testчтениеОпределения тестов с config JSON
list_configsчтениеКонфигурации нагрузки воркспейса (пресеты vus/duration или stages)
list_runs / get_runчтениеПрогоны с p50/p95/p99, error rate, RPS, числом запросов
get_run_logsчтениеПолные логи прогона
runs_by_machineчтениеИстория прогонов по машине
metrics_catalog / query_metricsчтениеДоступные метрики; time-series с фильтром по label'ам
get_otel_timeseriesчтениеOTEL-метрики, собранные во время прогона
list_dashboardsчтениеКастомные дашборды метрик
list_git_reposчтениеПодключённые репозитории и статус синхронизации
list_env_varsчтениеКлючи переменных окружения — значения всегда маскируются
audit_logчтениеЖурнал активности: действие, актор, цель, время
write_testзаписьСоздание или обновление теста (native-шаги или k6-скрипт)
write_configзаписьСоздание или обновление именованной конфигурации нагрузки
run_testзаписьЗапуск теста на машинах; возвращает task ID и URL лог-стримов
sync_git_repoзаписьЗапуск синхронизации тестов из репозитория

Инструменты записи уважают RBAC — run_test требует право run_tests, ровно как в дашборде. Каждый вызов инструмента списывается из месячного AI tool-call бюджета воркспейса (задаётся планом; смотрите usage).

Композитный режим: свои MCP-серверы

Подключите удалённые MCP-серверы к воркспейсу в Settings → AI → MCP Servers (только админы): имя, streamable-HTTP URL и опциональные заголовки (шифруются at rest и больше не показываются). Их инструменты появятся — с префиксом имени сервера, например grafana_search_dashboards — в ASK AI у каждого участника воркспейса и в perfscale-controlplane-mcp при запуске с админ-токеном. Недоступный сервер пропускается; базовые инструменты работают всегда.

HTTP-endpoint

Предпочитаете URL вместо npm-пакета? Тот же композитный сервер доступен на /api/mcp (streamable HTTP, stateless):

{
  "mcpServers": {
    "perfscale": {
      "url": "https://perfscale.su/api/mcp",
      "headers": { "Authorization": "Bearer psk_..." }
    }
  }
}