Last9

официальный

Бесшовно переносите контекст реальной производственной среды — логи, метрики и трейсы — в ваше локальное окружение, чтобы быстрее автоматически исправлять код.

Что можно делать с Last9 MCP?

Попросите вашего ассистента расследовать производственные инциденты, используя живые логи, трассировки и метрики из Last9.

  • Ранжирование состояния сервисов — Используйте get_service_summary, чтобы видеть количество запросов, пропускную способность и ошибки 4xx/5xx по всему парку сервисов.
  • Поиск медленных запросов к базе данных — Используйте get_database_slow_queries, чтобы получить фактические самые медленные выполнения с идентификаторами трассировок для детального изучения.
  • Получение логов сервисов — Используйте get_service_logs, чтобы загрузить необработанные строки логов, отфильтрованные по уровню серьезности и содержимому.
  • Трассировка одного запроса — Используйте get_trace_waterfall, чтобы просмотреть иерархический водопад «родитель-потомок» для конкретного идентификатора трассировки.
  • Проверка состояния оповещений — Используйте get_alert_rule_state, чтобы увидеть историю срабатываний для каждого правила оповещений за заданный период.
  • Управление дашбордами — Используйте create_dashboard, чтобы создавать пользовательские дашборды с панелями и запросами.

Документация

MCP-сервер Last9

last9 mcp demo

Ваш ИИ-агент не знает, что сломано в продакшене. Это исправляет.

Last9 MCP Server подключает Claude, Cursor, Windsurf и любых других ИИ-ассистентов с поддержкой MCP напрямую к данным вашего производственного observability — логи, метрики, трейсы, исключения, запросы к БД, алерты и деплои. Агент перестаёт гадать и начинает читать реальные сигналы.


Начало за 30 секунд (Хостинг)

Не нужно устанавливать бинарник. Не нужно управлять токенами. Один URL, OAuth в браузере — готово.

Найдите свой org slug в URL Last9: app.last9.io/<org_slug>/...

Claude Code

claude mcp add --transport http last9 https://app.last9.io/api/v4/organizations/<org_slug>/mcp

Введите /mcp, выберите last9, пройдите аутентификацию. Всё.

Cursor

Настройки > MCP > Добавить новый MCP-сервер:

{
  "mcpServers": {
    "last9": {
      "type": "http",
      "url": "https://app.last9.io/api/v4/organizations/<org_slug>/mcp"
    }
  }
}

Нажмите Подключить, завершите OAuth.

VS Code

Требуется v1.99+. Откройте палитру команд → MCP: Add Server, вставьте URL, пройдите аутентификацию.

Или напрямую в settings.json:

{
  "mcp": {
    "servers": {
      "last9": {
        "type": "http",
        "url": "https://app.last9.io/api/v4/organizations/<org_slug>/mcp"
      }
    }
  }
}

Windsurf

Настройки > Cascade > Открыть MCP Marketplace > иконка шестерёнки (mcp_config.json):

{
  "mcpServers": {
    "last9": {
      "serverUrl": "https://app.last9.io/api/v4/organizations/<org_slug>/mcp"
    }
  }
}

Claude Web/Desktop

Настройки > Connectors > Добавить пользовательский коннектор. Назовите его last9, вставьте URL, пройдите аутентификацию.

Требуется доступ администратора к вашей организации Claude.


Самостоятельный хостинг (STDIO)

Используйте это, если ваш MCP-клиент не поддерживает HTTP-транспорт, или если вам нужно, чтобы сервер запускался локально.

Установка

Homebrew:

brew install last9/tap/last9-mcp

NPM:

npm install -g @last9/mcp-server@latest
# or directly:
npx -y @last9/mcp-server@latest

Бинарные релизы (Windows / вручную):

Загрузите с GitHub Releases:

ПлатформаАрхив
Windows (x64)last9-mcp-server_Windows_x86_64.zip
Windows (ARM64)last9-mcp-server_Windows_arm64.zip
Linux (x64)last9-mcp-server_Linux_x86_64.tar.gz
Linux (ARM64)last9-mcp-server_Linux_arm64.tar.gz
macOS (x64)last9-mcp-server_Darwin_x86_64.tar.gz
macOS (ARM64)last9-mcp-server_Darwin_arm64.tar.gz

