Dynatrace远程MCP服务器

Dynatrace远程MCP服务器将第三方AI代理与Dynatrace平台无缝连接,将实时生产环境数据直接注入工作流程,提供安全、受控的数据访问和深度上下文感知。

  • by dynatrace-tech-alliances
  • 本地部署
  • 更新于
在 GitHub 查看 robertjahn/mcp-guide

使用说明

概述

Dynatrace Remote MCP Server将第三方AI代理无缝连接到Dynatrace平台,将实时生产上下文直接传递到您的工作流程中。它提供对Dynatrace高质量数据的安全、受控访问、深入的上下文感知和确定性智能,可从任何启用MCP的环境中获得。无论是在IDE、Atlassian Rovo、Microsoft Copilot、ChatGPT还是其他工具中,Dynatrace都能为您的每个工作流程注入可靠、实时的见解,并改变您的工作方式。

此存储库提供了这两个功能的设置和使用指南:

  1. Dynatrace远程MCP服务器当前处于预览状态- Dynatrace集线器磁贴
  2. 社区驱动的开源本地MCP服务器- Dynatrace集线器磁贴

安装后的示例提示

配置远程或本地MCP服务器后,以下是尝试它们的示例提示。

查看可用工具

调整配置名称:

show config and tools available in MCP Server named 'jde30943:dynatrace-remote-mcp'

动态跟踪问题

一次运行一个:

list all problems in dynatrace from the last 24 hours

tell me more details for problem 4

用自然语言编写并运行DQL日志查询

一次运行一个:

Create a DQL query to fetch the last 10 error logs

run that DQL

display those 5 of those log lines in a table

从自然语言中查找受监视的实体

一次运行一个:

list all the services in dynatrace from the last 24 hours

Get all details of the entity 'BrokerService'

执行DQL查询

execute 
fetch logs, from: -24h | sort timestamp desc | summarize count(), by:{status}

解释DQL查询

What does this DQL do?
fetch logs | filter dt.source_entity == 'SERVICE-123' | summarize count(), by:{severity} | sort count() desc

向Davis CoPilot寻求帮助

一次运行一个:

How can I investigate slow database queries in Dynatrace?

How can configure a tagging rule?

Dynatrace先决条件设置

1.添加平台令牌和IAM

在内部执行以下操作 Dynatrace帐户 设置。

1.1创建平台令牌

以下是远程MCP服务器的作用域。根据用例,本地MCP服务器可能需要额外的作用域。参见 身份验证范围 README获取最新列表。

  • 注意:启动MCP服务器时,本地MCP服务器有一个提示用户凭据的选项。这假设您的登录具有正确的作用域,但它节省了制作平台令牌的步骤。因此,对于在没有平台令牌的情况下运行MCP Local的用例,您可以跳过此步骤。

通过转到菜单选项创建平台令牌 Identify & access management --> Platform Tokens 在帐户管理中添加新的Platform令牌。将生成的令牌保存到安全的地方以供以后使用。

davis-copilot:nl2dql:execute;
davis-copilot:dql2nl:execute;
davis-copilot:conversations:execute;
mcp-gateway:servers:invoke;
mcp-gateway:servers:read;
storage:buckets:read;
storage:logs:read;
storage:events:read;
storage:security.events:read;
storage:metrics:read;
storage:bizevents:read;
storage:spans:read;
storage:entities:read;
storage:smartscape:read;
storage:system:read;

参见 Dynatrace平台令牌 有关更多详细信息,请参阅文档。

1.2.添加IAM策略

创建Platform令牌的用户需要具有与令牌相同的权限。因此,必须制定用户使用的策略。

以下是远程MCP服务器的作用域。根据用例,本地MCP服务器可能需要额外的作用域。参见 身份验证范围 README获取最新列表。

在...之内 账户管理,转到此菜单选项 Identify & access management --> Policy Management

  • 添加新策略。建议名称 _MCP.
  • 将这些范围粘贴到策略中。
ALLOW davis-copilot:nl2dql:execute;
ALLOW davis-copilot:dql2nl:execute;
ALLOW davis-copilot:conversations:execute;
ALLOW mcp-gateway:servers:invoke;
ALLOW mcp-gateway:servers:read;
ALLOW storage:buckets:read;
ALLOW storage:logs:read;
ALLOW storage:events:read;
ALLOW storage:security.events:read;
ALLOW storage:metrics:read;
ALLOW storage:bizevents:read;
ALLOW storage:spans:read;
ALLOW storage:entities:read;
ALLOW storage:smartscape:read;
ALLOW storage:system:read;

