返回市场
dynatrace-mcp服务器

dynatrace-mcp服务器

作者:dynatrace-oss175 星标更新:2025-11-21

项目介绍

Dynatrace MCP 服务器

<h4 align="center"> <a href="https://github.com/dynatrace-oss/dynatrace-mcp/releases"> <img src="https://img.shields.io/github/release/dynatrace-oss/dynatrace-mcp" /> </a> <a href="https://github.com/dynatrace-oss/dynatrace-mcp/blob/main/LICENSE"> <img src="https://img.shields.io/badge/license-mit-blue.svg" alt="Dynatrace MCP Server 是在 MIT 许可证下发布的" /> </a> <a href="https://vscode.dev/redirect/mcp/install?name=dynatrace-mcp-server&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40dynatrace-oss%2Fdynatrace-mcp-server%22%5D%2C%22env%22%3A%7B%7D%7D"> <img src="https://img.shields.io/badge/安装在-VS_Code-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white" /> </a> <a href="https://cursor.com/en/install-mcp?name=dynatrace-mcp-server&config=eyJuYW1lIjoiZHluYXRyYWNlLW1jcC1zZXJ2ZXIiLCJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBkeW5hdHJhY2Utb3NzL2R5bmF0cmFjZS1tY3Atc2VydmVyIl0sImVudiI6e319"> <img src="https://img.shields.io/badge/安装在-Cursor-000000?style=flat-square&logoColor=white" /> </a> <a href="https://www.npmjs.com/package/@dynatrace-oss/dynatrace-mcp-server"> <img src="https://img.shields.io/npm/dm/@dynatrace-oss/dynatrace-mcp-server?logo=npm&style=flat&color=red" alt="npm" /> </a> <a href="https://github.com/dynatrace-oss/dynatrace-mcp"> <img src="https://img.shields.io/github/stars/dynatrace-oss/dynatrace-mcp" alt="Dynatrace MCP Server 在 GitHub 上的星数" /> </a> <a href="https://github.com/dynatrace-oss/dynatrace-mcp"> <img src="https://img.shields.io/github/contributors/dynatrace-oss/dynatrace-mcp?color=green" alt="Dynatrace MCP Server 在 GitHub 上的贡献者" /> </a> </h4>

本地的 Dynatrace MCP 服务器 允许 AI 助手与 Dynatrace 可观察性平台进行交互,将实时可观察性数据直接带入您的开发工作流程中。

注意:此产品未得到 Dynatrace 的正式支持。

如果您需要帮助,请通过 GitHub Issues 联系我们,如果您有功能请求、问题或需要帮助。

https://github.com/user-attachments/assets/25c05db1-8e09-4a7f-add2-ed486ffd4b5a

快速开始

您可以将此 MCP 服务器添加到如 VSCode、Claude、Cursor、Amazon Q、Windsurf、ChatGPT 或 Github Copilot 等 MCP 客户端中,使用命令 npx -y @dynatrace-oss/dynatrace-mcp-server(类型:stdio)。更多详情,请参阅下面的 配置部分