Получение Refresh-токена

Только администраторы могут создавать токены.

  1. Перейдите в API Access
  2. Нажмите Generate Token с правами на запись
  3. Скопируйте его

Конфигурация клиента

Homebrew:

{
  "mcpServers": {
    "last9": {
      "command": "/opt/homebrew/bin/last9-mcp",
      "env": {
        "LAST9_REFRESH_TOKEN": "<your_refresh_token>"
      }
    }
  }
}

NPM:

{
  "mcpServers": {
    "last9": {
      "command": "npx",
      "args": ["-y", "@last9/mcp-server@latest"],
      "env": {
        "LAST9_REFRESH_TOKEN": "<your_refresh_token>"
      }
    }
  }
}

Куда вставить это:

КлиентРасположение
Claude Web/DesktopНастройки > Разработчик > Редактировать конфигурацию (claude_desktop_config.json)
CursorНастройки > Настройки Cursor > MCP > Добавить новый глобальный MCP-сервер
WindsurfНастройки > Cascade > MCP Marketplace > иконка шестерёнки (mcp_config.json)
VS CodeОборачивается в { "mcp": { "servers": { ... } } } в settings.jsonподробности
Конфигурация STDIO для VS Code
{
  "mcp": {
    "servers": {
      "last9": {
        "type": "stdio",
        "command": "/opt/homebrew/bin/last9-mcp",
        "env": {
          "LAST9_REFRESH_TOKEN": "<your_refresh_token>"
        }
      }
    }
  }
}

Для NPM: используйте "command": "npx" и добавьте "args": ["-y", "@last9/mcp-server@latest"].

Windows

После загрузки с GitHub Releases распакуйте и укажите полный путь:

{
  "mcpServers": {
    "last9": {
      "command": "C:\\Users\\<user>\\AppData\\Local\\Programs\\last9-mcp-server.exe",
      "env": {
        "LAST9_REFRESH_TOKEN": "<your_refresh_token>"
      }
    }
  }
}

Путь через NPM проще на Windows — не нужно управлять путями.

Переменные окружения

ПеременнаяПо умолчаниюОписание
LAST9_REFRESH_TOKEN(обязательно)Refresh-токен из API Access
LAST9_DATASOURCEПо умолчанию организацииИмя источника данных / кластера — полезно, если у вас несколько кластеров Levitate
LAST9_API_HOSTapp.last9.ioПереопределить хост API
LAST9_TOOLSETSвсе инструментыНаборы инструментов через запятую (logs, traces, metrics, alerts, dashboards, investigate, all). Псевдоним: LAST9_MCP_TOOLSETS
LAST9_MAX_GET_LOGS_ENTRIES5000Максимальное количество записей для чанкових запросов get_logs
LAST9_DEBUG_CHUNKINGfalseУстановите true для логирования деталей планирования чанков для get_logs, get_service_logs, get_traces
LAST9_DISABLE_TELEMETRYtrueУстановите false для включения внутреннего OTel-трейсинга
OTEL_SDK_DISABLEDСтандартная переменная окружения OTel. Переопределяет LAST9_DISABLE_TELEMETRY
OTEL_EXPORTER_OTLP_ENDPOINTКонечная точка OTLP-коллектора (только когда телеметрия включена)
OTEL_EXPORTER_OTLP_HEADERSЗаголовки аутентификации OTLP (только когда телеметрия включена)

Что это умеет

Здоровье сервисов

  • get_service_summary — Ранжированные строки парка (service, env): количество запросов за интервал, throughput_rpm, количество HTTP 4xx/5xx и количество ошибок gRPC
  • get_service_environments — Доступные окружения для ваших сервисов. Запустите это первым — другим инструментам APM требуется env отсюда
  • get_service_performance_details — Полная разбивка: throughput, частота ошибок, p50/p90/p95/avg/max, apdex, доступность
  • get_service_operations_summary — Операции, сгруппированные по HTTP-эндпоинтам, вызовам БД, обмену сообщениями, HTTP-клиентам
  • get_service_dependency_graph — Карта зависимостей с throughput, задержкой и частотой ошибок для восходящих/нисходящих/инфраструктурных
  • get_apm_service_deviations — Сравнение текущего окна с базовым окном той же длительности: регрессии/улучшения, сверка Apdex и итоговый результат (парк или отдельный сервис)
  • get_exceptions — Исключения на стороне сервера с фильтрами по сервису и спанам

