使用说明
Datadog MCP服务器
用于Datadog API的MCP服务器,实现事件管理等功能。分叉自https://github.com/winor30/mcp-server-datadog
特性
- 观察性工具:提供了一种机制,通过MCP服务器利用关键的Datadog监控功能,如事件、监视器、日志、仪表板和指标。
- 可扩展设计:旨在轻松与其他Datadog API集成,实现无缝的未来功能扩展。
工具
-
list_incidents- 从Datadog检索事件列表。
- 输入:
pageSize(可选数字):每页返回的最大事件数。pageOffset(可选数字):分页偏移量。
- 退货:Datadog事件和相关元数据数组。
-
get_incident- 检索有关特定Datadog事件的详细信息。
- 输入:
incidentId(string):要获取详细信息的事件ID。
- 退货:详细的事件信息(标题、状态、时间戳等)。
-
get_monitors- 获取Datadog监视器的状态。
- 输入:
groupStates(可选数组):要过滤的状态(例如,alert、warn、no data、ok)。name(可选字符串):按名称筛选。tags(可选数组):按标签过滤。
- 退货:监控数据及其状态摘要。
-
get_logs- 从Datadog搜索和检索日志。
- 输入:
query(可选字符串):Datadog日志查询字符串。from(number):开始时间,以纪元秒为单位。to(number):结束时间,以纪元秒为单位。limit(可选数字):要返回的最大日志数(默认为100)。
- 退货:匹配日志数组。
-
list_dashboards- 从Datadog获取仪表板列表。
- 输入:
name(可选字符串):按名称筛选仪表板。tags(可选数组):按标签过滤仪表板。
- 退货:带有URL引用的仪表板数组。
-
get_dashboard- 从Datadog检索特定的仪表板。
- 输入:
dashboardId(string):要获取的仪表板的ID。
- 退货:仪表板详细信息,包括标题、小部件等。
-
create_dashboard- 在Datadog中创建一个新的仪表板。
- 输入:
title(string):仪表板的标题。description(可选字符串):仪表板的描述。layoutType(可选字符串):布局类型(“有序”或“自由”,默认为“有序”)。widgets(可选数组):要添加到仪表板的小部件。tags(可选数组):与仪表板关联的标签列表。
- 退货:创建的仪表板的详细信息,包括ID和URL。
-
query_metrics- 从Datadog检索指标数据。
- 输入:
query(string):度量查询字符串(例如,“avg:system.cpu.user{*}”)。from(number):开始时间,以纪元秒为单位。to(number):结束时间,以纪元秒为单位。
- 退货:查询时间范围的度量数据。
-
get_metric_metadata- 从Datadog获取特定指标的元数据。
- 输入:
metricName(string):要获取元数据的度量的名称。
- 退货:指定度量的元数据信息。
-
get_active_metrics- 通过按主机、标签和搜索查询进行可选筛选,获取活动指标列表。
- 输入:
query(string):搜索查询字符串以查找指标。from(可选数字):开始查询的Unix时间戳(默认值:24小时前)。host(可选字符串):按主机筛选指标。tagFilter(可选字符串):按标签过滤指标(例如“env:prod,region:us-east”)。
- 退货:与搜索查询匹配的指标列表和/或基于过滤器的活动指标。
-
analyze_tag_relationships- 显示跨度量的标签之间的层次关系。
- 输入:
from(可选数字):开始分析标签的Unix时间戳(默认值:现在-1天)。limit(可选数字):要分析的最大标记关系数(默认值:50)。metricPrefix(可选字符串):用于过滤指标的可选前缀(例如,“system.”或“aws.”)。
- 退货:标签关系分析,显示标签的层次关系。
-
analyze_tag_cardinality- 识别可能导致性能问题的高基数标签。
- 输入:
from(可选数字):开始分析标签的Unix时间戳(默认值:现在-1天)。limit(可选数字):要分析的最大标记数(默认值:50)。metricPrefix(可选字符串):用于过滤指标的可选前缀(例如,“system.”或“aws.”)。minCardinality(可选数字):要报告的最小基数阈值(默认值:10)。
- 退货:分析可能影响性能的高基数标签。
-
visualize_tag_co_occurrence- 可视化特定指标中经常出现的标签。
- 输入:
metricName(string):要分析标签的度量的名称。from(可选数字):开始分析标签的Unix时间戳(默认值:现在-1天)。limit(可选数字):要分析的最大标记对数(默认值:20)。
- 退货:指定度量的标签共现模式的可视化。
-
search_events- 在Datadog中搜索事件。
- 输入:
query(string):数据狗事件查询字符串。from(可选字符串):开始时间为字符串-纪元秒或相对时间(例如“now-40m”)(默认值:“now-24h”)。to(可选字符串):结束时间为字符串-纪元秒或相对时间(例如“现在”)(默认值:“现在”。limit(可选数字):要返回的最大事件数(默认值:100)。sort(可选字符串):事件的排序顺序(默认值:“-timestamp”)。
- 退货:Datadog中的匹配事件数组。
-
list_traces- 从Datadog检索APM跟踪列表。
- 输入:
query(string):Datadog APM跟踪查询字符串。from(number):开始时间,以纪元秒为单位。to(number):结束时间,以纪元秒为单位。limit(可选数字):要返回的最大跟踪数(默认为100)。sort(可选字符串):跟踪的排序顺序(默认为“-timestamp”)。service(可选字符串):按服务名称筛选。operation(可选字符串):按操作名称筛选。
- 退货:Datadog APM的匹配跟踪数组。
-
list_apm_services- 从Datadog获取APM服务列表。
- 输入:
limit(可选数字):要返回的最大服务数(默认为100)。
- 退货:可用APM服务列表。
-
list_apm_resources- 从Datadog获取特定服务的APM资源列表。
- 输入:
service(string):用于筛选资源的服务名称。entry_spans_only(可选布尔值):筛选以仅显示服务条目跨度。limit(可选数字):要返回的最大资源数(默认为100)。search_query(可选字符串):搜索查询以按筛选资源名称。
- 退货:指定服务的资源列表。
-
list_apm_operations- 从Datadog获取特定服务的顶级操作名称列表。
- 输入:
service(string):用于筛选操作的服务名称。entry_spans_only(可选布尔值):筛选以仅显示服务条目跨度。limit(可选数字):要返回的最大操作数(默认为100)。
- 退货:指定服务的操作名称列表。
-
get_resource_hash- 获取服务中特定资源名称的资源哈希值。
- 输入:
service(string):资源所属的服务名称。resource_name(string):获取哈希值的资源名称。
- 退货:资源哈希信息。
-
get_all_services- 从日志中提取所有唯一的服务名称。
- 输入:
from(可选数字):开始时间,以纪元秒为单位(默认为24小时前)。to(可选数字):结束时间,以纪元秒为单位(默认为当前时间)。limit(可选数字):要搜索的最大日志数(默认为1000)。query(可选字符串):日志搜索的可选查询筛选器。
- 退货:日志中找到的唯一服务名称列表。
-
list_hosts- 从Datadog获取主机列表。
- 输入:
filter(可选字符串):搜索结果的筛选字符串。sort_field(可选字符串):用于对主机进行排序的字段。sort_dir(可选字符串):排序方向(asc/desc)。start(可选数字):分页的起始偏移量。count(可选数字):要返回的最大主机数(最大值:1000)。from(可选编号):根据此UNIX时间戳搜索主机。include_muted_hosts_data(可选布尔值):包括静音主机状态和到期时间。include_hosts_metadata(可选布尔值):包括主机元数据(版本、平台等)。
- 退货:包含详细信息的主机数组。
-
get_active_hosts_count- 获取Datadog中活动主机的总数。
- 输入:
from(可选数字):从中获取活动主机总数的秒数(默认为2小时)。
- 退货:活动主机和向上主机的总数。
-
mute_host- 在Datadog中将主机静音。
- 输入:
hostname(string):要静音的主机的名称。message(可选字符串):与此主机静音相关的消息。end(可选数字):静音结束的POSIX时间戳。override(可选布尔值):如果为true并且主机已静音,则替换现有的结束时间。
- 退货:成功状态和确认消息。
-
unmute_host- 在Datadog中取消主机静音。
- 输入:
hostname(string):要取消静音的主机的名称。
- 退货:成功状态和确认消息。
-
list_notebooks- 从Datadog获取笔记本列表。
- 输入:
query(可选字符串):仅返回笔记本名称或作者句柄中包含此查询字符串的笔记本。authorHandle(可选字符串):返回由给定作者句柄创建的笔记本。excludeAuthorHandle(可选字符串):返回不是由给定作者句柄创建的笔记本。start(可选数字):要返回的第一个笔记本的索引。count(可选编号):要退回的笔记本数量。sortField(可选字符串):按字段排序(修改、名称、创建)。sortDir(可选字符串):排序方向(asc、desc)。type(可选字符串):仅返回具有该元数据类型的笔记本。isTemplate(可选布尔值):True值仅返回模板笔记本。includeCells(可选布尔值):false的值不包括每个笔记本的单元格和全局时间。
- 退货:符合指定条件的笔记本列表。
-
get_notebook- 从Datadog获取一个笔记本。
- 输入:
notebookId(number):要检索的笔记本的唯一ID。
- 退货:所请求笔记本的详细信息,包括单元格和元数据。
-
create_notebook- 在Datadog中创建一个新笔记本。
- 输入:
name(string):笔记本的名称。cells(可选数组):要包含在笔记本中的单元格。time(可选字符串):笔记本的时间设置(默认为“1h”)。metadata(可选对象):笔记本的其他元数据。
- 退货:创建的笔记本的详细信息。
-
add_cell_to_notebook- 将单元格添加到现有的Datadog笔记本中。
- 输入:
notebookId(number):要添加单元格的笔记本的ID。cell(object):要添加的单元格定义。
- 退货:更新了笔记本信息。
-
list_downtimes- 列出Datadog的计划停机时间。
- 输入:
currentOnly(可选布尔值):当为true时,仅返回当前活动的停机时间。
- 退货:一系列详细的计划停机时间。
-
schedule_downtime- 在Datadog中安排停机时间。
- 输入:
scope(string):应用停机时间的范围(例如“主机:我的主机”)。start(可选数字):停机时间开始的UNIX时间戳。end(可选数字):停机时间结束的UNIX时间戳。message(可选字符串):与停机时间一起包含的消息。timezone(可选字符串):停机时间的时区。monitorId(可选编号):要静音的显示器的ID。monitorTags(可选数组):用于过滤的监视器标签列表。recurrence(可选对象):停机时间的重复设置。
- 退货:计划停机时间详细信息,包括ID和活动状态。
-
cancel_downtime- 取消Datadog中的计划停机时间。
- 输入:
downtimeId(number):要取消的停机ID。
- 退货:确认取消停机时间。
设置
Datadog凭据
您需要有效的Datadog API凭据才能使用此MCP服务器:
DATADOG_API_KEY:您的Datadog API密钥DATADOG_APP_KEY:您的Datadog应用程序密钥DATADOG_SITE(可选):Datadog网站(例如。datadoghq.eu)
在运行服务器之前,将它们导出到您的环境中:
export DATADOG_API_KEY="your_api_key"
export DATADOG_APP_KEY="your_app_key"
export DATADOG_SITE="your_datadog_site"
安装
通过Smithery安装
通过以下方式自动安装克劳德桌面版Datadog MCP服务器 铁匠铺:
npx -y @smithery/cli install @ndevvy/mcp-server-datadog --client claude
手动安装
pnpm install
pnpm build
pnpm watch # for development with auto-rebuild
用法
添加到您的 claude_desktop_config.json 或 .cursor/mcp.json:
{
"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>" // Optional
}
}
}
}
调试
由于MCP服务器通过标准输入/输出进行通信,调试有时会很棘手。我们建议使用 MCP检查员。您可以使用以下命令运行检查器:
npm run inspector
检查器将提供一个URL,您可以在浏览器中打开该URL以查看日志并手动发送请求。
许可证
该项目根据 Apache许可证,版本2.0.