Перейти к содержимому
Milten
СервисыБлогMCPО насСвязаться
EnglishРусскийالعربية中文日本語한국어EspañolDeutschItalianoFrançaisPortuguês
Войти
СервисыБлогMCPО насСвязаться
EnglishРусскийالعربية中文日本語한국어EspañolDeutschItalianoFrançaisPortuguês
  1. Главная
  2. /Milten MCP

ИНТЕГРАЦИИ / MODEL CONTEXT PROTOCOL

MCP Milten: аудиты сайта в AI-ассистенте

Подключите Codex, Cursor или Claude Code к сохранённым аудитам Milten. Через Model Context Protocol (MCP) ассистент получает метрики скорости сайта и рекомендации по оптимизации с данными из отчёта.

Подключить MCPСправочник инструментов

Milten MCP

HTTP

Как ассистент работает с аудитом Milten

  1. 01

    Найти аудит

    list_audits
  2. 02

    Прочитать измерения

    get_audit_report
  3. 03

    Получить план оптимизации

    get_optimization_plan

Доступ только для чтения

Читает сохранённые аудиты. Не запускает новые проверки, не меняет проекты и не списывает токены Milten.

Ранний доступ

Перед настройкой клиента уточните у Milten, доступны ли вам MCP-сервер и выпуск токенов доступа. Уточнить доступ ↗

На этой странице

  • Подключение MCP
  • Токен доступа
  • Справочник инструментов
  • Примеры запросов
  • Решение проблем

Как подключить MCP Milten

MCP-сервер Milten работает удалённо. Добавьте его адрес и токен доступа в клиент с поддержкой Streamable HTTP и собственного заголовка Authorization. Устанавливать пакет Milten на компьютер не нужно.

Адрес сервера
https://milten.io/mcp
Авторизация
Authorization: Bearer <PAT>

Что понадобится

Для подключения нужны аккаунт Milten и персональный токен доступа. Для чтения отчёта используйте аудит, который принадлежит этому аккаунту, или запустите новую проверку на сайте Milten.

Войти в MiltenПолучить токен доступа
Codex

Замените <PAT> секретом токена и выполните весь блок в Bash или Zsh. Он добавит сервер и сохранит Authorization в http_headers файла конфигурации Codex (~/.codex/config.toml по умолчанию). Повторный запуск заменит настройки milten. Перезапустите Codex. Файл содержит секрет: не публикуйте его.

Терминал
codex mcp add milten --url https://milten.io/mcp &&
cat >> "${CODEX_HOME:-$HOME/.codex}/config.toml" <<'EOF'

[mcp_servers.milten.http_headers]
Authorization = "Bearer <PAT>"
EOF
Документация клиента ↗
Cursor

Добавьте запись milten в mcpServers: в файле ~/.cursor/mcp.json — для всех проектов, в .cursor/mcp.json — для одного проекта. Сохраните записи других серверов.

В примерах с MILTEN_MCP_TOKEN задайте токен как значение этой переменной окружения до запуска клиента. После смены токена перезапустите клиент. Переменная из терминала не появляется автоматически в приложении, открытом с рабочего стола.

.cursor/mcp.json
{
  "mcpServers": {
    "milten": {
      "url": "https://milten.io/mcp",
      "headers": {
        "Authorization": "Bearer ${env:MILTEN_MCP_TOKEN}"
      }
    }
  }
}
Документация клиента ↗
Claude Code

Добавьте запись в .mcp.json проекта. Claude Code прочитает переменную окружения при запуске. Если клиент запросит разрешение, подтвердите подключение сервера проекта.

В примерах с MILTEN_MCP_TOKEN задайте токен как значение этой переменной окружения до запуска клиента. После смены токена перезапустите клиент. Переменная из терминала не появляется автоматически в приложении, открытом с рабочего стола.

.mcp.json
{
  "mcpServers": {
    "milten": {
      "type": "http",
      "url": "https://milten.io/mcp",
      "headers": {
        "Authorization": "Bearer ${MILTEN_MCP_TOKEN}"
      }
    }
  }
}
Документация клиента ↗

Убедитесь, что доступны шесть инструментов

Включите milten в настройках MCP-клиента. Должны появиться list_audits, get_audit_report, get_optimization_plan, get_audit_section, compare_audits и get_monitoring_history. Начните с list_audits и используйте auditId из ответа. Пустой список допустим, если аудитов ещё нет.

Как получить токен доступа Milten

