mcpField
B
Betterdb Mcp

Betterdb Mcp

本地服务
github.com/BetterDB-inc数据与分析1.3k今天更新

关于 Betterdb Mcp

Betterdb Mcp 将 BetterDB 监控平台接入兼容 MCP 的客户端,为 Valkey 和 Redis 提供实时状态、历史指标及故障排查数据。适合需要在开发环境中调查数据库性能和 AI 缓存、追踪情况的团队;部分分析功能标记为 Pro。

主要功能

  1. 01查询健康状态、内存与复制指标
  2. 02分析慢命令、热键和延迟历史
  3. 03查看集群节点、槽位及统计
  4. 04检测异常并获取容量预测
  5. 05检查 AI 追踪并关联缓存状态
  6. 06提出缓存调整方案并审批应用

适用场景

  1. 01调查 Valkey 或 Redis 的慢命令
  2. 02定位热键及集群节点负载问题
  3. 03分析 AI 缓存命中率与追踪记录
  4. 04审核并应用缓存参数变更

MCP 相关

该 MCP 服务将 BetterDB 中的 Valkey 和 Redis 监控数据及操作工具提供给兼容客户端。客户端可查询指标、日志、集群与 AI 追踪,也可提交缓存变更提案并审批。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"monitor": {
"command": "npx",
"args": [
"-y",
"@betterdb/mcp"
],
"env": {
"BETTERDB_URL": "<BETTERDB_URL>",
"BETTERDB_TOKEN": "<BETTERDB_TOKEN>",
"BETTERDB_INSTANCE_ID": "<BETTERDB_INSTANCE_ID>"
}
}
}
}
启动命令npx -y @betterdb/mcp
需要配置的环境变量
BETTERDB_URLURL of the BetterDB monitor instance
BETTERDB_TOKEN密钥MCP authentication token generated from the BetterDB Settings page
BETTERDB_INSTANCE_IDInstance ID to target when using multi-instance cloud deployments

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@betterdb/mcp0.1.3

工具

60

收录的工具列表 · 更新于 3 周前

此工具无需参数。

详细介绍

@betterdb/mcp

npm version total downloads license: MIT types GitHub stars

让 AI 助手深入了解你的 Valkey 和 Redis 数据库。BetterDB MCP 服务将 Claude Code、Cursor、Windsurf 和其他兼容 MCP 的客户端连接到 BetterDB 监控平台,让你的 AI 无需离开编辑器即可查询实时指标、诊断慢速命令、检测异常并调查事故。

在 BetterDB Monitor 中查看实时数据

BetterDB Monitor 为 Valkey 上运行的 AI 工作负载提供实时仪表盘:

  • AI 缓存与记忆 - 查看所有缓存和记忆存储的命中率、节省的成本、驱逐次数和索引大小,并查看历史数据。
  • AI 跟踪 - 查看每个请求的 OpenTelemetry 瀑布图,并与实时 Valkey 状态关联,以解释每次缓存命中和未命中。

BetterDB Monitor 中的 AI 缓存与记忆选项卡

BetterDB Monitor 中的 AI 跟踪瀑布图

你可以自行托管运行(docker run -p 3001:3001 betterdb/monitor),也可以使用 BetterDB Cloud——只需单击一下,即可配置一个托管的、启用了 TLS 的 Valkey 实例(包含 Search 模块)。

为什么选择 BetterDB?

BetterDB 是一个专为 Valkey 和 Redis 打造的监控与可观测性平台,为 Valkey 和 Redis 部署提供实时仪表盘、异常检测和运维智能。与只显示实时快照的工具不同,BetterDB 会持久保存历史指标、慢日志和审计跟踪,因此你可以调查昨天发生的情况,而不仅仅是当前正在发生的情况。

