返回市场
mcp服务器datadog

mcp服务器datadog

作者:winor30108 星标更新:2025-10-20

项目介绍

Datadog MCP 服务器

免责声明:这是一个由社区维护的项目,并未得到Datadog, Inc.的官方认可、支持或赞助。此MCP服务器使用Datadog API,但作为模型上下文协议生态系统的一部分独立开发。

NPM 版本构建与测试代码覆盖率smithery 徽章

用于Datadog API的MCP服务器,支持事件管理和更多功能。

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

功能

  • 可观测性工具:提供一种机制,通过MCP服务器利用Datadog监控的关键特性,如事件、监视器、日志、仪表板和指标。
  • 可扩展设计:设计易于集成到额外的Datadog API中,允许无缝地扩展未来功能。

工具

  1. list_incidents

    • 获取来自Datadog的事件列表。
    • 输入
      • filter(可选字符串):事件过滤参数(例如状态、优先级)。
      • pagination(可选对象):分页详情,如每页大小/偏移量。
    • 返回:Datadog事件数组及其相关元数据。
  2. get_incident

    • 获取特定Datadog事件的详细信息。
    • 输入
      • incident_id(字符串):要获取详细信息的事件ID。
    • 返回:详细的事件信息(标题、状态、时间戳等)。
  3. get_monitors

    • 获取Datadog监视器的状态。
    • 输入
      • groupStates(可选数组):用于过滤的状态(例如警报、警告、无数据、正常)。
      • name(可选字符串):按名称过滤。
      • tags(可选数组):按标签过滤。
    • 返回:监视器数据及其状态摘要。
  4. get_logs

    • 搜索并从Datadog检索日志。
    • 输入
      • query(字符串):Datadog日志查询字符串。
      • from(数字):开始时间(以纪元秒为单位)。
      • to(数字):结束时间(以纪元秒为单位)。
      • limit(可选数字):返回的最大日志数量(默认为100)。
    • 返回:匹配的日志数组。
  5. list_dashboards

    • 获取来自Datadog的仪表板列表。
    • 输入
      • name(可选字符串):按名称过滤仪表板。
      • tags(可选数组):按标签过滤仪表板。
    • 返回:带有URL引用的仪表板数组。
  6. get_dashboard

    • 从Datadog检索特定仪表板。
    • 输入
      • dashboard_id(字符串):要获取的仪表板ID。
    • 返回:包括标题、小部件等的仪表板详细信息。
  7. query_metrics

    • 从Datadog检索度量数据。
    • 输入
      • query(字符串):度量查询字符串。
      • from(数字):开始时间(以纪元秒为单位)。
      • to(数字):结束时间(以纪元秒为单位)。
    • 返回:查询时间段内的度量数据。
  8. list_traces

    • 获取来自Datadog的APM跟踪列表。
    • 输入
      • query(字符串):Datadog APM跟踪查询字符串。
      • from(数字):开始时间(以纪元秒为单位)。
      • to(数字):结束时间(以纪元秒为单位)。
      • limit(可选数字):返回的最大跟踪数(默认为100)。
      • sort(可选字符串):跟踪排序顺序(默认为'-timestamp')。
      • service(可选字符串):按服务名称过滤。
      • operation(可选字符串):按操作名称过滤。
    • 返回:来自Datadog APM的匹配跟踪数组。
  9. list_hosts

    • 获取来自Datadog的主机列表。
    • 输入
      • filter(可选字符串):搜索结果的过滤字符串。
      • sort_field(可选字符串):用于排序主机的字段。
      • sort_dir(可选字符串):排序方向(升序/降序)。
      • start(可选数字):分页的起始偏移量。
      • count(可选数字):要返回的最大主机数(最大值:1000)。
      • from(可选数字):从此UNIX时间戳搜索主机。
      • include_muted_hosts_data(可选布尔值):是否包含静音主机的状态和过期时间。
      • include_hosts_metadata(可选布尔值):是否包含主机元数据(版本、平台等)。
    • 返回:带有详细信息的主机数组,包括名称、ID、别名、应用、静音状态等。
  10. get_active_hosts_count

    • 获取Datadog中的活跃主机总数。
    • 输入
      • from(可选数字):从这个秒数开始获取活跃主机总数(默认为2小时)。
    • 返回:活跃且在线的主机总数。
  11. mute_host

    • 在Datadog中静音主机。
    • 输入
      • hostname(字符串):要静音的主机名称。
      • message(可选字符串):与该主机静音关联的消息。
      • end(可选数字):静音应结束的POSIX时间戳。
      • override(可选布尔值):如果为真且主机已静音,则替换现有结束时间。
    • 返回:成功状态和确认消息。
  12. unmute_host

    • 在Datadog中取消静音主机。
    • 输入
      • hostname(字符串):要取消静音的主机名称。
    • 返回:成功状态和确认消息。
  13. list_downtimes

    • 列出来自Datadog的计划停机时间。
    • 输入
      • currentOnly(可选布尔值):当为真时仅返回当前活跃的停机时间。
      • monitorId(可选数字):按监视器ID过滤。
    • 返回:带有详细信息的计划停机时间数组,包括范围、监视器信息和计划。
  14. schedule_downtime

    • 在Datadog中安排停机时间。
    • 输入
      • scope(字符串):停机时间适用的范围(例如'host:my-host')。
      • start(可选数字):停机时间的开始UNIX时间戳。
      • end(可选数字):停机时间的结束UNIX时间戳。
      • message(可选字符串):与停机时间一起包含的消息。
      • timezone(可选字符串):停机时间的时区(例如'UTC','America/New_York')。
      • monitorId(可选数字):要静音的监视器ID。
      • monitorTags(可选数组):用于过滤的监视器标签列表。
      • recurrence(可选对象):停机时间的重复设置。
        • type(字符串):重复类型('days','weeks','months','years')。
        • period(数字):重复频率(必须大于等于1)。
        • weekDays(可选数组):每周重复的星期几。
        • until(可选数字):重复结束的UNIX时间戳。
    • 返回:包括ID和活动状态的已安排停机时间详细信息。
  15. cancel_downtime

    • 取消Datadog中的已安排停机时间。
    • 输入
      • downtimeId(数字):要取消的停机时间ID。
    • 返回:停机时间取消的确认信息。
  16. get_rum_applications

    • 获取组织中的所有RUM应用程序。
    • 输入:无。
    • 返回:RUM应用程序列表。
  17. get_rum_events

    • 搜索并从Datadog检索RUM事件。
    • 输入
      • query(字符串):Datadog RUM查询字符串。
      • from(数字):开始时间(以纪元秒为单位)。
      • to(数字):结束时间(以纪元秒为单位)。
      • limit(可选数字):返回的最大事件数(默认为100)。
    • 返回:RUM事件数组。
  18. get_rum_grouped_event_count

    • 按指定维度搜索、分组并计数RUM事件。
    • 输入
      • query(可选字符串):RUM搜索的附加查询过滤器(默认为"*")。
      • from(数字):开始时间(以纪元秒为单位)。
      • to(数字):结束时间(以纪元秒为单位)。
      • groupBy(可选字符串):用于分组结果的维度(默认为"application.name")。
    • 返回:分组事件计数。
  19. get_rum_page_performance

    • 从RUM数据中获取页面(视图)性能指标。
    • 输入
      • query(可选字符串):RUM搜索的附加查询过滤器(默认为"*")。
      • from(数字):开始时间(以纪元秒为单位)。
      • to(数字):结束时间(以纪元秒为单位)。
      • metricNames(字符串数组):要检索的指标名称数组(例如'view.load_time','view.first_contentful_paint')。
    • 返回:每个指标的平均值、最小值、最大值和计数等性能指标。
  20. get_rum_page_waterfall

    • 检索按应用程序名称和会话ID过滤的RUM页面(视图)瀑布数据。
    • 输入
      • applicationName(字符串):用于过滤事件的应用程序名称。
      • sessionId(字符串):用于过滤事件的会话ID。
    • 返回:指定应用程序和会话的瀑布数据。

