mcpField
D
Dynatrace MCP Server

Dynatrace MCP Server

本地服务
github.com/dynatrace-oss云与基础设施1379 周前更新

关于 Dynatrace MCP Server

Dynatrace MCP Server 是面向 Dynatrace 可观测性平台的本地 MCP 服务,让 AI 助手可以查询监控数据。该项目已弃用,版本 2.1.2 为最终发布版,不再更新。

主要功能

  1. 01通过 DQL 查询 Grail 数据
  2. 02列出问题、异常与漏洞
  3. 03查询实体并自动生成或解释 DQL
  4. 04Grail 查询预算跟踪
  5. 05令牌存储于操作系统钥匙串

适用场景

  1. 01辅助排查生产环境中的异常与日志
  2. 02查看安全漏洞与问题状态
  3. 03在编码工具中获取服务的可观测性上下文

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露用于查询 Dynatrace 数据的工具,例如 execute_dql、list_problems 和 find_entity_by_name。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"dynatrace": {
"command": "npx",
"args": [
"-y",
"@dynatrace-oss/dynatrace-mcp-server"
],
"env": {
"DT_ENVIRONMENT": "<DT_ENVIRONMENT>",
"DT_PLATFORM_TOKEN": "<DT_PLATFORM_TOKEN>",
"OAUTH_CLIENT_ID": "<OAUTH_CLIENT_ID>",
"OAUTH_CLIENT_SECRET": "<OAUTH_CLIENT_SECRET>",
"DT_GRAIL_QUERY_BUDGET_GB": "<DT_GRAIL_QUERY_BUDGET_GB>"
}
}
}
}
启动命令npx -y @dynatrace-oss/dynatrace-mcp-server
需要配置的环境变量
DT_ENVIRONMENTThe URL of your Dynatrace environment (e.g. 'https://abc12345.apps.dynatrace.com'). Do not use Dynatrace classic URLs.
DT_PLATFORM_TOKEN密钥[OPTIONAL] Dynatrace Platform Token for authentication. Alternative to OAuth authentication.
OAUTH_CLIENT_ID密钥[OPTIONAL] OAuth Client ID for advanced authentication scenarios. Use with OAUTH_CLIENT_SECRET.
OAUTH_CLIENT_SECRET密钥[OPTIONAL] OAuth Client Secret for advanced authentication scenarios. Use with OAUTH_CLIENT_ID.
DT_GRAIL_QUERY_BUDGET_GB[OPTIONAL] Budget limit in GB for Grail query bytes scanned per session. Default: 1000. Set to -1 to disable budget tracking.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@dynatrace-oss/dynatrace-mcp-server2.1.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Dynatrace MCP Server

OpenSSF Scorecard

README 配图 Dynatrace MCP Server is released under the MIT License README 配图 README 配图 npm Dynatrace MCP Server Stars on GitHub Dynatrace MCP Server Contributors on GitHub

⚠️ 已弃用

此仓库已弃用。版本 2.1.2 为最终版本 — 此后不会再进行任何更新。

请迁移到以下仍在积极维护的替代方案之一:

使用场景推荐工具
本地开发(VS Code、IntelliJ、Claude Code、Cursor 等)Dynatrace-for-AI + dtctl
Agent 间通信 / 远程(Atlassian Rovo、GitHub Coding Agent 等)Dynatrace Remote MCP Server — 无需本地设置

请参阅迁移指南,了解分步对比和迁移说明。

本地的 Dynatrace MCP 服务 可让 AI 助手与 Dynatrace 可观测性平台交互, 将实时可观测性数据直接引入您的开发工作流。

注:Dynatrace 不为此产品提供官方支持。

如需帮助,请通过 GitHub Issues 联系我们,提交功能请求、提问或寻求帮助。

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

前置条件

  • 运行 Dynatrace MCP Server 需要 Node.js v24 或更高版本。

快速开始

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

