BetterDB MCP
BetterDB Monitor
MCP-сервер BetterDB: агент читает метрики, медленные команды, горячие ключи и аномалии Valkey и Redis и разбирает инциденты по сохраненной истории
- 1 311 ★ репозитория
- Последний коммит
Широкий доступ
Почему такой уровень
- Инструменты `add_connection` и `test_connection` принимают данные для входа в базы, а `remove_connection` убирает подключения
- `cache_approve_proposal` сразу применяет изменение порога или времени жизни к боевому Valkey
- Журналы медленных команд и клиентов попадают в чат агента вместе с тем, что в них записано
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/betterdb-monitorОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Инструменты `add_connection` и `test_connection` принимают данные для входа в базы, а `remove_connection` убирает подключения
- `cache_approve_proposal` сразу применяет изменение порога или времени жизни к боевому Valkey
- Журналы медленных команд и клиентов попадают в чат агента вместе с тем, что в них записано
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Сервер `@betterdb/mcp` связывает агента с BetterDB Monitor, который хранит историю работы Valkey и Redis: журнал медленных команд, активность клиентов, задержки, события контроля доступа. Агент через инструменты `list_instances` и `select_instance` выбирает базу, а `get_health` дает сводку состояния: фрагментацию памяти, долю попаданий, отставание репликации, число клиентов. Дальше он смотрит `get_slowlog` и `get_commandlog`, горячие ключи через `get_hot_keys` и узлы кластера через `get_cluster_nodes`. В сервере 60 инструментов в нескольких группах. Аналитика строит прогноз, когда упрутся память, число операций в секунду или процессор. Группа для векторного поиска показывает здоровье индексов и задержки `FT.SEARCH`. Группа наблюдения за ИИ-приложениями выводит трассы OpenTelemetry и сопоставляет их с состоянием базы. Через инструменты подключений агент добавляет, проверяет и убирает подключения к базам. Отдельная группа работает с кэшами семантического поиска и агентов. Агент предлагает смену порога или времени жизни записей, но предложение остается советом, пока его не подтвердят через `cache_approve_proposal`.
Для кого. Для разработчиков и инженеров по эксплуатации, которые держат Valkey или Redis в продакшене и хотят разбирать медленные запросы и перекосы нагрузки прямо из Claude Code или Cursor.
Подходит, если
- Ночью выросли задержки, а журнал на самой базе уже перезаписан: история медленных команд хранится в мониторе
- В кластере один узел нагружен сильнее остальных, и нужно найти его и горячие ключи
- Хочется узнать, через сколько дней упрется память или процессор: для этого есть `get_forecast`
- Нужно разобрать отказы входа и обращения клиентов через журнал контроля доступа
- Семантический кэш ИИ-приложения часто промахивается, и надо понять почему, по трассам и распределению сходства
Не подходит, если
- Нужно читать и менять сами данные в ключах: для этого есть `redis-mcp-server`, он работает со строками, хешами, стримами и JSON
- База старее поддерживаемых версий: монитор рассчитан на Valkey 8.0 и выше и Redis 6 и выше
- Нельзя ни запустить монитор рядом, ни подключить облачный, потому что сервер без него ничего не покажет
- Нужны аномалии, регрессии задержки или самые большие ключи, а тариф Pro не включен
Пример запроса к агенту
Подключись к BetterDB и скажи, какие команды за последний час были самыми медленными и нет ли горячих ключей на нашем боевом ValkeyMCP
- Транспорт
- stdio
- Авторизация
- ключ необязателен
Переменные окружения
BETTERDB_URL- Адрес монитора, по умолчанию `http://localhost:3001`
BETTERDB_TOKENсекрет- Токен из Settings, MCP Tokens: обязателен в облаке, на своем сервере по желанию
BETTERDB_INSTANCE_ID- Заранее выбранная база, чтобы не вызывать `select_instance`
BETTERDB_TELEMETRY- Значение `false` отключает отправку записей о вызовах инструментов
Ограничения
- Сам сервер ничего не измеряет: ему нужен запущенный BetterDB Monitor, облачный или свой, либо флаг `--autostart`, при котором сервер поднимает монитор сам. Нужен Node.js 20 или новее.
- Часть инструментов относится к тарифу Pro: аномалии, регрессии задержки, самые большие ключи и поля нарушений SLA. Монитор в раннем доступе отдает часть таких возможностей бесплатно.
- На своем сервере без токена читающие инструменты работают анонимно, а для записи нужен токен администратора. В облаке токен обязателен. Токены не управляют участниками и другими токенами.
- Каждый вызов инструмента отправляет в монитор запись о названии инструмента, успехе, длительности и ошибке. Отключить ее можно переменной `BETTERDB_TELEMETRY=false`.
- Лицензия MIT у пакета `@betterdb/mcp`. В основном репозитории каталог `proprietary/` идет по отдельной лицензии, документация под CC BY-SA 4.0.
Как отключить. Удалите запись `betterdb` из настроек MCP клиента, а в Claude Code выполните `claude mcp remove betterdb`. Монитор, запущенный с `--persist`, продолжает работать: остановите его командой `npx @betterdb/mcp --stop` или контейнер командой `docker stop betterdb`.
Частые вопросы
Как подключить сервер к Claude Code и своему монитору?
Добавьте запись с командой `npx`, аргументом `@betterdb/mcp` и переменной `BETTERDB_URL`. Для облака адрес имеет вид `https://<ваше-пространство>.app.betterdb.com` и нужен токен из раздела Settings, MCP Tokens. На своем сервере токен не обязателен.
Что делает флаг `--autostart`?
Сервер сам запускает локальный монитор и управляет им. Флаг `--persist` оставляет монитор работать после выхода, `--port` меняет порт, `--storage` выбирает `sqlite` или `memory`, а `--stop` останавливает ранее запущенный монитор.
Что прогнозирует `get_forecast`?
Инструмент считает прогноз по четырем метрикам: `opsPerSec`, `usedMemory`, `cpuTotal` и `memFragmentation`. Результат включает расчетное время до достижения предела.
Может ли агент сам поменять настройки кэша?
Инструменты `cache_propose_*` только создают предложение и ничего не пишут в Valkey. Изменение применяется, когда его подтверждает `cache_approve_proposal`. Предложение можно отклонить или поправить значение при подтверждении через `cache_edit_and_approve_proposal`.
Поддерживается ли обычный Redis?
Да, Redis 6 и новее. Монитор определяет тип базы по ответу `INFO`. Инструменты `get_commandlog` и `get_slot_stats` работают только на Valkey 8 и новее.
Куда монитор складывает историю?
Хранилище выбирают при первом запуске мастером: SQLite, PostgreSQL или память. Настройки записываются в `~/.betterdb/config.json`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыОфициальный управляемый MCP-сервер Datadog: логи, метрики, трейсы и инциденты прямо в агенте
Веб-дашборд в одном Docker-контейнере для мониторинга и управления флотом MCP-серверов 1С: статус, прогресс индексации, VRAM и лицензии
MCP-сервер для Prometheus: агент выполняет PromQL-запросы, ищет метрики и проверяет цели сбора
Grafana MCP Server
Grafana MCP server
Официальный MCP-сервер Grafana: дашборды, запросы к Prometheus и Loki, алерты и инциденты прямо из агента
Самостоятельно размещаемый MCP-сервер для выполнения команд на удаленных серверах по SSH с токенами и ролями
Агент управляет серверами через каталог объявленных действий: политика решает, что выполнить, а что ждет человека
Коротко о README
Главная страница репозитория посвящена самому монитору: быстрый старт через Docker, Helm и `npx`, перечень возможностей, таблица интерфейсов (веб, MCP, Prometheus, REST), поддерживаемые базы и переменные окружения для промышленного запуска. Для MCP-сервера в `packages/mcp` лежит отдельная страница с настройкой клиентов, переменными, аргументами и таблицами всех инструментов по группам. В репозитории есть исходники монитора, тесты API, чарт Helm, документация и тест производительности.