Об этом проекте

mcp-vmanomaly — это open-source реализация сервера Model Context Protocol (MCP), которая связывает ИИ-ассистентов (таких как Claude, Cursor, VS Code Copilot и другие) с VictoriaMetrics Anomaly Detection (vmanomaly). Он предоставляет набор инструментов, позволяющих ИИ-агентам взаимодействовать с работающим экземпляром vmanomaly через его REST API, охватывая мониторинг работоспособности, обнаружение и проверку моделей, генерацию YAML-конфигураций, создание правил VMAlert на основе метрик аномалий, профилирование временных рядов, общие задачи autotune и полнотекстовый поиск по документации с нечётким сопоставлением. Сервер поставляется со встроенной актуальной документацией vmanomaly, поэтому поиск по документации работает офлайн, без доступа к сети. Он поддерживает три режима транспорта: stdio (по умолчанию, для локального однопользовательского использования), Streamable HTTP (с доступом к /mcp) и устаревший SSE-транспорт (с доступом к /sse и /message). Конфигурация полностью задаётся через переменные окружения, включая URL конечной точки vmanomaly, bearer-токен (или файл токена для смонтированных секретов), пользовательские HTTP-заголовки, таймаут запросов, список разрешённых/запрещённых инструментов, переключатели ресурсов, интервал heartbeat, а также уровень и файл журнала. Сервер также предоставляет эндпоинты /metrics в формате Prometheus, /health/liveness и /health/readiness для операционного мониторинга. Варианты установки включают Go install, готовые бинарные файлы из GitHub Releases (с проверкой контрольных сумм и аттестацией происхождения сборки), Docker-образы из ghcr.io и сборку из исходников. Инструкции по настройке клиентов приведены для Cursor, Claude Desktop, Claude Code, Visual Studio Code, Zed, JetBrains IDE и Windsurf — для каждого приведены примеры JSON-конфигурации. Также включена клиентская конфигурация на основе Docker для сред, где запуск локального бинарного файла нецелесообразен. Руководство по безопасности обширно: сервер пересылает запросы с использованием общего для процесса bearer-токена и не реализует идентификацию пользователей или изоляцию тенантов. Документация рекомендует использовать stdio для локального однопользовательского доступа, аутентифицированные TLS-обратные прокси (такие как vmauth) для удалённого HTTP/SSE-доступа, учётные данные vmanomaly с минимальными привилегиями и применение списков разрешённых/запрещённых инструментов. В ней явно предупреждается о недопустимости размещения нескольких недоверенных доменов за одним статическим MCP-учётным данным и рекомендуется рассматривать одну логическую установку vmanomaly как один доверенный домен. Набор инструментов организован по категориям: Health & Info (4 инструмента), Model Configuration (4 инструмента), Configuration validation (1 инструмент), Documentation search (1 инструмент), Compatibility check (1 инструмент), Alerting rule creation (1 инструмент) и Analysis & Autotune (4 инструмента). Задачи autotune принимают параметры бюджета оптимизации (количество испытаний, таймаут, расширенные параметры Optuna) и возвращают рекомендации по готовым к продакшену конфигурациям моделей на основе выборки временных рядов. Сервер требует vmanomaly 1.28.3+ для основного набора инструментов, 1.30.0+ для характеристик временных рядов и общих задач autotune на основе задач, а также 1.30.5+ для общего autotune по именованным запросам и предложений политик запросов в VMUI. Для сборки из исходников требуется Go 1.24+.