此外,您还需要配置指向 Dynatrace 环境的 URL:

  • DT_ENVIRONMENT(字符串,例如 https://abc12345.apps.dynatrace.com)- 您的 Dynatrace 平台的 URL(不要使用像 abc12345.live.dynatrace.com 这样的 Dynatrace 经典 URL)

完成上述步骤后,建议查看 示例提示,例如 获取实体 'my-service' 的所有详细信息显示错误日志。请注意,这些提示会导致执行 DQL 语句,可能会产生 成本,具体取决于您的许可。

架构

架构

使用场景

  • 实时可观测性 - 获取生产级别的数据以实现早期检测和主动监控
  • 上下文调试 - 使用来自监控异常、日志和异常的完整上下文来解决问题
  • 安全洞察 - 获取详细的漏洞分析和安全问题跟踪
  • 自然语言查询 - 使用 AI 驱动的 DQL 生成和解释
  • 多阶段事件调查 - 四阶段系统方法,带有自动影响评估
  • 高级事务分析 - 准确地识别根本原因,具有文件/行级精度
  • 跨数据源关联 - 将问题 → 范围 → 日志通过跟踪 ID 关联起来
  • DevOps 自动化 - 带有自动升级/回滚逻辑的部署健康门
  • 安全合规监控 - 多云合规评估,基于证据的调查

功能

  • 列出并获取服务中的 问题 详细信息(例如 Kubernetes)
  • 列出并获取安全问题 / 漏洞 详细信息
  • 执行 DQL(Dynatrace 查询语言)并检索日志、事件、跨度和指标
  • 发送 Slack 消息(通过 Slack 连接器)
  • 设置通知工作流(通过 Dynatrace 自动化引擎
  • 获取有关被监控实体的更多信息
  • 获取实体的所有权

成本

重要: 虽然此本地 MCP 服务器是免费提供的,但使用某些功能访问 Dynatrace Grail 中的数据可能会根据您的 Dynatrace 消费模型产生额外费用。这会影响 execute_dql 工具和其他查询 Dynatrace Grail 存储的功能,费用取决于扫描量(GB 扫描)。

在广泛使用此 MCP 服务器之前,请:

  1. 查看您当前的 Dynatrace 消费模型和定价
  2. 了解您计划查询的具体数据(日志、事件、指标)的成本影响 - 请参阅 Dynatrace 定价和费率表
  3. 从较小的时间段(例如 12 小时至 24 小时)开始,并利用 来减少成本影响
  4. 设置适当的 DT_GRAIL_QUERY_BUDGET_GB 环境变量(默认:1000 GB),以控制和监控您的 Grail 查询消耗

Grail 预算追踪:

MCP 服务器内置了 Grail 查询预算追踪功能,帮助您监控和控制成本:

  • 设置 DT_GRAIL_QUERY_BUDGET_GB(默认:1000 GB)以定义会话预算限制
  • 服务器会在当前会话中跟踪所有 Grail 查询的字节扫描量
  • 当接近预算的 80% 时,您会收到警告
  • 预算超支警报有助于防止意外的高消费
  • 当您重新启动 MCP 服务器会话时,预算会重置

要理解已发生的成本:

在笔记本中执行以下 DQL 语句,以查看从 Grail(日志、事件等)查询了多少字节:

fetch dt.system.events
| filter event.kind == "QUERY_EXECUTION_EVENT" and contains(client.client_context, "dynatrace-mcp")
| sort timestamp desc
| fields timestamp, query_id, query_string, scanned_bytes, table, bucket, user.id, user.email, client.client_context
| maketimeSeries sum(scanned_bytes), by: { user.email, user.id, table }

AI 驱动的辅助(预览)

  • 自然语言到 DQL - 将纯英文查询转换为 Dynatrace 查询语言
  • DQL 解释 - 获取复杂 DQL 查询的纯英文解释
  • AI 聊天助手 - 获取关于 Dynatrace 问题的上下文帮助和指导
  • 反馈系统 - 提供反馈以改进 AI 响应

注意: 虽然 Davis CoPilot AI 已经普遍可用(GA),但 Davis CoPilot API 目前处于预览阶段。更多信息,请访问 Davis CoPilot 预览社区

配置

您可以将此 MCP 服务器(使用 STDIO)添加到如 VS Code、Claude、Cursor、Amazon Q 开发者 CLI、Windsurf Github Copilot 等 MCP 客户端中,通过包 @dynatrace-oss/dynatrace-mcp-server

我们建议始终为当前工作区设置它,而不是全局使用。

VS Code

{
  "servers": {
    "npx-dynatrace-mcp-server": {
      "command": "npx",
      "cwd": "${workspaceFolder}",
      "args": ["-y", "@dynatrace-oss/dynatrace-mcp-server@latest"],
      "envFile": "${workspaceFolder}/.env"
    }
  }
}

请注意:在此配置中,使用了 ${workspaceFolder} 变量。只有当配置存储在当前工作空间中时,例如 <your-repo>/.vscode/mcp.json,才会生效。或者,也可以将其存储在用户设置中,您可以这样定义 env

{
  "servers": {
    "npx-dynatrace-mcp-server": {
      "command": "npx",
      "args": ["-y", "@dynatrace-oss/dynatrace-mcp-server@latest"],
      "env": {
        "DT_ENVIRONMENT": ""
      }
    }
  }
}

Claude Desktop

{
  "mcpServers": {
    "dynatrace-mcp-server": {
      "command": "npx",
      "args": ["-y", "@dynatrace-oss/dynatrace-mcp-server@latest"],
      "env": {
        "DT_ENVIRONMENT": ""
      }
    }
  }
}

Amazon Q 开发者 CLI

Amazon Q 开发者 CLI 提供了一个直接在终端中进行互动聊天体验的功能。您可以在不离开命令行环境的情况下提问、获得 AWS 服务的帮助、排查问题和生成代码片段。

{
  "mcpServers": {
    "dynatrace-mcp-server": {
      "command": "npx",
      "args": ["-y", "@dynatrace-oss/dynatrace-mcp-server@latest"],
      "env": {
        "DT_ENVIRONMENT": ""
      }
    }
  }
}

此配置应存储在 <your-repo>/.amazonq/mcp.json 中。

Amazon Kiro

Amazon Kiro 是一个代理 IDE,通过特性如规格、导航和钩子帮助您完成最佳工作。

{
  "mcpServers": {
    "dynatrace-mcp-server": {
      "command": "npx",
      "args": ["-y", "@dynatrace-oss/dynatrace-mcp-server@latest"],
      "env": {
        "DT_ENVIRONMENT": ""
      }
    }
  }
}

此配置应存储在 <your-repo>/.kiro/settings/mcp.json 中。

Google Gemini CLI

Google Gemini CLI 是 Google 官方的命令行 AI 助手,支持 MCP 服务器集成。您可以使用内置管理命令或手动配置添加 Dynatrace MCP 服务器。

直接使用 gemini CLI(推荐):

gemini extensions install https://github.com/dynatrace-oss/dynatrace-mcp
export DT_PLATFORM_TOKEN=... # 可选
export DT_ENVIRONMENT=https://...

并通过以下命令验证服务器是否正在运行:

gemini mcp list

或者手动在您的 ~/.gemini/settings.json.gemini/settings.json 中:

{
  "mcpServers": {
    "dynatrace": {
      "command": "npx",
      "args": ["@dynatrace-oss/dynatrace-mcp-server@latest"],
      "env": {
        "DT_ENVIRONMENT": ""
      },
      "timeout": 30000,
      "trust": false
    }
  }
}

HTTP 服务器模式(替代方案)

对于需要将 MCP 服务器作为 HTTP 服务运行而不是使用 stdio 的场景(例如状态会话、负载均衡或与 Web 客户端集成),可以使用 HTTP 服务器模式:

作为 HTTP 服务器运行:

# 获取帮助并查看所有可用选项
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --help

# 在默认端口 3000 上运行 HTTP 服务器
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --http

# 使用自定义端口(使用短或长标志)
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --server -p 8080
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --http --port 3001

# 使用自定义主机/IP(使用短或长标志)
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --http --host 127.0.0.1 # 推荐用于本地计算机
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --http --host 0.0.0.0 # 推荐用于容器
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --http -H 192.168.0.1 # 当在局域网中共享连接时推荐

# 检查版本
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --version

支持 HTTP 传输的 MCP 客户端配置:

{
  "mcpServers": {
    "dynatrace-http": {
      "url": "http://localhost:3000",
      "transport": "http"
    }
  }
}

规则文件

为了高效地从 Dynatrace 获取结果,请考虑创建一个规则文件(例如 .github/copilot-instructions.md.amazonq/rules/),指示编码代理如何为您的组件/应用/服务获取更多详细信息。这里是一个针对 easytrade 的示例,请根据您的用例和组件调整名称和过滤器:

# 可观测性

我们使用 Dynatrace 作为可观察性解决方案。本文档提供了如何使用 DQL 从 Dynatrace 获取 easytrade 数据的说明。

## 如何获取我的应用的任何数据

根据查询和使用的工具,可以应用以下过滤器以缩小结果范围:

* `contains(entity.name, "easytrade")`
* `contains(affected_entity.name, "easytrade")`
* `contains(container.name, "easytrade")`

为了获得最佳结果,您可以将这些过滤器与 `OR` 运算符组合使用。

## 日志

要获取 easytrade 的日志,请执行 `fetch logs | filter contains(container.name, "easyatrade")`。
要仅获取错误日志,请添加 `| filter loglevel == "ERROR"`。

环境变量

  • DT_ENVIRONMENT(必需,字符串,例如 https://abc12345.apps.dynatrace.com)- 您的 Dynatrace 平台的 URL(不要使用像 abc12345.live.dynatrace.com 这样的 Dynatrace 经典 URL)
  • DT_PLATFORM_TOKEN(可选,字符串,例如 dt0s16.SAMPLE.abcd1234)- Dynatrace 平台令牌
  • OAUTH_CLIENT_ID(可选,字符串,例如 dt0s02.SAMPLE)- 替代:Dynatrace OAuth 客户端 ID(适用于高级用例)
  • OAUTH_CLIENT_SECRET(可选,字符串,例如 dt0s02.SAMPLE.abcd1234)- 替代:Dynatrace OAuth 客户端密钥(适用于高级用例)
  • DT_GRAIL_QUERY_BUDGET_GB(可选,数字,默认:1000)- 每个会话中 Grail 查询字节扫描的 GB 预算限制(以 1000 为基础)。MCP 服务器会跟踪您的 Grail 使用情况,并在接近或超过此限制时发出警告。

仅提供 `DT_ENVIRONMENT