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 的形式对外暴露接口,便于前端或其他服务接入。
    • 环境配置
      • 按需提供 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 的合理组装。

服务器信息