此外,你需要配置 Dynatrace 环境的 URL:

  • DT_ENVIRONMENT(字符串,例如 https://abc12345.apps.dynatrace.com)- Dynatrace Platform 的 URL(请勿使用 abc12345.live.dynatrace.com 这类 Dynatrace classic URL)

身份验证将通过浏览器中的 Authorization Code Flow 进行。开始使用时,无需定义 Platform Token 或 OAuth Client。首次完成身份验证后,你的令牌会安全地存储在 OS keychain(macOS Keychain、Windows Credential Manager 或 Linux Secret Service)中,并在后续启动服务时重复使用,因此每个令牌有效期内只会打开一次浏览器。

如果你在无法使用 OS keychain 的无头/容器环境中运行,请设置 DT_MCP_TOKEN_STORAGE=file,将令牌保存在 ~/.config/dynatrace-mcp/ 中。

完成后,我们建议查看示例提示词,例如 Get all details of the entity 'my-service' 或 Show me error logs。请注意,这些提示词会执行 DQL 语句,可能会根据你的许可证产生费用。

VSCode

{
  "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 生成和解释功能
  • 多阶段事件调查 - 采用系统化的 4 阶段方法,并自动评估影响
  • 高级事务分析 - 精确定位根本原因,准确到文件和行
  • 跨数据源关联 - 通过跟踪 ID 关联问题 → 跨度 → 日志
  • DevOps 自动化 - 通过自动化推广/回滚逻辑设置部署健康门禁
  • 安全合规监控 - 基于证据调查评估多云合规性

功能

  • 可观测性与问题管理(例如,list_problems、list_vulnerabilities、list_exceptions、get_kubernetes_events)
  • 查询 Grail 中的数据(例如,execute_dql、verify_dql、generate_dql_from_natural_language、explain_dql_in_natural_language)
  • 实体发现(例如,find_entity_by_name)
  • Dynatrace Intelligence(例如,chat_with_davis_copilot、list_davis_analyzers、execute_davis_analyzer)
  • 自动化与通知(例如,send_slack_message、send_email、send_event)
  • 分享结果(例如,create_dynatrace_notebook)
成本

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

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

  1. 查看您当前的 Dynatrace 消耗模式和定价
  2. 了解您计划查询的特定数据(日志、事件、指标)所涉及的费用;请参阅 Dynatrace 定价和费率表
  3. 从较短的时间范围(例如,12h-24h)开始,并使用 buckets 来降低成本影响
  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 问题的情境化帮助和指导

配置

您可以通过软件包 @dynatrace-oss/dynatrace-mcp-server 将此 MCP 服务(使用 STDIO)添加到 MCP 客户端,例如 VS Code、Claude、Cursor、Amazon Q Developer CLI、Windsurf Github Copilot。

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

VS Code

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

Claude Desktop

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

Amazon Q Developer CLI

Amazon Q Developer 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 中。

Amazon Kiro

Amazon Kiro 是一款 Agent 式 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 中。

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=... # optional

该命令会询问 Dynatrace Environment 的值。

通过以下方式验证服务是否正在运行:

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 Remote MCP Server——它更安全、始终保持最新,且无需管理基础设施。

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

以 HTTP 服务器模式运行:

请使用 bearer token 保护你的服务器:

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>"
      }
    }
  }
}
Bearer Token 身份验证(MCP_BEARER_TOKEN)

在 HTTP 模式下运行时,必须设置 MCP_BEARER_TOKEN。如果未设置此变量,服务器将拒绝启动。

每个 HTTP 请求都必须包含 Authorization: Bearer <token> 标头。未提供有效 token 的请求将收到 401 Unauthorized 响应。

生成安全 token:

export MCP_BEARER_TOKEN=$(openssl rand -base64 32)
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --http

配置 MCP 客户端发送 token:

{
  "mcpServers": {
    "dynatrace-http": {
      "url": "http://localhost:3000",
      "transport": "http",
      "headers": {
        "Authorization": "Bearer <your-token>"
      }
    }
  }
}
MCP Bundle(MCPB)

每个版本都会发布一个预构建的 MCP Bundle 文件(.mcpb),你可以直接在 Claude Desktop 中安装,无需手动配置 JSON。