通过 MCP 提供的主要功能:

  • 实时健康检查 — 内存碎片率、命中率、复制延迟和已连接客户端
  • 慢速命令分析 — 慢日志和 COMMANDLOG(Valkey 8+),并支持模式聚合
  • 热点键检测 — 通过 LFU 频率分数或空闲时间分析,查找导致缓存失效的键
  • 集群范围可见性 — 所有节点的单节点统计数据、聚合慢日志和槽级指标
  • 异常检测 — 对内存、CPU、命中率和其他指标进行 Z 分数分析 (Pro)
  • 客户端活动跟踪 — 跟踪连接数、命令分布和缓冲区使用情况随时间的变化
  • ACL 审计日志 — 调查身份验证失败和访问模式
  • 延迟事件历史记录 — 跟踪特定事件类型的延迟趋势

快速开始

1. 获取令牌

在 BetterDB 中,前往 设置 → MCP 令牌 并生成新令牌。

2. 配置 MCP 客户端

将以下内容添加到 MCP 客户端配置中(例如 Claude Code 或 OpenAI Codex):

{
  "mcpServers": {
    "betterdb": {
      "type": "stdio",
      "command": "npx",
      "args": ["@betterdb/mcp"],
      "env": {
        "BETTERDB_URL": "https://<your-workspace>.app.betterdb.com",
        "BETTERDB_TOKEN": "<your-token>"
      }
    }
  }
}

使用现有监控实例进行本地开发(无需令牌):

{
  "mcpServers": {
    "betterdb": {
      "type": "stdio",
      "command": "npx",
      "args": ["@betterdb/mcp"],
      "env": {
        "BETTERDB_URL": "http://localhost:3001"
      }
    }
  }
}

进行零配置本地开发(自动启动并管理监控进程):

{
  "mcpServers": {
    "betterdb": {
      "type": "stdio",
      "command": "npx",
      "args": ["@betterdb/mcp", "--autostart", "--persist"]
    }
  }
}
3. 开始提问

连接后,你的 AI 助手可以直接查询数据库:

  • “我的生产环境 Valkey 实例运行状况如何?”
  • “显示过去一小时最慢的命令”
  • “有没有导致负载不均的热点键?”
  • “哪个集群节点的内存使用率最高?”
  • “过去 24 小时内有没有出现异常?”
  • “调整我的 faq-cache 的阈值——提出一项更改供我审核”
  • “weather_lookup 工具的命中率为什么这么低?”

配置

环境变量
变量默认值描述
BETTERDB_URLhttp://localhost:3001BetterDB 实例 URL(端口取决于你的 Docker 配置)
BETTERDB_TOKEN—在 Settings → MCP Tokens 中获取的 MCP 令牌。云端必需。可自托管环境中可选:不提供时,读取工具可匿名使用;提供后,调用将以令牌所有者的身份执行(写入工具需要管理员的令牌),所做更改会在活动日志中记录为该所有者所为。令牌无法管理成员或其他令牌
BETTERDB_INSTANCE_ID—预先选择特定实例(跳过 select_instance)
CLI 参数
参数默认值描述
--autostart—启动时启动并管理本地 BetterDB 监控进程
--persist—MCP 服务退出后仍保持监控进程运行(需要 --autostart)
--port <number>3001自动启动的监控 API 端口
--storage <type>sqlite存储后端:sqlite 或 memory
--stop—停止之前持久运行的监控进程并退出

可用工具

实例工具
工具描述
list_instances列出所有已注册且包含连接状态的 Valkey/Redis 实例
select_instance选择后续调用所操作的实例
get_health综合健康状况摘要——任何问题排查的最佳起点
get_info完整的 INFO 统计信息,可按部分筛选
get_slowlog慢日志缓冲区中的近期慢命令
get_commandlog近期 COMMANDLOG 条目(Valkey 8+)
get_latency延迟事件历史记录
get_latency_history特定延迟事件的详细历史记录
get_memoryMEMORY DOCTOR 评估和 MEMORY STATS 明细
get_clients活跃客户端列表及连接详情
get_hot_keys来自 LFU 或空闲时间分析的热点键跟踪数据
get_slowlog_patterns汇总后的慢日志模式,包含频率和平均耗时
get_commandlog_history持久化的 COMMANDLOG 条目,可按时间范围筛选
get_commandlog_patterns汇总后的 COMMANDLOG 模式
get_anomalies异常检测事件 (Pro)
get_client_activity根据持久化快照按时间段统计的客户端活动
get_acl_auditACL 审计日志条目
get_cluster_nodes集群节点发现——角色、健康状况、槽位范围
get_cluster_node_stats集群中每个节点的性能统计信息
get_cluster_slowlog汇总所有集群节点的慢日志
get_slot_stats每个槽位的键数量和 CPU 使用率(Valkey 8+)
分析工具
工具描述
get_forecast指标(opsPerSec、usedMemory、cpuTotal、memFragmentation)的容量预测,并预估达到上限的时间
get_latency_regressions根据异常存储检测相对于基线持续出现的 p99 延迟退化 (Pro)
get_largest_keys根据键分析快照,按测得的内存使用量列出最大的键 (Pro)
向量搜索工具