Наблюдаемость баз данных

Четыре инструмента, которые напрямую работают с производительностью вашей базы данных, полученной из спанов трассировки OpenTelemetry. Дополнительная инструментация не требуется, если вы уже используете OTel.

  • get_databases — Обнаружение всех баз данных в вашей инфраструктуре: тип БД, хост, throughput (запросов/мин), p95 задержка, частота ошибок, количество зависимых сервисов
  • get_database_slow_queries — Фактические самые медленные выполнение запросов, упорядоченные по длительности, с ID трассировок для перехода к полным трейсам
  • get_database_queries — Паттерны запросов и агрегаты: как часто выполняется запрос, средняя/p95 длительность, частота ошибок
  • get_database_server_metrics — Метрики на стороне сервера от самого хоста БД (CPU, соединения, hit rate буфера — зависит от вашей системы БД)

Поддерживает PostgreSQL, MySQL, MongoDB, Redis, Aerospike и все остальное, что OTel трассирует с атрибутом db_system.

Prometheus / PromQL

  • prometheus_range_query — Запросы диапазона PromQL по любой метрике
  • prometheus_instant_query — Мгновенные запросы; используйте функции свёртки, такие как avg_over_time, sum_over_time
  • prometheus_label_values — Значения меток для данного ряда
  • prometheus_labels — Все метки, доступные для ряда

Направляйте их на другой источник данных / кластер, отличный от стандартного, установив LAST9_DATASOURCE.

Логи

  • get_logs — Полные запросы JSON к конвейеру логов (агрегации, фильтры, извлечение полей)
  • get_service_logs — Необработанные строки логов для сервиса, фильтруются по уровню серьезности и содержимому тела
  • get_log_attributes — Глобальный каталог атрибутов в схеме логов за временной интервал
  • get_log_attributes_for_pipeline — Поля логов, фактически присутствующие для выполняемого конвейера (ограниченное обнаружение), каждое с точным filter_field
  • get_drop_rules — Правила отбрасывания логов из Last9 Control Plane
  • add_drop_rule — Создать новое правило отбрасывания для сокращения объёма логов на источнике

Трейсы

  • get_traces — Запросы JSON к конвейеру трейсов для широкого поиска и агрегаций
  • get_service_traces — Трейсы по точному ID трассировки или имени сервиса. Используйте это, когда у вас есть ID трассировки — это быстрее
  • get_trace_attributes — Глобальный каталог атрибутов в схеме трейсов
  • get_trace_attributes_for_pipeline — Атрибуты, фактически присутствующие для выполняемого конвейера (ограниченное обнаружение), каждый с точным filter_field
  • get_trace_attribute_values — Различные значения атрибута трейса, опционально ограниченные конвейером
  • get_trace_attribute_deviations — Ранжирует значения атрибутов, которые различаются между двумя ограниченными когортами спанов (медленные и быстрые, ошибки и без ошибок, или два временных окна). Корреляция, а не причина
  • get_trace_waterfall — Один точный трейс как водопад родитель/ребенок с интервально-объединенным self-time, самыми медленными спанами и предупреждениями графа

События изменений и алерты

  • get_change_events — Деплои, изменения конфигурации, откаты. Сопоставляйте инциденты с изменениями
  • get_alert_config — Конфигурации правил алертов — доступны для поиска по имени, серьезности, типу, тегам
  • get_alerts — Срабатывающие в данный момент алерты в пределах временного окна
  • get_alert_rule_state — Историческое состояние срабатывания (1/0) по каждому правилу алерта за временной диапазон, сгруппированное по rule_id. Фильтруется по группе алертов, имени правила, фильтрам меток и состоянию.
  • get_notification_channels — Настроенные каналы уведомлений (Slack, PagerDuty, email и т.д.)