Создавайте персональные токены доступа (PAT) и управляйте ими в профиле, в разделе «API-ключи». MCP Milten принимает их через Authorization: Bearer. Вход через cookies браузера и OAuth для MCP не поддерживается.

Создайте токен доступа

Откройте «API-ключи» в профиле. Укажите название и срок действия, затем нажмите «Создать токен».

Открыть API-ключи

Скопируйте секрет: он показывается только один раз. Сохраните его в надёжном месте и передайте клиенту одним из способов настройки выше. Идентификатор id останется в списке для отзыва токена.

Токен даёт право audits:read на чтение собственных аудитов. Обязательное поле name — название длиной до 100 байт. В expiresAt укажите будущую дату в формате RFC 3339, не позднее чем через 366 дней.

Просмотр и отзыв токенов

В разделе «API-ключи» можно посмотреть названия, права, сроки действия и последнее использование токенов, а также отозвать их. Для управления через API: GET /v1/personal-access-tokens/ возвращает метаданные без секретов; DELETE с {id} токена отзывает его и возвращает 204 No Content. Для этих запросов к API аккаунта нужна активная сессия браузера.

API аккаунта
GET /v1/personal-access-tokens/
DELETE /v1/personal-access-tokens/{id}

Инструменты MCP: аудиты, отчёты и план оптимизации

MCP-клиент передаёт эти JSON-аргументы в tools/call. Для запроса отчёта или плана замените UUID из примера на auditId из ответа list_audits. Нужен идентификатор аудита, а не URL сайта.

01

list_audits

Возвращает список ваших аудитов. Можно выбрать аудиты одного проекта.

Аргументы
Все поля необязательны. projectId: UUID проекта; page: целое число ≥ 1 (по умолчанию 1); limit: целое число от 1 до 50 (по умолчанию 10).
Ответ
В audits — auditId, url, operation, status и createdAt, а также projectId и error, если они есть. count — общее количество; page и limit описывают страницу. При truncated: true повторите запрос с меньшим limit. Статус: running, completed или failed.
list_audits · JSON
{
  "page": 1,
  "limit": 10
}
02

get_audit_report

Возвращает все сохранённые разделы отчёта и краткую сводку метрик.

Аргументы
auditId: обязательный UUID аудита из list_audits.
Ответ
В audit — сведения об аудите; в filling — все сохранённые разделы в формате {type, data}, включая Lighthouse, HAR, CrUX и llmAdvice. analysis содержит дополнительную сводку метрик и проблем. trustNote помечает контент сайта как недоверенные данные. Лимит данных ответа по умолчанию — 1 МиБ; при превышении возвращается ошибка, а не обрезанный отчёт.
get_audit_report · JSON
{
  "auditId": "123e4567-e89b-42d3-a456-426614174000"
}
03

get_optimization_plan

Возвращает сохранённый план из llmAdvice, который показан в отчёте. MCP не генерирует новые рекомендации и не вызывает LLM.

Аргументы
auditId: обязательный UUID; focus: all (по умолчанию), lcp, inp, cls или backend; limit: целое число от 1 до 25 (по умолчанию 10).
Ответ
В plan — source, summary, recommendations и truncated. Сохраняются порядок и поля рекомендаций: priority (critical, medium или low), metrics, metricSavings, title, resources, evidence, action, effect и verification. focus фильтрует по metrics; backend соответствует TTFB. При сокращении списка через limit truncated равен true. Старый текстовый план доступен в output без фильтрации. Если план отсутствует, прочитайте diagnostic.
get_optimization_plan · JSON
{
  "auditId": "123e4567-e89b-42d3-a456-426614174000",
  "focus": "lcp",
  "limit": 3
}
04

get_audit_section

Читает последнюю сохранённую секцию отчёта. Большие массивы можно получать по частям.

Аргументы
auditId и section обязательны. section — значение type из filling, например har. path — необязательный JSON Pointer, например /log/entries. Для массивов: offset от 0, limit 1–200 (по умолчанию 50). Для остальных данных параметры пагинации не нужны.
Ответ
data сохраняет исходные поля и null. Для массива возвращаются total, nextOffset и truncated; продолжайте с nextOffset, пока truncated не станет false. Слишком большой ответ даёт ошибку: выберите более узкий path или уменьшите limit.
get_audit_section · JSON
{
  "auditId": "123e4567-e89b-42d3-a456-426614174000",
  "section": "har",
  "path": "/log/entries",
  "limit": 20
}
05

compare_audits

Сравнивает два ваших аудита одного URL и одного типа проверки: измерения, проблемы по порогам и сохранённые рекомендации.