在 Claude Desktop 中安装:

  1. 前往 GitHub Releases 页面,下载最新的 dynatrace-mcp-server-<version>.mcpb 文件。
  2. 双击下载的 .mcpb 文件,或打开 Claude Desktop → Settings → Developer,然后将文件拖到 MCP 服务列表中。
  3. 按照提示设置 DT_ENVIRONMENT 变量(例如 https://abc12345.apps.dynatrace.com)。

此仓库还包含一个兼容 MCP Bundle 的 manifest.json,可用于本地安装。 该 Bundle 通过 stdio 运行编译后的本地服务器入口:

  • server.type:node
  • server.entry_point:dist/index.js
  • mcp_config.command:node
  • mcp_config.args:["${__dirname}/dist/index.js"]
规则文件

为高效获取 Dynatrace 结果,请考虑创建一个规则文件(例如 .github/copilot-instructions.md、.amazonq/rules/),指导编码 Agent 如何获取有关你的组件/应用/服务的更多详细信息。以下是 easytrade 的示例,请根据你的使用场景和组件调整名称和筛选条件:

# 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 文件。要使用 .env 文件中的环境变量,需要将 MCP 客户端配置为使用原生的 envFile 配置选项加载环境变量。详情请参阅下方的配置示例。

  • DT_ENVIRONMENT(必需,字符串,例如 https://abc12345.apps.dynatrace.com)— Dynatrace Platform 的 URL(请勿使用 abc12345.live.dynatrace.com 之类的 Dynatrace classic URL)
  • DT_PLATFORM_TOKEN(可选,字符串,例如 dt0s16.SAMPLE.abcd1234)— Dynatrace Platform Token
  • OAUTH_CLIENT_ID(可选,字符串,例如 dt0s02.SAMPLE)— 替代选项:Dynatrace OAuth Client ID(适用于高级使用场景)
  • OAUTH_CLIENT_SECRET(可选,字符串,例如 dt0s02.SAMPLE.abcd1234)— 替代选项:Dynatrace OAuth Client Secret(适用于高级使用场景)
  • DT_SSO_URL(可选,字符串,例如 https://sso.dynatrace.com)— 覆盖 OAuth 身份验证所用的 SSO URL。默认情况下,系统会自动从你的 Dynatrace 环境中发现 SSO URL。
  • DT_GRAIL_QUERY_BUDGET_GB(可选,数字,默认值:1000)— 每个会话扫描的 Grail 查询字节数上限,单位为 GB(以 1000 为基数)。MCP 服务会跟踪你的 Grail 使用量,并在接近或超出此上限时发出警告。

仅提供 DT_ENVIRONMENT 时,本地 MCP 服务会尝试打开浏览器窗口,以通过 Dynatrace SSO 进行身份验证。

有关其他身份验证方法的更多信息,请参阅在 Dynatrace 中创建 Platform Token的文档,以及适用于高级场景(服务用户、后端到后端通信)的在 Dynatrace 中创建 OAuth Client。

此外,根据你使用的功能,还可以配置以下变量:

代理配置

MCP 服务会遵循系统代理设置,以适用于企业环境:

  • https_proxy 或 HTTPS_PROXY(可选,字符串,例如 http://proxy.example.com:8080)— HTTPS 请求的代理服务器 URL
  • http_proxy 或 HTTP_PROXY(可选,字符串,例如 http://proxy.example.com:8080)— HTTP 请求的代理服务器 URL
  • no_proxy 或 NO_PROXY(可选,字符串,例如 localhost,127.0.0.1,.local)— 以逗号分隔的主机名或域名列表,这些地址将绕过代理
  • NODE_EXTRA_CA_CERTS(可选,字符串,例如 C:\some-path\certificate.pem)— 设置此项后,会在知名的“根”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 工具需要此权限范围才能从应用设置中读取连接详细信息
  • storage:buckets:read - execute_dql 工具需要此权限范围才能读取存储在 Grail 中的所有系统数据
  • storage:logs:read - execute_dql 工具需要此权限范围才能读取用于可靠性 Guardian 验证的日志
  • storage:metrics:read - execute_dql 工具需要此权限范围才能读取用于可靠性 Guardian 验证的指标
  • storage:bizevents:read - execute_dql 工具需要此权限范围才能读取用于可靠性 Guardian 验证的业务事件
  • storage:spans:read - execute_dql 工具需要此权限范围才能从 Grail 读取跨度
  • storage:entities:read - execute_dql 工具需要此权限范围才能从 Grail 读取实体
  • storage:events:read - execute_dql 工具需要此权限范围才能从 Grail 读取事件
  • storage:security.events:read- execute_dql 工具需要此权限范围才能从 Grail 读取安全事件
  • storage:system:read - execute_dql 工具需要此权限范围才能从 Grail 读取系统数据
  • storage:user.events:read - execute_dql 工具需要此权限范围才能从 Grail 读取用户事件
  • storage:user.sessions:read - execute_dql 工具需要此权限范围才能从 Grail 读取用户会话
  • 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 - 执行对话技能(与 Copilot 聊天)
  • davis-copilot:nl2dql:execute - 执行 Davis Copilot 自然语言(NL)转 DQL 技能
  • davis-copilot:dql2nl:execute - 执行 DQL 转自然语言(NL)技能
  • davis:analyzers:read - 列出和获取 Davis 分析器定义时需要此权限范围
  • davis:analyzers:execute - 执行 Davis 分析器时需要此权限范围
  • email:emails:send - send_email 工具需要此权限范围才能发送电子邮件
  • document:documents:read - list_documents 和 read_document 工具需要此权限范围才能列出和读取 Dynatrace 文档(笔记本、仪表板、启动面板等)
  • document:documents:write - create_document 工具需要此权限范围才能创建新文档

注意:

  • 0.12.0 之前的版本需要 app-engine:functions:run 权限范围;现在已不再需要。
  • 0.13.0 之前的版本需要 settings:objects:read 和 environment-api:entities:read 权限范围;现在已不再需要。

✨ 示例提示词 ✨

您可以从简单的问题开始,例如“我的组件是否由 Dynatrace 监控?”,然后继续尝试更复杂的示例。

故障排除

身份验证问题

在大多数情况下,身份验证问题与缺少范围或令牌无效有关。请确保已添加上文列出的所有必需范围。

对于平台令牌:

  1. 确认平台令牌包含“身份验证范围”部分列出的所有必需范围
  2. 确保令牌有效且未过期
  3. 检查用户在 Dynatrace 环境中是否拥有所需权限

对于 OAuth 客户端: 如果遇到与 OAuth 相关的问题,可以根据我们的 Dynatrace 开发者文档排查 SSO/OAuth 问题。

建议使用以下 API 测试访问权限(该 API 只需最少范围 app-engine:apps:run 和例如 storage:logs:read):

  1. 使用 OAuth 客户端 ID 和密钥获取 Bearer 令牌(仅在几分钟内有效):
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'
  1. 在下一次调用中,将上述调用响应中的 access_token 用作 bearer-token:
curl -X GET https://abc12345.apps.dynatrace.com/platform/management/v1/environment \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer {your-bearer-token}'
  1. 你应会获得类似这样的结果:
{
  "environmentId": "abc12345",
  "createTime": "2023-01-01T00:10:57.123Z",
  "blockTime": "2025-12-07T00:00:00Z",
  "state": "ACTIVE"
}
访问 Grail 中的数据时遇到问题

Dynatrace 文档中有专门介绍 Grail 权限的部分。详情请参阅 https://docs.dynatrace.com/docs/discover-dynatrace/platform/grail/data-model/assign-permissions-in-grail。

遥测

Dynatrace MCP 服务使用 Dynatrace OpenKit BizEvents 发送遥测数据,以帮助改进产品。遥测数据包括:

  • 服务启动事件(com.dynatrace-oss.mcp.server-start)
  • 客户端初始化事件(com.dynatrace-oss.mcp.client-initialization)——连接的是哪个 MCP 客户端(例如 VS Code、Claude Desktop、Cursor)
  • 工具使用事件(com.dynatrace-oss.mcp.tool-usage)——调用了哪些工具、成功或失败情况、执行时长
  • 错误事件(com.dynatrace-oss.mcp.error)——用于调试和改进的错误跟踪

所有遥测数据都会作为商业事件发送,并可通过 Grail 访问以供分析:

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)——用于跟踪的应用程序 ID
  • DT_MCP_TELEMETRY_ENDPOINT_URL(字符串,默认值:Dynatrace 端点)——OpenKit 端点 URL
  • DT_MCP_TELEMETRY_DEVICE_ID(字符串,默认值:自动生成)——用于跟踪的设备标识符

若要禁用使用情况跟踪,请将以下内容添加到环境中:

DT_MCP_DISABLE_TELEMETRY=true

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。