Кастомные дашборды

  • list_dashboards — Все настраиваемые дашборды в вашей организации: ID, имена и метаданные
  • get_dashboard — Полное определение дашборда по ID, включая панели и запросы
  • create_dashboard — Создать новый настраиваемый дашборд с панелями, запросами и метаданными
  • update_dashboard — Обновить существующий дашборд по ID (дашборды только для чтения в системе возвращают ошибку)
  • delete_dashboard — Удалить настраиваемый дашборд по ID
  • list_dashboard_snapshots — Замороженные снимки на момент времени для дашборда (только метаданные)
  • get_dashboard_snapshot — Полный замороженный снимок, включая данные панелей для RCA / доступных для просмотра представлений
  • delete_dashboard_snapshot — Удалить замороженный снимок по ID

Нечёткое разрешение имён

  • did_you_mean — Когда агент не уверен в имени сущности, это возвращает ближайшие совпадения из вашего каталога (сервисы, окружения, хосты, базы данных, деплои/наборы K8s, задания). До 3 предложений с оценками сходства. Сервер автоматически вызывает это перед большинством инструментов, когда поиск имени возвращает пустой результат.

Как это работает

Глубокие ссылки на каждый ответ. Каждый инструмент возвращает поле deep_link — прямую ссылку на дашборд Last9 для точного запроса и временного диапазона. Агент может передать вам ссылку; вы кликаете; вы там.

Наборы инструментов. По умолчанию сервер предоставляет все инструменты. Хосты автоматизации, которым нужны только исследования (логи/трейсы/метрики), могут установить LAST9_TOOLSETS=investigate (или передать --toolsets=investigate), чтобы tools/list оставался небольшим без массового отключения на стороне клиента. Именованные пакеты: logs, traces, metrics, alerts, dashboards, investigate, all. Неизвестные имена быстро завершаются ошибкой. Пакет metrics сам по себе не включает list_datasources или did_you_mean — используйте investigate (или комбинируйте наборы), когда эти помощники по обнаружению нужны.

Ресурсы справочника инструментов. Длинные руководства по logjson/tracejson/service-logs/metrics являются ресурсами MCP (last9://reference/logjson, last9://reference/tracejson, last9://reference/service_logs, last9://reference/metrics), а не всегда включённым текстом описаний. Критические правила запросов остаются в описании инструмента, чтобы агенты, которые никогда не вызывают resources/read, все равно получали правильные указания по построению. Обнаруживайте специфичные для организации поля с помощью get_log_attributes / get_log_attributes_for_pipeline (и их эквиваленты трейсов) — они не внедряются в описания.

Чанкование больших результатов. get_logs и get_traces обрабатывают большие наборы результатов с помощью чанкования, а не усечения. Лимит по умолчанию — 5000 записей для логов; настраивается через LAST9_MAX_GET_LOGS_ENTRIES.


Разработка

HTTP-режим, тестирование с curl, сборка из исходников

Запуск в HTTP-режиме

export LAST9_REFRESH_TOKEN="your_refresh_token"
export LAST9_HTTP=true
export LAST9_PORT=8080
./last9-mcp-server

Сервер запускается на http://localhost:8080/mcp.

Тестирование с curl

Обработчик Streamable HTTP работает в stateless-режиме, поэтому каждый запрос обслуживается независимо. Ручкопожатие initialize и заголовок Mcp-Session-Id необязательны — клиенты, которые их отправляют, по-прежнему работают (заголовок принимается и игнорируется), а клиенты также могут сразу переходить к tools/list / tools/call. Каждый инструмент — это независимый запрос/ответ; сервер не отправляет уведомлений сервер→клиент, поэтому GET /mcp (поток SSE) возвращает 405.

# List tools — a session handshake is optional in stateless mode
curl -s -X POST http://localhost:8080/mcp \
    -H "Content-Type: application/json" \
    -H "Accept: application/json, text/event-stream" \
    -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}'

