Datadog MCP服务器
免责声明:这是一个社区维护的项目,与Datadog,股份有限公司没有正式关联、认可或支持。此MCP服务器使用Datadog API,但作为 模型上下文协议 生态系统。
用于Datadog API的MCP服务器,实现事件管理等功能。
特性
- 观察性工具:提供了一种机制,通过MCP服务器利用关键的Datadog监控功能,如事件、监视器、日志、仪表板和指标。
- 可扩展设计:旨在轻松与其他Datadog API集成,实现无缝的未来功能扩展。
工具
list_incidents
- 从Datadog检索事件列表。 - 输入: - filter (可选字符串):过滤事件的参数(例如,状态、优先级)。 - pagination (可选对象):分页详细信息,如页面大小/偏移量。 - 退货:Datadog事件和相关元数据数组。
get_incident
- 检索有关特定Datadog事件的详细信息。 - 输入: - incident_id (string):要获取详细信息的事件ID。 - 退货:详细的事件信息(标题、状态、时间戳等)。
get_monitors
- 获取Datadog监视器的状态。 - 输入: - groupStates (可选数组):要过滤的状态(例如,alert、warn、no data、ok)。 - name (可选字符串):按名称筛选。 - tags (可选数组):按标签过滤。 - 退货:监控数据及其状态摘要。
get_logs
- 从Datadog搜索和检索日志。 - 输入: - query (string):Datadog日志查询字符串。 - from (number):开始时间,以纪元秒为单位。 - to (number):结束时间,以纪元秒为单位。 - limit (可选数字):要返回的最大日志数(默认为100)。 - 退货:匹配日志数组。
list_dashboards
- 从Datadog获取仪表板列表。 - 输入: - name (可选字符串):按名称筛选仪表板。 - tags (可选数组):按标签过滤仪表板。 - 退货:带有URL引用的仪表板数组。
get_dashboard
- 从Datadog检索特定的仪表板。 - 输入: - dashboard_id (string):要获取的仪表板的ID。 - 退货:仪表板详细信息,包括标题、小部件等。
query_metrics
- 从Datadog检索指标数据。 - 输入: - query (string):度量查询字符串。 - from (number):开始时间,以纪元秒为单位。 - to (number):结束时间,以纪元秒为单位。 - 退货:查询时间范围的度量数据。
list_traces
- 从Datadog检索APM跟踪列表。 - 输入: - query (string):Datadog APM跟踪查询字符串。 - from (number):开始时间,以纪元秒为单位。 - to (number):结束时间,以纪元秒为单位。 - limit (可选数字):要返回的最大跟踪数(默认为100)。 - sort (可选字符串):跟踪的排序顺序(默认为“-timestamp”)。 - service (可选字符串):按服务名称筛选。 - operation (可选字符串):按操作名称筛选。 - 退货:Datadog APM的匹配跟踪数组。
list_hosts
- 从Datadog获取主机列表。 - 输入: - filter (可选字符串):搜索结果的筛选字符串。 - sort_field (可选字符串):用于对主机进行排序的字段。 - sort_dir (可选字符串):排序方向(asc/desc)。 - start (可选数字):分页的起始偏移量。 - count (可选数字):要返回的最大主机数(最大值:1000)。 - from (可选编号):根据此UNIX时间戳搜索主机。 - include_muted_hosts_data (可选布尔值):包括静音主机状态和到期时间。 - include_hosts_metadata (可选布尔值):包括主机元数据(版本、平台等)。 - 退货:包含详细信息的主机数组,包括名称、ID、别名、应用程序、静音状态等。
get_active_hosts_count
- 获取Datadog中活动主机的总数。 - 输入: - from (可选数字):从中获取活动主机总数的秒数(默认为2小时)。 - 退货:活动主机和向上主机的总数。
mute_host
- 在Datadog中将主机静音。 - 输入: - hostname (string):要静音的主机的名称。 - message (可选字符串):与此主机静音相关的消息。 - end (可选数字):静音结束的POSIX时间戳。 - override (可选布尔值):如果为true并且主机已静音,则替换现有的结束时间。 - 退货:成功状态和确认消息。
unmute_host
- 在Datadog中取消主机静音。 - 输入: - hostname (string):要取消静音的主机的名称。 - 退货:成功状态和确认消息。
list_downtimes
- 列出Datadog的计划停机时间。 - 输入: - currentOnly (可选布尔值):当为true时,仅返回当前活动的停机时间。 - monitorId (可选编号):按监视器ID筛选。 - 退货:一系列计划停机时间,包括范围、监控信息和时间表等详细信息。
schedule_downtime
- 在Datadog中安排停机时间。 - 输入: - scope (string):应用停机时间的范围(例如“主机:我的主机”)。 - start (可选数字):停机时间开始的UNIX时间戳。 - end (可选数字):停机时间结束的UNIX时间戳。 - message (可选字符串):与停机时间一起包含的消息。 - timezone (可选字符串):停机时间的时区(例如“UTC”、“America/New_York”)。 - monitorId (可选编号):要静音的显示器的ID。 - monitorTags (可选数组):用于过滤的监视器标签列表。 - recurrence (可选对象):停机时间的重复设置。 - type (字符串):重复类型(“天”、“周”、“月”、“年”)。 - period (数字):重复的频率(必须>=1)。 - weekDays (可选数组):每周重复的天数。 - until (可选数字):重复结束时的UNIX时间戳。 - 退货:计划停机时间详细信息,包括ID和活动状态。
cancel_downtime
- 取消Datadog中的计划停机时间。 - 输入: - downtimeId (number):要取消的停机ID。 - 退货:确认取消停机时间。
get_rum_applications
- 获取组织中的所有RUM应用程序。 - 输入:没有。 - 退货:RUM应用程序列表。
get_rum_events
- 从Datadog搜索和检索RUM事件。 - 输入: - query (string):Datadog RUM查询字符串。 - from (number):开始时间,以纪元秒为单位。 - to (number):结束时间,以纪元秒为单位。 - limit (可选数字):要返回的最大事件数(默认值:100)。 - 退货:RUM事件数组。
get_rum_grouped_event_count
- 按指定维度搜索、分组和计数RUM事件。 - 输入: - query (可选字符串):RUM搜索的附加查询筛选器(默认值:“\*”)。 - from (number):开始时间,以纪元秒为单位。 - to (number):结束时间,以纪元秒为单位。 - groupBy (可选字符串):按维度对结果进行分组(默认值:“application.name”)。 - 退货:分组事件计数。
get_rum_page_performance
- 从RUM数据中获取页面(查看)性能指标。 - 输入: - query (可选字符串):RUM搜索的附加查询筛选器(默认值:“\*”)。 - from (number):开始时间,以纪元秒为单位。 - to (number):结束时间,以纪元秒为单位。 - metricNames (字符串数组):要检索的度量名称数组(例如,“view.load_time”、“view.first_contentful_paint”)。 - 退货:性能指标,包括每个指标的平均值、最小值、最大值和计数。
get_rum_page_waterfall
- 检索按应用程序名称和会话ID过滤的RUM页面(视图)瀑布图数据。 - 输入: - applicationName (string):用于筛选事件的应用程序名称。 - sessionId (string):用于筛选事件的会话ID。 - 退货:指定应用程序和会话的瀑布数据。
设置
Datadog凭据
您需要有效的Datadog API凭据才能使用此MCP服务器:
DATADOG_API_KEY:您的Datadog API密钥DATADOG_APP_KEY:您的Datadog应用程序密钥DATADOG_SITE(可选):Datadog网站(例如。datadoghq.eu)DATADOG_SUBDOMAIN(可选):Datadog子域(例如。.datadoghq.com)DATADOG_STORAGE_TIER(可选):用于v2日志搜索的日志存储层。支持的值:indexes,online-archives,或flex.
在运行服务器之前,将它们导出到您的环境中:
export DATADOG_API_KEY="your_api_key"
export DATADOG_APP_KEY="your_app_key"
export DATADOG_SITE="your_datadog_site" # Optional
export DATADOG_SUBDOMAIN="your_datadog_subdomain" # Optional
export DATADOG_STORAGE_TIER="flex" # Optional: indexes | online-archives | flex安装
通过Smithery安装
通过以下方式自动安装克劳德桌面版Datadog MCP服务器 史密瑟里:
npx -y @smithery/cli install @winor30/mcp-server-datadog --client claude手动安装
pnpm install
pnpm build
pnpm watch # for development with auto-rebuild使用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": ""
}
}
}
}{
"mcpServers": {
"datadog": {
"command": "/path/to/mcp-server-datadog/build/index.js",
"env": {
"DATADOG_API_KEY": "",
"DATADOG_APP_KEY": "",
"DATADOG_SITE": "", // Optional
"DATADOG_SUBDOMAIN": "", // Optional
"DATADOG_STORAGE_TIER": "indexes" // Optional: indexes | online-archives | flex
}
}
}
}或通过指定 npx:
{
"mcpServers": {
"mcp-server-datadog": {
"command": "npx",
"args": ["-y", "@winor30/mcp-server-datadog"],
"env": {
"DATADOG_API_KEY": "",
"DATADOG_APP_KEY": "",
"DATADOG_SITE": "", // Optional
"DATADOG_SUBDOMAIN": "", // Optional
"DATADOG_STORAGE_TIER": "indexes" // Optional: indexes | online-archives | flex
}
}
}
}调试
由于MCP服务器通过标准输入/输出进行通信,调试有时会很棘手。我们建议使用 MCP 检查员。您可以使用以下命令运行检查器:
npm run inspector检查器将提供一个URL,您可以在浏览器中打开该URL以查看日志并手动发送请求。
贡献
欢迎投稿!如果您有任何建议、错误报告或改进建议,请随时打开问题或拉取请求。
许可证
该项目根据 Apache许可证,版本2.0.