配置

Datadog 凭证

使用此MCP服务器需要有效的Datadog API凭证:

  • DATADOG_API_KEY:您的Datadog API密钥
  • DATADOG_APP_KEY:您的Datadog应用程序密钥
  • DATADOG_SITE(可选):Datadog站点(例如datadoghq.eu
  • DATADOG_SUBDOMAIN(可选):Datadog子域(例如<your-subdomain>.datadoghq.com

在运行服务器之前将其导出到环境变量中:

export DATADOG_API_KEY="your_api_key"
export DATADOG_APP_KEY="your_app_key"
export DATADOG_SITE="your_datadog_site" # 可选
export DATADOG_SUBDOMAIN="your_datadog_subdomain" # 可选

安装

通过Smithery安装

要通过Smithery自动安装Datadog MCP服务器:

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

手动安装

pnpm install
pnpm build
pnpm watch   # 开发模式,自动重建

使用Claude Desktop

要在Claude Desktop中使用此服务器,请在claude_desktop_config.json中添加以下内容:

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

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}
{
  "mcpServers": {
    "datadog": {
      "command": "/path/to/mcp-server-datadog/build/index.js",
      "env": {
        "DATADOG_API_KEY": "<YOUR_API_KEY>",
        "DATADOG_APP_KEY": "<YOUR_APP_KEY>",
        "DATADOG_SITE": "<YOUR_SITE>", // 可选
        "DATADOG_SUBDOMAIN": "<YOUR_SUBDOMAIN>" // 可选
      }
    }
  }
}

或者通过npx指定:

{
  "mcpServers": {
    "mcp-server-datadog": {
      "command": "npx",
      "args": ["-y", "@winor30/mcp-server-datadog"],
      "env": {
        "DATADOG_API_KEY": "<YOUR_API_KEY>",
        "DATADOG_APP_KEY": "<YOUR_APP_KEY>",
        "DATADOG_SITE": "<YOUR_SITE>", // 可选
        "DATADOG_SUBDOMAIN": "<YOUR_SUBDOMAIN>" // 可选
      }
    }
  }
}

调试

由于MCP服务器通过标准输入/输出进行通信,调试有时可能会比较棘手。我们推荐使用MCP Inspector。可以通过以下命令运行检查器:

npm run inspector

检查器将提供一个可以在浏览器中打开的URL,以便查看日志并手动发送请求。

贡献

欢迎贡献!如果您有任何建议、错误报告或改进意见,请随时打开问题或拉取请求。

许可证

本项目根据Apache License, Version 2.0许可。