# Call a tool
curl -s -X POST http://localhost:8080/mcp \
    -H "Content-Type: application/json" \
    -H "Accept: application/json, text/event-stream" \
    -d '{
      "jsonrpc": "2.0",
      "id": 2,
      "method": "tools/call",
      "params": {
        "name": "get_service_logs",
        "arguments": {
          "service_name": "your-service-name",
          "lookback_minutes": 30,
          "limit": 10
        }
      }
    }'

Сборка из исходного кода

git clone https://github.com/last9/last9-mcp-server.git
cd last9-mcp-server
go build -o last9-mcp-server
LAST9_HTTP=true ./last9-mcp-server

LAST9_HTTP=true предназначен для локальной разработки. Для реального использования удобнее размещённая HTTP-конечная точка.


Справочник инструментов

Все параметры, стандарты ввода времени и подробности

Ввод времени

  • Абсолютное время (start_time_iso/end_time_iso или time_iso) имеет приоритет над lookback_minutes.
  • Для относительных окон: используйте lookback_minutes.
  • Для абсолютных окон: используйте RFC3339/ISO8601 — 2026-02-09T15:04:05Z.
  • Устаревший YYYY-MM-DD HH:MM:SS принимается только для совместимости.

get_exceptions

  • limit (целое, необязательно): Максимум исключений. По умолчанию: 20.
  • lookback_minutes (целое, необязательно): По умолчанию: 60.
  • start_time_iso / end_time_iso (строка, необязательно): Абсолютный диапазон времени.
  • service_name (строка, необязательно): Фильтр по сервису.
  • span_name (строка, необязательно): Фильтр по имени спана.
  • env (строка, необязательно): Фильтр по окружению.

get_service_summary

  • start_time_iso / end_time_iso (строка, необязательно)
  • env (строка, необязательно): PromQL-регулярное выражение. По умолчанию — .*. Для точного совпадения нужны якоря (например, ^prod$).
  • sort_by (строка, необязательно): request_count (по умолчанию), throughput_rpm, http_4xx_count, http_5xx_count или grpc_error_count.
  • limit (целое, необязательно): Максимум ранжированных строк. Если опущено или 0 — значит 10; значения выше 100 ограничиваются до 100.

get_service_environments

  • start_time_iso / end_time_iso (строка, необязательно)

Все остальные инструменты APM требуют значение env. Используйте "", если этот запрос возвращает пусто.

get_service_performance_details

  • service_name (строка, обязательно)
  • lookback_minutes (целое, необязательно): По умолчанию: 60.
  • start_time_iso / end_time_iso (строка, необязательно)
  • env (строка, необязательно): По умолчанию — prod.

get_service_operations_summary

  • service_name (строка, обязательно)
  • lookback_minutes (целое, необязательно): По умолчанию: 60.
  • start_time_iso / end_time_iso (строка, необязательно)
  • env (строка, необязательно): По умолчанию — prod.

get_service_dependency_graph

  • service_name (строка, необязательно)
  • lookback_minutes (целое, необязательно): По умолчанию: 60.
  • start_time_iso / end_time_iso (строка, необязательно)
  • env (строка, необязательно): По умолчанию — prod.

get_apm_service_deviations

  • service_name (строка, необязательно): Опустите для всего парка; укажите для одного сервиса и его корреляций операций.
  • lookback_minutes (целое, необязательно): Текущее окно. По умолчанию: 60.
  • start_time_iso / end_time_iso (строка, необязательно): Явное текущее окно.
  • baseline_start_time_iso / baseline_end_time_iso (строка, необязательно): Явный базовый период. По умолчанию — непосредственно предшествующее окно той же длительности.
  • datasource (строка, необязательно): Ограничить сравнение одним источником данных.
  • env (строка, необязательно): По умолчанию — prod.
  • max_services / max_operations (целое, необязательно): По умолчанию 10, максимум 10 каждое.

get_databases

  • env (строка, необязательно): Фильтр по окружению. По умолчанию: все.
  • lookback_minutes (целое, необязательно): По умолчанию: 60.
  • start_time_iso / end_time_iso (строка, необязательно)

