Dynatrace MCP 服务器
被否决
这个寄存器被贬值. 2.1.2版是最后发行的版本——将不作进一步更新.
请迁移到积极维护的备选方案之一:
| 使用大小写 | 建议的工具 |
|---|---|
| 地方发展 (VS代码, IntelliJ, Claude代码, Cursor,.) | Dynatrace for-AI (英语) + 键 dtctl |
| 代理对代理 / 远程 (阿特拉斯西安·罗沃,GitHub编码代理 | Dynatrace 远程 MCP 服务器 ——不需要本地设置 |
见 移徙指南 逐步比较和移民指示.
当地 Dynatrace MCP 服务器 允许 AI 助手与 色调 观察平台, 将实时可观测数据直接带入您的开发工作流程.
说明: 这个产品并没有得到Dynatrace的官方支持.
如果你需要帮助,请联系我们 GitHub 问题 如果您有特性请求、问题或需要帮助.
先决条件
- 节点.js v24 或更新 需要运行 Dynatrace MCP 服务器.
快速启动
您可以在您的 MCP 客户端中添加此 MCP 服务器, 如 VSCode, Claude, Cursor, Amazon Q, Windsurf, ChatGPT, 或通过命令的 Github Copilot 是 npx -y @dynatrace-oss/dynatrace-mcp-server (类型 : stdio) (中文(简体) ). 详细情况请参见 下面的配置部分。 。 。 .
此外,您需要将 URL 配置到 Dynatrace 环境 :
DT_ENVIRONMENT(弦,如:,https://abc12345.apps.dynatrace.com) - URL 到您的 Dynatrace 平台( 不使用 Dynatrace 等经典 URL)abc12345.live.dynatrace.com(中文(简体) )
认证将在浏览器中通过授权代码流程处理, 您不需要定义一个 Platface Token 或 OAuth 客户端即可启动 。 初始认证后, 您的令牌将安全保存在 OS 键链 (macOS keychain,Windows Creditential Manager,或Linux Secret Service) 并在随后的服务器上被再用,因此浏览器每个符号寿命只打开一次.
如果您运行在一个没有OS键链的无头/ 容器环境中, 请设定 DT_MCP_TOKEN_STORAGE=file 以表示 ~/.config/dynatrace-mcp/ 换句话说.
一旦你完成 我们建议调查 示例提示一样 Get all details of the entity 'my-service' 或者说 Show me error logs。请注意,这些提示可能导致执行 DQL 报表,从而可能导致 费用 根据您的执照.
虚拟系统
{
"servers": {
"npx-dynatrace-mcp-server": {
"command": "npx",
"args": ["-y", "@dynatrace-oss/dynatrace-mcp-server@latest"],
"env": {
"DT_ENVIRONMENT": "https://abc12345.apps.dynatrace.com"
}
}
}
}
建筑

使用大小写
- 实时观察 - 获取生产一级数据,以进行早期检测和主动监测
- 背景调试 - 从受监测的例外情况、记录和异常情况中充分处理问题
- 安全见解 - 进行详细的弱点分析和追踪安全问题
- 自然语言查询 - 使用AI驱动的DQL生成和解释
- 多阶段事件调查 - 系统化的四阶段办法,自动进行影响评估
- 高级交易分析 - 精确的根因子识别,文件/行级准确性
- 跨数据源关联 - 连接问题 · 跨度 · 有痕量识别关联的日志
- DevOps 自动化 - 安装自动升级/回滚逻辑的卫生门
- 安全遵守情况监测 - 对循证调查进行多云遵守情况评估
能力
- 可观察性和问题管理(例如,
list_problems, (中文(简体) ),list_vulnerabilities, (中文(简体) ),list_exceptions, (中文(简体) ),get_kubernetes_events(中文(简体) ) - 来自圣杯的查询数据(例如,
execute_dql, (中文(简体) ),verify_dql, (中文(简体) ),generate_dql_from_natural_language, (中文(简体) ),explain_dql_in_natural_language(中文(简体) ) - 实体发现(例如,
find_entity_by_name(中文(简体) ) - Dynatrace 情报 (例如,
chat_with_davis_copilot, (中文(简体) ),list_davis_analyzers, (中文(简体) ),execute_davis_analyzer(中文(简体) ) - 自动化和通知(例如,
send_slack_message, (中文(简体) ),send_email, (中文(简体) ),send_event(中文(简体) ) - 共享成果(例如,
create_dynatrace_notebook(中文(简体) )
费用
重要内容: 虽然这个本地的MCP服务器是免费提供的,但利用某些能力访问Dynatrace Grail的数据可能会产生额外的费用
在你的Dynathrace消费模式。 这影响 execute_dql 工具和其他能力 查询 Dynatrace 圣杯储存和费用
取决于体积(GB扫描).
在广泛使用此 MCP 服务器之前, 请 :
- 检查您的当前 Dynatrace 消费模式和定价
- 了解您计划查询的具体数据的成本影响(日志、事件、衡量标准)-参见 Dynatrace 定价和收费卡
- 以较小的时间框架(例如12h-24h)起步,并利用 桶头 减少成本影响
- 设置一个合适的
DT_GRAIL_QUERY_BUDGET_GB控制并监视您圣杯查询消耗的环境变量( 默认值: 1000 GB)
圣杯预算跟踪:
MCP 服务器包括用于 Grail 查询的内置预算跟踪, 帮助您监测和控制成本 :
- 设定
DT_GRAIL_QUERY_BUDGET_GB(默认: 1000 GB) 以定义您的会话预算限制 - 服务器跟踪字节扫描到当前会话中的所有圣杯查询
- 接近预算80%时会收到警告
- 预算超过警戒,有助于防止意外高消费量
- 当您重新启动 MCP 服务器会话时, 预算重排
了解所发生的费用:
在笔记本中执行以下 DQL 语句, 查看圣杯( 日志、 事件等) 询问了多少字节 :
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 }
大赦国际授权的援助
- 自然语言到 DQL - 将纯英语查询转换为 Dynatrace 查询语言
- DQL 解释 - 对复杂的DQL查询获得简单的英文解释
- AI聊天助理 - 为Dynatrace问题获得相关帮助和指导
配置
您可以通过软件包将这个 MCP 服务器( 使用 STDIO) 添加到您的 MCP 客户端中, 例如 VS 代码, Claude, Cursor, Amazon Q 开发者 CLI, Windsurf Github Copilot @dynatrace-oss/dynatrace-mcp-server。 。 。 .
我们建议永远为您现在的工作空间 而不是在全球使用它.
VS 代码
{
"servers": {
"npx-dynatrace-mcp-server": {
"command": "npx",
"args": ["-y", "@dynatrace-oss/dynatrace-mcp-server@latest"],
"env": {
"DT_ENVIRONMENT": "https://abc12345.apps.dynatrace.com"
}
}
}
}
克劳德桌面
{
"mcpServers": {
"dynatrace-mcp-server": {
"command": "npx",
"args": ["-y", "@dynatrace-oss/dynatrace-mcp-server@latest"],
"env": {
"DT_ENVIRONMENT": "https://abc12345.apps.dynatrace.com"
}
}
}
}
亚马逊 Q 开发者 CLI
这个 亚马逊 Q 开发者 CLI 在您的终端直接提供交互聊天体验。 您可以询问问题,获得AWS服务的帮助,故障排除问题,并生成代码片段,而不离开命令行环境.
{
"mcpServers": {
"dynatrace-mcp-server": {
"command": "npx",
"args": ["-y", "@dynatrace-oss/dynatrace-mcp-server@latest"],
"env": {
"DT_ENVIRONMENT": "https://abc12345.apps.dynatrace.com"
}
}
}
}
此配置应存储于 <your-repo>/.amazonq/mcp.json。 。 。 .
亚马逊基罗
这个 亚马逊基罗 是一种代理式的IDE,它帮助您用像规格,方向盘,和钩子这样的特性来完成你最好的工作.
{
"mcpServers": {
"dynatrace-mcp-server": {
"command": "npx",
"args": ["-y", "@dynatrace-oss/dynatrace-mcp-server@latest"],
"env": {
"DT_ENVIRONMENT": "https://abc12345.apps.dynatrace.com"
}
}
}
}
此配置应存储于 <your-repo>/.kiro/settings/mcp.json。 。 。 .
谷歌双子座CLI
这个 谷歌双子座CLI 是Google支持MCP服务器集成的官方命令行AI助手. 您可以使用内置管理命令或手动配置添加 Dynatrace MCP 服务器 .
使用 gemini 直接CLI(建议):
gemini extensions install https://github.com/dynatrace-oss/dynatrace-mcp
export DT_PLATFORM_TOKEN=... # optional
命令将询问 Dynatrace 环境值 .
验证服务器是否正在通过
gemini mcp list
或手动在你的 ~/.gemini/settings.json 或者说 .gemini/settings.json数字 :
{
"mcpServers": {
"dynatrace": {
"command": "npx",
"args": ["@dynatrace-oss/dynatrace-mcp-server@latest"],
"env": {
"DT_ENVIRONMENT": "https://abc12345.apps.dynatrace.com"
},
"timeout": 30000,
"trust": false
}
}
}
HTTP 服务器模式( 替代)
建议: 而不是自我接待与
--http编号 :--server,考虑使用官方 Dynatrace 远程 MCP 服务器 它更加安全,始终是最新的,不需要基础设施管理.
对于需要将MCP服务器运行为HTTP服务而非使用stdio的情景(例如用于状态会话,加载平衡,或与网络客户端整合),您可以使用HTTP服务器模式:
作为 HTTP 服务器运行 :
请用无记名符号保护您的服务器 :
export MCP_BEARER_TOKEN=<bearer-token>
# Get help and see all available options
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --help
# Run with HTTP server on default port 3000
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --http
# Run with custom port (using short or long flag)
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --server -p 8080
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --http --port 3001
# Run with custom host/IP (using short or long flag)
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --http --host 127.0.0.1 # recommended for local computers
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --http --host 0.0.0.0 # required for container (binds all interfaces; omitting --host defaults to 127.0.0.1)
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --http -H 192.168.0.1 # recommended when sharing connection over a local network
# Static OAuth callback port (useful when the port must be exposed, e.g., when running the MCP in a container)
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --oauth-redirect-port 5344
# Check version
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --version
支持 HTTP 传输的 MCP 客户端配置 :
{
"mcpServers": {
"dynatrace-http": {
"url": "http://localhost:3000",
"transport": "http",
"headers": {
"Authorization": "Bearer <bearer-token>"
}
}
}
}
熊鼠托肯认证( E)MCP_BEARER_TOKEN(中文(简体) )
MCP_BEARER_TOKEN 实值 所需经费 在 HTTP 模式下运行时。 如果未设定此变量, 服务器将拒绝启动 .
每一个 HTTP 请求必须包含 Authorization: Bearer <token> 头曰. 没有有效代号的请求收到 401 Unauthorized。 。 。 .
生成一个安全标志 :
export MCP_BEARER_TOKEN=$(openssl rand -base64 32)
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --http
配置 MCP 客户端以发送符号 :
{
"mcpServers": {
"dynatrace-http": {
"url": "http://localhost:3000",
"transport": "http",
"headers": {
"Authorization": "Bearer <your-token>"
}
}
}
}
MCP套装(MCPB)
每个发布会发布一个预建的MCP Bundle文件(.mcpb)可以直接安装在克洛德桌面,而无需任何手动JSON配置.
在 Claude 桌面安装 :
- 转到 GitHub 发布 页面和下载最新
dynatrace-mcp-server-<version>.mcpb文档. - 双击已下载
.mcpb文件,或打开 Claude 桌面 设置 → 开发者 ,然后将文件拖入 MCP 服务器列表. - 跟随提示设置
DT_ENVIRONMENT变量(例如:.https://abc12345.apps.dynatrace.com) (中文(简体) ).
该存储库还包括一个MCP Bundle兼容程序 显示. json 用于当地安装. 捆绑通过 stdio 运行编译的本地服务器入口 :
server.type数字 :nodeserver.entry_point数字 :dist/index.jsmcp_config.command数字 :nodemcp_config.args数字 :["${__dirname}/dist/index.js"]
规则文件
为了从 Dynatrace 中有效检索结果,请考虑创建一个规则文件(例如, .github/副驾驶-指示, (中文(简体) ), .amazonq/规则/规则),指导编码代理如何为您的组件/应用程序/服务获取更多细节. 举个例子 简单贸易,请调整名称和过滤器,以适应您的使用大小写和组件:
# Observability
We use Dynatrace as an Observability solution. This document provides instructions on how to get data for easytrade from Dynatrace using DQL.
## How to get any data for my App
Depending on the query and tool used, the following filters can be applied to narrow down results:
* `contains(entity.name, "easytrade")`
* `contains(affected_entity.name, "easytrade")`
* `contains(container.name, "easytrade")`
For best results, you can combine these filters with an `OR` operator.
## Logs
To fetch logs for easytrade, execute `fetch logs | filter contains(container.name, "easyatrade")`.
For fetching just error-logs, add `| filter loglevel == "ERROR"`.
环境变量
V1.0.0 中突破变化 : MCP 服务器不再自动加载
.env文档。 使用来自 a 的环境变量.env文件, 您需要配置您的 MCP 客户端, 以便使用本地变量装入环境变量envFile配置选项。 见 配置示例 详情见下文.
DT_ENVIRONMENT(单位:千美元)所需经费,字符串,例如,https://abc12345.apps.dynatrace.com) - URL 到您的 Dynatrace 平台( 不使用 Dynatrace 等经典 URL)abc12345.live.dynatrace.com(中文(简体) )DT_PLATFORM_TOKEN(可选,字符串,例如,dt0s16.SAMPLE.abcd1234) - Dynatrace 平台托肯OAUTH_CLIENT_ID(可选,字符串,例如,dt0s02.SAMPLE- 替代品: Dynatrace OAuth 客户端标识(用于高级使用案例)OAUTH_CLIENT_SECRET(可选,字符串,例如,dt0s02.SAMPLE.abcd1234) - 替代品: Dynatrace OAuth 客户端保密(用于高级用途)DT_SSO_URL(可选,字符串,例如,https://sso.dynatrace.com) - 覆盖OSO URL用于OAuth认证. 默认情况下, SSO URL 从您的 Dynatrace 环境中自动发现 .DT_GRAIL_QUERY_BUDGET_GB(可选的,数字的,默认的:1000) - 每一会话扫描的"圣杯"查询字节的预算限制为GB (Base 1000). MCP 服务器跟踪您的圣杯使用情况, 当接近或超过此限制时警告 .
当只是提供 DT_ENVIRONMENT,本地的 MCP 服务器将尝试打开一个浏览器窗口,以对 Dynatrace SSO进行认证.
关于其他认证方法的更多信息,请查看有关文件 在 Dynatrace 创建平台,以及 在 Dynatrace 创建 OAuth 客户端 用于高级情景(服务用户、后端至后端通信).
此外,根据您使用的特性,可以配置以下变量:
SLACK_CONNECTION_ID(字符串) - 连接 ID of a 黑连接
代理配置
MCP 服务器尊重公司环境的系统代理设置 :
https_proxy或者说HTTPS_PROXY(可选,字符串,例如,http://proxy.example.com:8080) - HTTPS 请求的代理服务器 URLhttp_proxy或者说HTTP_PROXY(可选,字符串,例如,http://proxy.example.com:8080) - HTTP 请求的代理服务器 URLno_proxy或者说NO_PROXY(可选,字符串,例如,localhost,127.0.0.1,.local) - 应当绕过代理服务器的主机名或域的逗号分隔列表NODE_EXTRA_CA_CERTS(可选,字符串,例如,C:\some-path\certificate.pem) - 设定时, 众所周知的" root" CA( 如 VeriSign) 将会随着额外的证书被扩展
说明: 这个 no_proxy 环境变量目前为信息目的被登录,但基础的HTTP客户端没有完全执行. 如果您需要绕过特定主机的代理服务器,请考虑配置您的代理服务器来处理这些排除.
带有代理的示例配置 :
export HTTPS_PROXY=http://proxy.company.com:8080
export NO_PROXY=localhost,127.0.0.1,.company.local
export DT_ENVIRONMENT=https://abc12345.apps.dynatrace.com
认证的范围
根据您使用的特性,需要下列范围:
供平台托肯和OAuth客户端使用:
app-engine:apps:run- 几乎所有工具都需要app-settings:objects:read- 读取应用程序设置 - 需要用于send_slack_message从 App-Settings 读取连接细节的工具storage:buckets:read- 需要为execute_dql读取存储在圣杯上的所有系统数据的工具storage:logs:read- 需要为execute_dql用于读取可靠监护人验证日志的工具storage:metrics:read- 需要为execute_dql用于读取可靠性监护人验证的衡量标准的工具storage:bizevents:read- 需要为execute_dql用于读取 bizevents 以进行可靠性监护人验证的工具storage:spans:read- 需要为execute_dql从圣杯读取跨度的工具storage:entities:read- 需要为execute_dql从圣杯读取实体的工具storage:events:read- 需要为execute_dql从圣杯读取事件的工具storage:security.events:read- 需要为execute_dql从圣杯读取安全事件的工具storage:system:read- 需要为execute_dql从圣杯读取系统数据的工具storage:user.events:read- 需要为execute_dql从圣杯读取用户事件的工具storage:user.sessions:read- 需要为execute_dql从圣杯读取用户会话的工具storage:smartscape:read- 需要为execute_dql读取 Smartscape 数据的工具storage:files:read- 需要为execute_dql用于 DQL 的工具load查找数据的语句(例如,/lookups/http_status_codes(中文(简体) )storage:events:write- 需要为send_event将事件数据发送到 Dynatrace 的工具davis-copilot:conversations:execute- 执行谈话技巧(与副驾驶交谈)davis-copilot:nl2dql:execute- 执行 Davis 副驾驶自然语言(NL)到 DQL 技能davis-copilot:dql2nl:execute- 执行 DQL 到自然语言(NL) 技能davis:analyzers:read- 列入清单和获得Davis分析器定义所需davis:analyzers:execute- 需要执行戴维斯分析器email:emails:send- 需要为send_email发送电子邮件的工具document:documents:read- 需要为list_documents财务报告和审定财务报表read_document用于列表和读取 Dynatrace 文档的工具(笔记本、 Dashboards、 Launchpads等)document:documents:write- 需要为create_document创建新文档的工具
页:1数字 :
- 0.12.0之前的版本要求范围
app-engine:functions:run,则不再需要. - 0.13.0之前的版本需要范围
settings:objects:read财务报告和审定财务报表environment-api:entities:read,则不再需要.
示例提示
你可以从“我的组件被Dynatrace监控了吗” 这么简单开始,然后用更精密的 实例。 。 。 .
解决问题
认证问题
在大多数情况下,认证问题与缺失的瞄准镜或无效的令牌有关. 请确保您已添加上述所有所需的范围.
对于平台托肯斯:
- 校验您的平台 Token 中包含所有必要的范围
- 确保您的令牌有效且不过期
- 检查您的用户在您的 Dynatrace 环境中是否有所需的权限
OAuth 客户端 : 在与OAuth有关的问题上,你可以根据我们 Dynatrace 开发者文档。 。 。 .
建议使用下列API测试访问(要求最小范围) app-engine:apps:run 例如, storage:logs:read:
- 使用 OAuth 客户端 ID 和 secret 来获取一个 Bearer Token( 仅有效几分钟):
curl --request POST 'https://sso.dynatrace.com/sso/oauth2/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id={your-client-id}' \
--data-urlencode 'client_secret={your-client-secret}' \
--data-urlencode 'scope=app-engine:apps:run storage:logs:read'
- 使用
access_token作为下一个呼叫的无记名者响应上述呼吁:
curl -X GET https://abc12345.apps.dynatrace.com/platform/management/v1/environment \
-H 'accept: application/json' \
-H 'Authorization: Bearer {your-bearer-token}'
- 你应该找到这样的结果:
{
"environmentId": "abc12345",
"createTime": "2023-01-01T00:10:57.123Z",
"blockTime": "2025-12-07T00:00:00Z",
"state": "ACTIVE"
}
获取圣杯数据的问题
圣杯在 Dynatrace Docs 有关于权限的专栏. 请参考 https://docs.dynatrace.com/docs/discover-dynatrace/平板电脑/grail/data-model/sign-permissions-in-rail 互联网档案馆的存檔,存档日期2013-12-22 更多细节.
遥测
Dynatrace MCP服务器使用Dynatrace OpenKit BizEvents发送遥测数据来帮助改进产品. 这包括:
- 服务器启动事件( E)
com.dynatrace-oss.mcp.server-start(中文(简体) ) - 客户初始化事件( E)
com.dynatrace-oss.mcp.client-initialization) - 哪个MCP客户端正在连接(例如VS代码,克洛德桌面,光标) - 工具使用事件( E)
com.dynatrace-oss.mcp.tool-usage- 哪些工具被称为成功/失败、执行期限 - 错误事件( E)
com.dynatrace-oss.mcp.error) - 用于调试和改进的错误跟踪
所有遥测数据作为 商务活动 并且可以通过圣杯进行分析:
fetch bizevents
| filter startsWith(event.type, "com.dynatrace-oss.mcp")
| sort timestamp DESC
隐私和退出 :
- 遥测是 默认启用 但可以通过设置禁用
DT_MCP_DISABLE_TELEMETRY=true - 无法跟踪您 Dynatrace 环境中的敏感数据
- 只收集匿名使用统计和错误信息
- 用法统计和出错数据被传送到Dynatrace的分析端点
配置选项 :
DT_MCP_DISABLE_TELEMETRY(布尔, 默认值 :false- 禁用遥测DT_MCP_TELEMETRY_APPLICATION_ID(字符串,默认值 :dynatrace-mcp-server- 用于跟踪的应用程序IDDT_MCP_TELEMETRY_ENDPOINT_URL(字符串,默认: Dynatrace 端点) - OpenKit 端点 URLDT_MCP_TELEMETRY_DEVICE_ID(字符串,默认:自动生成) - 用于跟踪的设备标识符
要禁用用户跟踪, 请将此添加到您的环境中 :
DT_MCP_DISABLE_TELEMETRY=true