mcpField
M
metricwatch

metricwatch

本地服务
github.com/CloudCorpRecords数据与分析02 周前更新

关于 metricwatch

metricwatch 是提供 Datadog 账户只读访问的命令行工具和 MCP 服务,涵盖指标、仪表板、日志、事件、监控器和停机时间,基于 Datadog 公共 API。

主要功能

  1. 01查询指标时间序列和元数据
  2. 02列出并查看仪表板
  3. 03搜索日志
  4. 04列出并查看事件
  5. 05列出监控器和停机时间

适用场景

  1. 01调查指标趋势
  2. 02查看仪表板组件
  3. 03搜索服务错误日志
  4. 04检查事件、监控器和停机时间

MCP 相关

通过 MCP 工具提供 Datadog 账户的只读查询。调用需要 `DATADOG_API_KEY` 和 `DATADOG_APP_KEY`。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-metricwatch": {
"command": "npx",
"args": [
"-y",
"@reneturcios/metricwatch"
]
}
}
}
启动命令npx -y @reneturcios/metricwatch

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

安装包
npm@reneturcios/metricwatch0.1.0
ocighcr.io/cloudcorprecords/metricwatch:0.1.0

工具

11

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

参数类型必填说明
tonumber是时间范围的结束时间,以 Unix epoch 秒级时间戳表示。
fromnumber是时间范围的开始时间,以 Unix epoch 秒级时间戳表示。
querystring是Datadog 指标查询表达式,例如对指标进行聚合,并可选地使用标签筛选。

详细介绍

metricwatch

metricwatch 为 MCP 客户端或终端提供对 Datadog 账号的只读访问能力:指标时间序列查询和指标元数据、仪表板、日志搜索、事件、监控器以及停机时间。它根据 Datadog 的公开 API 文档,以洁净室方式重新实现了 Datadog MCP 工具集,涵盖下方列出的只读核心功能。

每次调用都需要两个凭据,因为 Datadog API 要求同时提供两者:DATADOG_API_KEY 中的 API 密钥和 DATADOG_APP_KEY 中的应用密钥。它们会通过 DD-API-KEY 和 DD-APPLICATION-KEY 标头发送,且绝不会出现在输出中。设置 DATADOG_SITE(例如 datadoghq.eu)可指定其他 Datadog 站点;默认值为 datadoghq.com,调用将发送到 https://api.<site>。缺少任一密钥时,每次调用都会失败,并指出缺失的变量。

安装

npx @reneturcios/metricwatch list_metrics

或者运行容器镜像:

docker run -i -e DATADOG_API_KEY -e DATADOG_APP_KEY ghcr.io/cloudcorprecords/metricwatch

容器默认启动 MCP 服务(见下文)。传入 CLI 参数即可将其用作 CLI。

CLI

每个 MCP 工具也都是一个 CLI 子命令。工具参数以一个 JSON 对象的形式通过 --json 传入:

export DATADOG_API_KEY=<redacted>
export DATADOG_APP_KEY=<redacted>

metricwatch query_timeseries --json '{"from": 1700000000, "to": 1700003600, "query": "avg:system.cpu.user{*}"}'
metricwatch list_metrics --json '{"limit": 20}'
metricwatch get_dashboard --json '{"dashboard_id": "abc-123"}'
metricwatch search_logs --json '{"query": "service:web status:error", "limit": 25}'
metricwatch list_monitors
metricwatch get_monitor --json '{"monitor_id": 42}'

metricwatch --version

结果以 JSON 格式打印。退出代码:成功时为 0,API 调用失败(包括缺少密钥)时为 1,用法错误时为 2。

MCP 服务

一个可执行文件提供两种接口。mcp 子命令会启动 stdio MCP 服务:

npx -y @reneturcios/metricwatch mcp

MCP 客户端配置:

{
  "mcpServers": {
    "metricwatch": {
      "command": "npx",
      "args": ["-y", "@reneturcios/metricwatch", "mcp"],
      "env": {
        "DATADOG_API_KEY": "your Datadog API key",
        "DATADOG_APP_KEY": "your Datadog application key"
      }
    }
  }
}
工具
工具输入(粗体为必填项)功能
query_timeseriesfrom、to、query查询指标时间序列(v1 查询端点)。
list_metricsfrom、limit列出账号中的指标名称。
get_metric_metadatametric_name返回一个指标的类型、单位和描述。
list_dashboardslimit列出仪表板。
get_dashboarddashboard_id返回包含小组件的仪表板。
search_logsquery、from、to、limit搜索日志事件(v2 日志搜索)。
list_incidentslimit列出事件。
get_incidentincident_id返回一个事件。
list_monitorsname、limit列出监控器,可按名称筛选。
get_monitormonitor_id按整数 ID 返回一个监控器。
list_downtimescurrent_only列出停机时间(监控器静默时段)。

以下内容不在此只读核心的范围内:APM 跟踪/跨度详情、合成监控、RUM、笔记本、SLO 管理、事件写入、事件创建或修改以及值班功能——请参阅 BUILD-REPORT.md。

开发

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev     # run the CLI from source via tsx

许可证

MIT — 参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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