get_database_slow_queries

  • db_system (строка, необязательно): например, postgresql, mysql, mongodb, redis.
  • host (строка, необязательно): Хост базы данных (net_peer_name).
  • service_name (строка, необязательно): Имя вызывающего сервиса.
  • env (строка, необязательно)
  • min_duration_ms (число с плавающей точкой, необязательно): Минимальная длительность запроса в мс.
  • lookback_minutes (целое, необязательно): По умолчанию: 60.
  • start_time_iso / end_time_iso (строка, необязательно)
  • limit (целое, необязательно): По умолчанию: 20.

get_database_queries

  • db_system (строка, необязательно)
  • host (строка, необязательно)
  • service_name (строка, необязательно)
  • env (строка, необязательно)
  • lookback_minutes (целое, необязательно): По умолчанию: 60.
  • start_time_iso / end_time_iso (строка, необязательно)
  • limit (целое, необязательно): По умолчанию: 20.

get_database_server_metrics

  • db_system (строка, обязательно): например, postgresql, mysql, mongodb, redis, aerospike.
  • host (строка, необязательно)
  • lookback_minutes (целое, необязательно): По умолчанию: 60.
  • start_time_iso / end_time_iso (строка, необязательно)

prometheus_range_query

  • query (строка, обязательно): PromQL-запрос.
  • start_time_iso / end_time_iso (строка, необязательно): По умолчанию — последние 60 минут.
  • lookback_minutes (число с плавающей точкой, необязательно): По умолчанию: 60.

prometheus_instant_query

  • query (строка, обязательно)
  • time_iso (строка, необязательно): По умолчанию — сейчас.
  • lookback_minutes (число с плавающей точкой, необязательно)

prometheus_label_values

  • match_query (строка, необязательно): PromQL-фильтр.
  • label (строка, обязательно): Имя метки.
  • start_time_iso / end_time_iso (строка, необязательно)

prometheus_labels

  • match_query (строка, необязательно): PromQL-фильтр.
  • start_time_iso / end_time_iso (строка, необязательно)

get_logs

  • logjson_query (массив, обязательно): JSON-конвейерный запрос.
  • lookback_minutes (целое, необязательно): По умолчанию: 5.
  • start_time_iso / end_time_iso (строка, необязательно)
  • limit (целое, необязательно): Серверное значение по умолчанию: 5000.
  • index (строка, необязательно): physical_index:<name> или rehydration_index:<block_name>.

Для инвентаризации сервисов на основе логов сначала выполните запрос physical_index_service_count:

sum by (name, service_name, env) (physical_index_service_count{destination="logs"})

Используйте service_name как ServiceName, env как окружение, если оно присутствует, и name как физическое имя индекса. Если name="default", опустите index; для нестандартного физического индекса, выбранного пользователем, передайте index: "physical_index:<name>". Если бэкенд отклоняет явную фильтрацию по физическому индексу, повторите запрос без index и сообщите, что явная фильтрация по физическому индексу недоступна для этого бэкенда.

get_service_logs

  • service_name (строка, обязательно)
  • lookback_minutes (целое, необязательно): По умолчанию: 60.
  • limit (целое, необязательно): По умолчанию: 20.
  • env (строка, необязательно)
  • severity_filters (массив, необязательно): например, ["error", "warn"]. Логика ИЛИ.
  • body_filters (массив, необязательно): например, ["timeout", "failed"]. Логика ИЛИ.
  • start_time_iso / end_time_iso (строка, необязательно)
  • index (строка, необязательно)

Несколько типов фильтров объединяются по И. Каждый массив внутри использует ИЛИ. Сначала используйте get_logs для широких агрегированных подсчётов; используйте get_service_logs только после сужения до сервиса/окружения/индекса и небольшого набора выборки.

get_log_attributes

  • lookback_minutes (целое, необязательно): По умолчанию: 15.
  • start_time_iso / end_time_iso (строка, необязательно)
  • region (строка, необязательно)
  • index (строка, необязательно)

get_log_attributes_for_pipeline

  • pipeline (массив, обязательно): Предыдущие стадии фильтрации для ограничения области обнаружения, например, [{"type":"filter","query":{"$eq":["ServiceName","<service>"]}}].
  • lookback_minutes (целое, необязательно): По умолчанию: 15.
  • start_time_iso / end_time_iso (строка, необязательно)
  • region (строка, необязательно)
  • index (строка, необязательно)

