Dynatrace Managed MCP Server
使用说明(Markdown 格式)
-
项目简介
- 这是一个基于 Model Context Protocol (MCP) 的后端服务器,专门用于 Dynatrace Managed(自托管)环境的数据访问和工具执行。服务器支持本地(STDIO)和远程(HTTP/SSE)两种传输模式,并提供对多环境的并行管理与查询能力,面向 AI 助手在对 Dynatrace 数据的扩大化使用场景中的上下文服务。
-
主要功能点
- 资源管理:对 Dynatrace 实例中的数据资源进行托管与访问,便于 LLM 客户端读取和使用。
- 工具注册与执行:注册可调用的外部工具,LLM 可以通过 MCP 调用这些工具来执行外部功能。
- Prompt 模板支持:定义并渲染可定制的 Prompt 模板,支持多种交互模式。
- 多环境支持:可同时连接一个或多个 Dynatrace Managed 环境,环境信息通过配置加载、验证与重载生效。
- JSON-RPC 通信:与 MCP 客户端通过标准的 JSON-RPC 请求/响应进行交互。
- 会话和能力声明管理:对会话、能力(如工具、Prompts)进行管理与描述。
- 多传输协议:本地 STDIO 与 HTTP 传输模式,便于开发、测试和生产部署。
- 安全性与 Telemetry:集成了对 API 调用的鉴权、日志与遥测的可观测性考虑。
-
安装步骤
- 准备 Node.js 环境(建议使用与仓库兼容的 Node 版本)。
- 下载或克隆项目代码并安装依赖:
- 安装依赖并编译源码(如需要):安装依赖、构建代码,生成 dist 目录。
- 运行方式(两种模式任选其一):
- 本地开发模式(STDIO)
- 使用 npm/npx 启动服务器,默认通过 STDIO 与 MCP 客户端交互。
- HTTP 服务器模式(远程)
- 使用命令启动 HTTP 服务,服务器将以 JSON-RPC 的形式对外暴露接口,便于前端或其他服务接入。
- 本地开发模式(STDIO)
- 环境配置
- 按需提供 DT_CONFIG_FILE 或 DT_ENVIRONMENT_CONFIGS,用于配置 Dynatrace Managed 环境及凭证信息。
- 日志级别等可选参数用于调试与运维。
-
服务器配置(MCP 服务器配置示例,供参考,MCP 客户端本身无需该信息) 说明:以下信息用于描述如何在客户端配置中了解如何启动并连接到 MCP 服务器。MCP 客户端通常不需要直接使用这些字段,但提供给运维和集成工具以确保一致的启动与连接方式。 { "serverName": "dynatrace-managed-mcp-server", "command": "npx", "args": ["-y", "@dynatrace-oss/dynatrace-managed-mcp-server@latest"], "env": { "DT_CONFIG_FILE": "./dt-config.yaml", // 配置文件路径,优先级高于环境变量配置 "DT_ENVIRONMENT_CONFIGS": "[{"dynatraceUrl":"https://my-dashboard-endpoint.com/","apiEndpointUrl":"https://my-api-endpoint.com/","environmentId":"my-env-id-1","alias":"alias-env-1","apiToken":"my-api-token"},{"dynatraceUrl":"https://another-dashboard.example/","apiEndpointUrl":"https://another-api.example/","environmentId":"env-2","alias":"alias-env-2","apiToken":"my-api-token-2"}]", // 多环境配置 JSON 字符串 "LOG_LEVEL": "info" // 日志等级 } } 说明:
- serverName 表示 MCP 服务器标识名称,便于在 MCP 客户端配置中引用。
- command 与 args 描述服务器启动命令及参数,客户端可参照用于连接时的参考。
- env 指定服务器运行时所需的环境变量(如配置文件和多环境配置)。
- 该配置仅用于描述启动与连接方式,实际 MCP 客户端并不需要强制使用该块来连接 MCP 服务器。
-
基本使用方法
- 启动方式:可使用本地开发环境快速启动测试(STDIO)或使用 HTTP 模式在服务器/容器中部署。
- 连接客户端:MCP 客户端通过标准 MCP 流程与服务器建立 JSON-RPC 通信,传输可通过 STDIO、HTTP 等方式实现。
- 运行后端服务,AI 助手可以通过定义的工具、资源和提示模板,与 Dynatrace Managed 环境实现交互与上下文提供。
-
运行与调试提示
- 如遇环境配置加载问题,请检查 DT_CONFIG_FILE 与 DT_ENVIRONMENT_CONFIGS 的配置优先级与格式。
- 关注服务器的日志输出,若开启遥测,注意隐私与合规性设置。
- 如需扩展能力,请参考能力实现代码,新增工具、查询、或 Prompts 的扩展。
-
额外信息
- 本实现基于 @modelcontextprotocol/sdk 提供的 MCP 服务端能力,包含本地与远程传输,具备多环境支持与工具式交互能力。
- 若需要对 Dynatrace Managed 的多环境查询和分析,请在环境配置中提供正确的环境别名和 token,以及对资源、工具和 Prompts 的合理组装。