参见 Dynatrace IAM策略 有关更多详细信息,请参阅文档。

1.3.创建新组

在...之内 账户管理,转到此菜单选项 Identify & access management --> Group Management

您可以添加到现有组中,也可以使用以下名称创建组 _MCP 并将权限添加到 _MCP 在上一步中创建的策略。

参见 Dynatrace集团管理 有关更多详细信息,请参阅文档。

1.4.将制作平台令牌的用户添加到策略中

在...之内 账户管理,转到此菜单选项 Identify & access management --> User Management

编辑用户并将其添加到组中 _MCP

参见 Dynatrace用户管理 有关更多详细信息,请参阅文档。

2.启用Davis Copilot

要在您的环境中启用Davis CoPilot,请转到 Settings > Dynatrace AI > Generative AI. 在Dynatrace环境中。

  • 打开 Enable generative AI
  • 打开 Enable document suggestions
  • 打开 Enable environment-aware queries

这 Configure data access 除非您想限制访问,否则不需要。

参见 Davis Copilot入门 有关更多详细信息,请参阅文档。

在IDE中安装MCP服务器

为了熟悉并使用本地或远程Dynatrace MCP服务器,可以使用如下所述的VS Code等开发IDE。设置类似,但请遵循本地或远程(或两者)的指南,如下所示。

远程MCP服务器

为了快速参考,这里有一个例子 mcp.json 此存储库中包含的文件。

使用以下示例:

  • 调整 jde30943:dynatrace-remote-mcp 服务器名称到您的Dynatrace环境或首选名称。
  • 调整 url 到您的Dynatrace环境
{
	"servers": {
        "jde30943:dynatrace-remote-mcp": {
            "url": "https://jde30943.apps.dynatrace.com/platform-reserved/mcp-gateway/v0.1/servers/dynatrace-mcp/mcp",
			"type": "http",
            "headers": {
                "Authorization": "Bearer ${input:bearer_token}"
            }
		}
	},
	"inputs": [
        {
            "type": "promptString",
            "password": true,
            "id": "bearer_token",
            "description": "Platform Token"
        }
    ]
}

启动MCP服务器时,系统将提示您 Platform Token

添加后,启动MCP服务器,您将看到输出

2025-11-07 15:11:27.397 [info] Starting server jde30943:dynatrace-remote-mcp
2025-11-07 15:11:27.398 [info] Connection state: Starting
2025-11-07 15:11:27.402 [info] Starting server from LocalProcess extension host
2025-11-07 15:11:27.403 [info] Connection state: Running
2025-11-07 15:11:28.027 [info] Discovered 4 tools

要验证,请运行此聊天提示以查看可用工具

show config and tools available in MCP Server named 'jde30943:dynatrace-remote-mcp'

本地MCP服务器

更多的例子在 配置部分 本地MCP代表,但为了快速参考,这里有一个来自 mcp.json 此存储库中包含的文件。

有两种方法可以设置它,有或没有Dynatrace平台令牌。

用例1:无平台令牌

在这种没有平台令牌的情况下,当MCP服务器启动时,浏览器窗口将打开并提示您的用户凭据。这假设您的登录具有正确的作用域,但它节省了制作平台令牌的步骤。

使用以下示例:

  • 调整 jde30943:dynatrace-local-mcp 服务器名称到您的Dynatrace环境或首选名称。
  • 调整 DT_ENVIRONMENT 到您的Dynatrace环境
{
	"servers": {
		"jde30943:dynatrace-local-mcp": {
			"command": "npx",
			"cwd": "${workspaceFolder}",
			"args": ["-y", "@dynatrace-oss/dynatrace-mcp-server@latest"],
      		"env": {
              "DT_ENVIRONMENT": "https://jde30943.apps.dynatrace.com"
            }
		}
	}
}

启动MCP服务器时,会打开一个浏览器窗口,提示输入凭据。

用例2:使用平台令牌作为用户输入

在这个用例中,创建了一个平台令牌并将其用作输入。

使用以下示例:

  • 调整 jde30943:dynatrace-local-mcp 服务器名称到您的Dynatrace环境或首选名称。
{
	"servers": {
		"jde30943:dynatrace-local-mcp": {
			"command": "npx",
			"cwd": "${workspaceFolder}",
			"args": ["-y", "@dynatrace-oss/dynatrace-mcp-server@latest"],
      		"envFile": "${workspaceFolder}/.env"
		},
	},
	"inputs": [
        {
            "type": "promptString",
            "password": true,
            "id": "bearer_token",
            "description": "Platform Token"
        }
    ]
}

启动MCP服务器时,系统将提示您 Platform Token

参考链接