使用说明

项目简介

Datadog MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在将 Datadog 的强大可观测性功能集成到 LLM 应用中。通过此服务器,LLM 可以安全、便捷地访问和操作 Datadog 的各项监控数据和告警功能,例如查询事件、监控状态、日志信息、仪表板概览、性能指标以及管理基础设施主机等。

主要功能点

  • 可观测性工具集成: 提供一系列工具,使 LLM 能够利用 Datadog 的核心监控功能,包括事件管理、监控器状态查询、日志检索、仪表板列表获取、指标数据查询、APM追踪检索以及主机管理。
  • Datadog API 访问: 通过 MCP 协议,LLM 可以调用预定义的工具,与 Datadog API 进行交互,获取实时的监控数据和执行操作。
  • 灵活扩展性: 设计上易于扩展,方便未来集成更多 Datadog API 功能,满足不断增长的可观测性需求。
  • 工具列表:
    • 'list_incidents': 检索 Datadog 事件列表。
    • 'get_incident': 获取指定 Datadog 事件的详细信息。
    • 'get_monitors': 查询 Datadog 监控器的状态。
    • 'get_logs': 搜索和检索 Datadog 日志。
    • 'list_dashboards': 获取 Datadog 仪表板列表。
    • 'get_metrics': 检索 Datadog 指标数据。
    • 'list_traces': 检索 Datadog APM 追踪列表。
    • 'list_hosts': 获取 Datadog 主机列表。
    • 'get_active_hosts_count': 获取 Datadog 活跃主机总数。
    • 'mute_host': 静音 Datadog 主机。
    • 'unmute_host': 取消静音 Datadog 主机。
    • 'list_downtimes': 列出 Datadog 的计划停机时间。
    • 'schedule_downtime': 在 Datadog 中安排停机时间。
    • 'cancel_downtime': 取消 Datadog 中计划的停机时间。

安装步骤

通过 Smithery 自动安装 (推荐)

如果您使用 Claude Desktop,可以通过 Smithery 自动安装 Datadog MCP Server。在终端中运行以下命令:

npx -y @smithery/cli install @winor30/mcp-server-datadog --client claude

手动安装

  1. 克隆仓库
    git clone https://github.com/winor30/mcp-server-datadog.git
    cd mcp-server-datadog
  2. 安装依赖
    pnpm install
  3. 构建项目
    pnpm build
  4. (可选) 启动开发模式: 如果您需要进行开发,可以使用以下命令启动开发模式,它会自动监听文件更改并重新构建项目:
    pnpm watch

服务器配置

要将 Datadog MCP Server 与 MCP 客户端(例如 Claude Desktop)连接,您需要在客户端的配置文件中添加 MCP 服务器的配置信息。以下是在 'claude_desktop_config.json' 文件中添加 Datadog MCP Server 配置的示例:

配置文件路径:

  • MacOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
  • Windows: '%APPDATA%/Claude/claude_desktop_config.json'

配置内容示例 (JSON 格式):

{
  "mcpServers": {
    "datadog": {  //  服务器名称,可以自定义,用于在客户端中标识和引用该服务器
      "command": "/path/to/mcp-server-datadog/build/index.js", //  MCP 服务器的启动命令,指向构建后的 index.js 文件路径。如果您使用 npx 安装,则可以设置为 "npx"
      "args": [], //  启动命令的参数,如果 command 设置为 "npx",则 args 可以设置为 ["-y", "@winor30/mcp-server-datadog"]
      "env": { //  环境变量配置
        "DATADOG_API_KEY": "<YOUR_API_KEY>",  //  您的 Datadog API 密钥,**必填**
        "DATADOG_APP_KEY": "<YOUR_APP_KEY>",  //  您的 Datadog 应用程序密钥,**必填**
        "DATADOG_SITE": "<YOUR_SITE>"  //  (可选) 您的 Datadog 站点,默认为 datadoghq.com,例如 datadoghq.eu。如果您的 Datadog 站点不是默认站点,请配置此项
      }
    }
  }
}

注意:

  • 请将 '<YOUR_API_KEY>' 和 '<YOUR_APP_KEY>' 替换为您的实际 Datadog API 密钥和应用程序密钥。
  • 如果您的 Datadog 站点不是默认的 'datadoghq.com',请配置 'DATADOG_SITE' 环境变量。
  • 如果您选择手动安装,请确保将 'command' 字段中的 '/path/to/mcp-server-datadog/build/index.js' 替换为 Datadog MCP Server 实际的构建输出路径。如果您使用 Smithery 或 'npx' 安装,可以将 'command' 设置为 '"npx"', 'args' 设置为 '["-y", "@winor30/mcp-server-datadog"]'。

基本使用方法

  1. 启动 MCP 服务器: 根据您的安装方式,启动 Datadog MCP Server。如果您使用手动安装,并使用 'pnpm build' 构建,则可以直接运行 'build/index.js' 文件。如果您使用 Smithery 或 'npx' 安装,Claude Desktop 会自动处理服务器的启动。

  2. 配置 MCP 客户端: 在您的 MCP 客户端(例如 Claude Desktop)中配置 Datadog MCP Server 的连接信息,如上述 服务器配置 章节所示。

  3. 在 LLM 应用中使用工具: 在您的 LLM 应用中,您可以指示 LLM 调用 Datadog MCP Server 提供的工具,例如:

    • "列出最近的 Datadog 事件" (对应 'list_incidents' 工具)
    • "获取 ID 为 '<incident_id>' 的事件详情" (对应 'get_incident' 工具,需要提供事件 ID)
    • "查询过去 24 小时内的 CPU 使用率指标" (对应 'get_metrics' 工具,需要提供指标查询语句和时间范围)
    • ... 等等。

    LLM 将根据您的指令,调用相应的工具,并将 Datadog 返回的数据作为上下文信息提供给您。

  4. 调试: 如果遇到问题,可以使用 MCP Inspector 进行调试,它可以帮助您查看 MCP 服务器的日志和手动发送请求。

信息

分类

开发者工具