get_drop_rules

Без параметров. Перечисляет правила отбрасывания через GET /otel_settings/drop?region=....

add_drop_rule

  • name (строка, обязательно)
  • filters (массив, обязательно): Каждый фильтр: key, value, operator (equals/not_equals), conjunction (and).
  • Ключи фильтров должны использовать attributes["key_name"] или resource.attributes["key_name"] (требование API Last9).
  • Создаёт правило через POST /otel_settings/drop?region=...&cluster_id=....

get_traces

Используйте для широких поисков и агрегаций. Для точного поиска по ID трейса используйте get_service_traces.

  • tracejson_query (массив, обязательно)
  • start_time_iso / end_time_iso (строка, необязательно)
  • lookback_minutes (целое, необязательно): По умолчанию: 60.
  • limit (целое, необязательно): По умолчанию: 5000.

get_service_traces

Требуется ровно один из параметров trace_id или service_name.

  • trace_id (строка, необязательно): Период просмотра по умолчанию: 72 часа.
  • service_name (строка, необязательно): Период просмотра по умолчанию: 60 минут.
  • lookback_minutes (целое, необязательно)
  • start_time_iso / end_time_iso (строка, необязательно)
  • limit (целое, необязательно): По умолчанию: 10.
  • env (строка, необязательно)

get_trace_attributes

  • lookback_minutes (целое, необязательно): По умолчанию: 15.
  • start_time_iso / end_time_iso (строка, необязательно)
  • region (строка, необязательно)

get_trace_attributes_for_pipeline

  • pipeline (массив, обязательно): Предыдущие стадии фильтрации для ограничения области обнаружения, например, [{"type":"filter","query":{"$eq":["ServiceName","<service>"]}}].
  • lookback_minutes (целое, необязательно): По умолчанию: 15.
  • start_time_iso / end_time_iso (строка, необязательно)
  • region (строка, необязательно)

get_trace_attribute_values

  • tag_name (строка, обязательно): Имя атрибута из get_trace_attributes (например, resource_department или attributes['http.method']).
  • pipeline (массив, необязательно): Предыдущие стадии фильтрации для ограничения значений; опустите для глобальных значений.
  • region (строка, необязательно)

get_trace_attribute_deviations

  • comparison_mode (строка, обязательно): latency, errors или time.
  • service_name (строка, обязательно)
  • environment (строка, обязательно): Точное значение deployment.environment.
  • operation (строка, необязательно)
  • filters (массив, необязательно): Условия фильтрации JSON трейса.
  • candidate_attributes (массив, необязательно): Максимум 8; опустите для ограниченного обнаружения.
  • latency_threshold_ms (число, необязательно): Требуется для режима latency; отклоняется для других режимов.
  • start_time_iso / end_time_iso (строка, необязательно)
  • lookback_minutes (целое, необязательно): По умолчанию: 15. Максимум: 15.
  • baseline_start_time_iso / baseline_end_time_iso (строка, необязательно): Требуется для режима time; непересекающийся и равный по длительности целевому окну.
  • minimum_cohort_size (целое, необязательно): По умолчанию: 100. Минимум: 20.
  • minimum_value_support (целое, необязательно): По умолчанию: 20. Минимум: 10.
  • limit (целое, необязательно): По умолчанию: 10. Максимум: 10.

Требуется включённая сопутствующая возможность бэкенда.

get_trace_waterfall

  • trace_id (строка, обязательно)
  • environment (строка, необязательно)
  • start_time_iso / end_time_iso (строка, необязательно)
  • lookback_minutes (целое, необязательно): По умолчанию: 4320 (72 часа).
  • selected_span_id (строка, необязательно): Возвращает атрибуты, события и ссылки только для этого спана.
  • max_spans (целое, необязательно): По умолчанию: 500. Максимум: 1000.

Возвращает конверт investigation-evidence/v1; водопад находится в data.

get_change_events

  • start_time_iso / end_time_iso (строка, необязательно)
  • lookback_minutes (целое, необязательно): По умолчанию: 60.
  • service_name (строка, необязательно)
  • env (строка, необязательно)
  • event_name (строка, необязательно): Сначала вызовите без этого параметра, чтобы получить available_event_names.