适用于运行 Search 模块(valkey-search / RediSearch)的部署。

工具描述
get_vector_indexes每个索引的健康状况:文档数量、内存使用量、索引失败次数和已索引百分比
get_inference_latency每个向量索引的 FT.SEARCH p50/p95/p99 以及 SLA 违约状态(SLA 字段需要 Pro)
AI 可观测性工具

适用于 AI 组件(语义缓存、Agent 缓存、Agent 记忆存储、检索流水线)以及通过 OpenTelemetry 摄取的跟踪数据。

工具描述
ai_list_instances查看所有 AI 组件实例的综合发现视图,包含存活状态和最新指标样本
ai_instance_history单个 AI 组件实例的已存储指标时间序列(命中率、节省的成本、驱逐次数、阈值等)
list_ai_traces列出近期 AI 应用跟踪数据(大模型调用、缓存查询、记忆召回、检索跨度)
get_ai_trace单个跟踪的完整跨度瀑布图,包含耗时、父子关系和属性
correlate_ai_trace将跟踪中的缓存/记忆跨度与实时 Valkey 状态关联,以解释未命中或过时的召回
连接管理工具
工具描述
add_connection向 BetterDB 添加新的 Valkey/Redis 连接
test_connection测试连接凭据,但不保存
remove_connection从 BetterDB 移除连接
set_default_connection将某个连接设为当前默认连接
监控生命周期工具
工具描述
start_monitor启动持久运行的 BetterDB 后台监控进程
stop_monitor停止先前启动的持久监控进程
缓存智能工具

适用于运行 @betterdb/semantic-cache 或 @betterdb/agent-cache 的部署。缓存会在 Valkey 端的发现哈希中注册自身;Monitor 通过以下工具提供这些缓存的信息。

只读:

工具描述
cache_list列出当前实例注册的所有缓存,以及命中率和总操作数
cache_health查看单个缓存的详细健康状况;响应字段根据 cache_type(semantic_cache 或 agent_cache)区分
cache_threshold_recommendation根据滚动相似度窗口,为 semantic_cache 提供阈值调整建议
cache_tool_effectiveness提供 agent_cache 各工具的命中率、节省的成本和 TTL 建议
cache_similarity_distribution查看 semantic_cache 近期相似度分数的直方图(20 个分桶,宽度为 0.1)
cache_recent_changes查看单个缓存的近期提案(任何状态),以便 Agent 避免重复提案

提议更改(仅提供建议 — 批准前不会写入 Valkey):

工具描述
cache_propose_threshold_adjust提议更改 semantic_cache 的相似度阈值(按类别或全局)
cache_propose_tool_ttl_adjust提议更改 agent_cache 中某个工具的 TTL
cache_propose_invalidate提议执行失效操作;筛选条件结构根据缓存类型区分

批准/拒绝/列出:

工具描述
cache_list_pending_proposals列出当前实例的待处理提案,可按 cache_name 筛选
cache_get_proposal按 id 获取单个提案,包含其审计记录
cache_approve_proposal批准待处理提案;同步将更改应用到 Valkey
cache_reject_proposal拒绝待处理提案,可附带原因
cache_edit_and_approve_proposal编辑提案的值(阈值或 TTL)并一步批准;失效提案不可编辑

要求

  • Node.js 20+
  • 正在运行的 BetterDB 实例(云端或可自托管),也可使用 --autostart 让 MCP 服务自动管理实例

文档

完整文档:docs.betterdb.com

许可证

详情请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。