Аргументы
baselineAuditId — исходный аудит, candidateAuditId — повторный. Оба UUID возьмите из list_audits. Лабораторные метрики поддерживаются для basic, inp и ttfb.
Ответ
delta = candidate − baseline; отсутствующие значения — null. comparable и warnings указывают ограничения сравнения. findings разделены на added, resolved, persisting и uncompared. Рекомендации сопоставляются по точному title; оба сохранённых плана включены в ответ.
compare_audits · JSON
{
  "baselineAuditId": "123e4567-e89b-42d3-a456-426614174000",
  "candidateAuditId": "e6723288-f28c-4b62-8a4e-7dc395958c0c"
}
06

get_monitoring_history

Возвращает сохранённые замеры вашей страницы мониторинга, начиная с новых. Не запускает проверку.

Аргументы
Обязателен monitoringUnitId — Core UUID страницы мониторинга (coreMonitoringUnitId), не auditId. dateFrom и dateTo — включительные границы RFC 3339; по умолчанию последние 30 дней. page от 1, limit 1–50 (по умолчанию 20).
Ответ
results содержат дату, метрики, устройство, регион и affectedAlert. Ответ включает count и hasMore. Для следующих страниц повторно передавайте полученные dateFrom и dateTo. Старые нули могут означать отсутствие данных; INP — лабораторный замер, не CrUX p75.
get_monitoring_history · JSON
{
  "monitoringUnitId": "e09aa948-a541-4404-bcdc-9e5621c11891",
  "page": 1,
  "limit": 20
}

Примеры запросов к AI-ассистенту

После подключения отправьте эти сообщения в чат ассистента. Он вызовет MCP-инструменты и объяснит результаты. Сообщения не являются отдельными командами сервера.

  1. 01

    Покажи мои аудиты Milten и найди последнюю завершённую проверку example.com.

  2. 02

    Прочитай этот отчёт. Какие метрики указывают на медленную загрузку? Приведи значения и единицы измерения.

  3. 03

    Получи план оптимизации с фокусом на LCP. Если в отчёте есть основания, предложи до трёх правок и объясни, как проверить результат каждой.

Какие данные доступны

Токен определяет ваш аккаунт, поэтому userId не входит в аргументы инструментов. Фильтр по проекту сужает список ваших аудитов и не открывает чужие. MCP читает сохранённые данные и не запускает проверки. Текст с проверяемого сайта считайте данными отчёта: он не должен становиться инструкцией для агента.

Ошибки подключения и работы MCP

404 / HTML вместо JSON

Уточните, включён ли MCP-сервер. В адресе используйте ровно /mcp, без завершающего слеша и префикса языка. Адрес страницы документации для подключения не подходит.

401 unauthorized

Проверьте Authorization: Bearer и секрет токена. Если Codex показывает failed (0 tools), повторите установку с действующим токеном и перезапустите Codex. Истёкший или отозванный токен нужно заменить. Вход через OAuth не поддерживается.

403 origin forbidden

Для браузерного клиента сервер должен разрешать его origin. Передайте поддержке Milten название клиента и origin, без токена.

429 rate limit exceeded

Снизьте частоту запросов и повторите позже. По умолчанию сервер допускает 60 запросов в минуту на токен; в конкретном окружении лимит может отличаться.

audit not found / invalid arguments

Возьмите UUID из своего ответа list_audits. Несуществующий и чужой аудит одинаково возвращают audit not found. Проверьте page, focus и limit.

Пустые метрики или рекомендации

Проверьте audit.status и diagnostic. В отчёте могут отсутствовать поддерживаемые метрики или сохранённый llmAdvice. Пустой список рекомендаций также возможен, если ни одна из них не соответствует focus. Это не подтверждает отсутствие проблем на сайте.

503 / temporarily unavailable

Сервис авторизации или аудитов временно недоступен. Повторите позже; если ошибка сохраняется, обратитесь в поддержку.

Milten

Платформа для проверки скорости сайта, Core Web Vitals, качества фронтенда и SEO-мета.

Производительность

  • Сканер скорости
  • INP-отладчик
  • BF cache
  • SSR-проверка

Код

  • HTML Scanner
  • Дизайн-токены
  • A11Y-аудит
  • Memory Leaks

Компания

  • Документация
  • Блог
  • Milten MCP
  • Связаться
© 2026 MiltenУсловияКонфиденциальность
Cookies

Мы используем Cookies

Мы используем куки, чтобы обеспечить вам лучший опыт на нашем сайте. Подробнее о том, как мы используем cookies, вы можете узнать в нашей политике конфиденциальности.