get_alert_config

  • search_term (string, необязательный): Свободный текстовый поиск по имени, группе, источнику данных, тегам.
  • rule_name (string, необязательный)
  • severity (string, необязательный)
  • rule_type (string, необязательный): static или anomaly.
  • alert_group_name / alert_group_type / data_source_name (string, необязательный)
  • tags (array, необязательный): Все должны совпадать (логика И).

get_alerts

  • time_iso (string, необязательный): Время оценки в формате RFC3339.
  • window (integer, необязательный): Период оглядки в секундах. По умолчанию: 900. Диапазон: 60–86400.
  • lookback_minutes (integer, необязательный): Диапазон: 1–1440.

get_alert_rule_state

  • start_time (integer, обязательный): Начало диапазона в Unix-эпохе (включительно).
  • end_time (integer, обязательный): Конец диапазона в Unix-эпохе (включительно).
  • step (integer, обязательный): Разрешение в секундах между выборками. Количество выборок ((end_time - start_time) / step + 1) ограничено 100.
  • alert_group_id (string, необязательный): Фильтр по ID группы оповещений.
  • rule_name (string, необязательный): Regex-фильтр по имени правила.
  • alert_group_name (string, необязательный): Regex-фильтр по имени группы оповещений.
  • label_filters (string, необязательный): Разделенные запятыми фильтры меток key=value.
  • state (string, необязательный): Фильтр по состоянию (например, firing).

Возвращает JSON-карту rule_id -> [{timestamp, is_firing}]. Временная метка, когда правило отсутствует в ответе вышестоящей системы, сообщается как is_firing=0 — это означает «не наблюдалось как срабатывание», а не подтвержденное нормальное состояние.

get_notification_channels

Без параметров. Возвращает все настроенные каналы уведомлений (Slack, PagerDuty, email, webhooks и т.д.).

did_you_mean

  • query (string, обязательный): Имя для поиска — частичное, с опечатками или сокращенное.
  • type (string, необязательный): Ограничить по типу сущности: service, environment, host, database, k8s_deployment, k8s_namespace, job.

Возвращает до 3 ближайших совпадений с оценками сходства. Используйте это перед любым вызовом инструмента, если имя сущности неопределенно. Если предыдущий вызов вернул пустые результаты, попробуйте это перед повторной попыткой.

list_dashboards

Без параметров. Возвращает все пользовательские дашборды в организации в виде JSON-массива с id, name и метаданными.

get_dashboard

  • id (string, обязательный): UUID дашборда.
  • region (string, необязательный): Регион для заполнения запросов панелей. По умолчанию используется настроенный регион источника данных.

create_dashboard

  • dashboard (object, обязательный): Определение дашборда с name и panels[]. Каждая панель требует name, version, layout (x, y, w, h), visualization.type и queries[].
  • metadata (object, необязательный): Метаданные дашборда — поля _category и _type (например, {"_category":"custom","_type":"metrics"}).

update_dashboard

  • id (string, обязательный): UUID дашборда для обновления.
  • dashboard (object, обязательный): Полное тело замены дашборда (та же структура, что и при создании).
  • metadata (object, необязательный): Метаданные замены. Системные дашборды только для чтения возвращают ошибку 403.

delete_dashboard

  • id (string, обязательный): UUID дашборда для удаления. Системные дашборды только для чтения не могут быть удалены.

list_dashboard_snapshots

  • dashboard_id (string, обязательный): UUID дашборда, чьи снимки нужно перечислить.

Возвращает только метаданные (id, name, expires_at и т.д.). Используйте get_dashboard_snapshot для замороженных данных панелей.

get_dashboard_snapshot

  • id (string, обязательный): UUID снимка.

Возвращает полный замороженный снимок, включая dashboard_definition, panel_data, time_range и variables.

delete_dashboard_snapshot

  • id (string, обязательный): UUID снимка для удаления.

Тестирование

См. TESTING.md для настройки и инструкций по интеграционному тестированию.


MseeP.ai Security Assessment Badge