返回市场
数据狗MCP服务器

数据狗MCP服务器

作者:GeLi200159 星标更新:2025-04-23

项目介绍

Datadog MCP 服务器

一个用于与 Datadog API 交互的模型上下文协议(MCP)服务器。

<a href="https://glama.ai/mcp/servers/@GeLi2001/datadog-mcp-server"> <img width="380" height="200" src="https://gips0.baidu.com/it/u=4216884679,896712934&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Datadog MCP 服务器" /> </a>

功能

  • 监控: 访问监控数据和配置
  • 仪表盘: 获取并查看仪表盘定义
  • 指标: 查询可用指标及其元数据
  • 事件: 在时间段内搜索和检索事件
  • 日志: 使用高级过滤和排序选项搜索日志
  • 事件: 访问事件管理数据
  • API 集成: 直接集成到 Datadog 的 v1 和 v2 API
  • 全面错误处理: 对于 API 和认证问题提供清晰的错误消息
  • 服务特定端点: 支持不同端点的日志和指标

先决条件

  1. Node.js(版本 16 或更高)
  2. Datadog 账户,包括:
    • API 密钥 - 在组织设置 > API 密钥中找到
    • 应用密钥 - 在组织设置 > 应用密钥中找到

安装

通过 npm(推荐)

npm install -g datadog-mcp-server

从源码安装

  1. 克隆此仓库
  2. 安装依赖项:
    npm install
    
  3. 构建项目:
    npm run build
    

配置

您可以使用环境变量或命令行参数来配置 Datadog MCP 服务器。

环境变量

创建一个 .env 文件,其中包含您的 Datadog 凭证:

DD_API_KEY=your_api_key_here
DD_APP_KEY=your_app_key_here
DD_SITE=datadoghq.com
DD_LOGS_SITE=datadoghq.com
DD_METRICS_SITE=datadoghq.com

注意DD_LOGS_SITEDD_METRICS_SITE 是可选的,并且如果没有指定,将默认为 DD_SITE 的值。

命令行参数

基本用法,带有全局站点设置:

datadog-mcp-server --apiKey=your_api_key --appKey=your_app_key --site=datadoghq.eu

高级用法,带有服务特定端点:

datadog-mcp-server --apiKey=your_api_key --appKey=your_app_key --site=datadoghq.com --logsSite=logs.datadoghq.com --metricsSite=metrics.datadoghq.com

注意:站点参数不需要 https:// - 它会自动添加。

区域端点

不同的 Datadog 区域有不同的端点:

  • US(默认): datadoghq.com
  • EU: datadoghq.eu
  • US3(政府云): ddog-gov.com
  • US5: us5.datadoghq.com
  • AP1: ap1.datadoghq.com

与 Claude Desktop 一起使用

在您的 claude_desktop_config.json 中添加以下内容:

{
  "mcpServers": {
    "datadog": {
      "command": "npx",
      "args": [
        "datadog-mcp-server",
        "--apiKey",
        "<YOUR_API_KEY>",
        "--appKey",
        "<YOUR_APP_KEY>",
        "--site",
        "<YOUR_DD_SITE>(例如 us5.datadoghq.com)"
      ]
    }
  }
}

对于更高级的配置,带有单独的日志和指标端点:

{
  "mcpServers": {
    "datadog": {
      "command": "npx",
      "args": [
        "datadog-mcp-server",
        "--apiKey",
        "<YOUR_API_KEY>",
        "--appKey",
        "<YOUR_APP_KEY>",
        "--site",
        "<YOUR_DD_SITE>",
        "--logsSite",
        "<YOUR_LOGS_SITE>",
        "--metricsSite",
        "<YOUR_METRICS_SITE>"
      ]
    }
  }
}

Claude Desktop 配置文件的位置:

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

与 MCP Inspector 一起使用

要与 MCP Inspector 工具一起使用:

npx @modelcontextprotocol/inspector datadog-mcp-server --apiKey=your_api_key --appKey=your_app_key

提供的工具

该服务器提供了这些 MCP 工具:

  • get-monitors: 获取监控器,可选过滤
  • get-monitor: 根据 ID 获取特定监控器的详细信息
  • get-dashboards: 列出所有仪表盘
  • get-dashboard: 根据 ID 获取特定仪表盘
  • get-metrics: 列出可用指标
  • get-metric-metadata: 获取特定指标的元数据
  • get-events: 在时间范围内获取事件
  • get-incidents: 列出事件,可选过滤
  • search-logs: 使用高级查询过滤搜索日志
  • aggregate-logs: 对日志数据执行分析和聚合

示例

示例:获取监控器

{
  "method": "tools/call",
  "params": {
    "name": "get-monitors",
    "arguments": {
      "groupStates": ["alert", "warn"],
      "limit": 5
    }
  }
}

示例:获取仪表盘

{
  "method": "tools/call",
  "params": {
    "name": "get-dashboard",
    "arguments": {
      "dashboardId": "abc-def-123"
    }
  }
}

示例:搜索日志

{
  "method": "tools/call",
  "params": {
    "name": "search-logs",
    "arguments": {
      "filter": {
        "query": "service:web-app status:error",
        "from": "now-15m",
        "to": "now"
      },
      "sort": "-timestamp",
      "limit": 20
    }
  }
}

示例:聚合日志

{
  "method": "tools/call",
  "params": {
    "name": "aggregate-logs",
    "arguments": {
      "filter": {
        "query": "service:web-app",
        "from": "now-1h",
        "to": "now"
      },
      "compute": [
        {
          "aggregation": "count"
        }
      ],
      "groupBy": [
        {
          "facet": "status",
          "limit": 10,
          "sort": {
            "aggregation": "count",
            "order": "desc"
          }
        }
      ]
    }
  }
}

示例:获取事件

{
  "method": "tools/call",
  "params": {
    "name": "get-incidents",
    "arguments": {
      "includeArchived": false,
      "query": "state:active",
      "pageSize": 10
    }
  }
}

故障排除

如果您遇到 403 Forbidden 错误,请验证:

  1. 您的 API 密钥和应用密钥是否正确
  2. 密钥是否有访问请求资源所需的权限
  3. 您的账户是否有访问请求数据的权限
  4. 您是否使用了正确的区域端点(例如,EU 客户使用 datadoghq.eu

调试

如果遇到问题,请检查 Claude Desktop 的 MCP 日志:

# 在 macOS 上
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log

# 在 Windows 上
Get-Content -Path "$env:APPDATA\Claude\Logs\mcp*.log" -Tail 20 -Wait

常见问题:

  • 403 Forbidden: Datadog API 密钥的身份验证问题
  • API 密钥或应用密钥格式无效: 确保您使用的是完整的密钥字符串
  • 站点配置错误: 确保您使用的是正确的 Datadog 域名
  • 端点不匹配: 如果您使用的是单独的日志和指标域名,请确保服务特定端点正确设置

许可证

MIT