Dynatrace - MCP Server Seguro por ALMC Security 2025

Dynatrace

Ver en GitHub

Servidor MCP de Dynatrace

Este servidor MCP local permite la interacción con la plataforma de observabilidad de Dynatrace. Traiga datos de observabilidad en tiempo real directamente a su flujo de trabajo de desarrollo.

Casos de uso

  • Observabilidad en tiempo real - Obtenga datos a nivel de producción para detección temprana y monitoreo proactivo
  • Depuración contextual - Solucione problemas con el contexto completo de las excepciones, registros y anomalías monitorizadas
  • Información sobre seguridad: obtenga análisis detallados de vulnerabilidades y seguimiento de problemas de seguridad
  • Consultas en lenguaje natural: utilice la generación y explicación de DQL mediante IA

Capacidades

  • Enumerar y obtener detalles de problemas de sus servicios (por ejemplo, Kubernetes)
  • Enumerar y obtener detalles de problemas de seguridad / vulnerabilidades
  • Ejecutar DQL (Dynatrace Query Language) y recuperar logs, eventos, spans y métricas
  • Enviar mensajes Slack (vía Slack Connector)
  • Configure el flujo de trabajo de notificación (a través de Dynatrace AutomationEngine)
  • Obtener más información sobre una entidad monitorizada
  • Obtenga la propiedad de una entidad

Asistencia Potenciada por IA (Vista previa)

  • Lenguaje Natural a DQL - Convierta consultas en inglés simple a Lenguaje de Consulta Dynatrace
  • Explicación DQL - Obtenga explicaciones en inglés sencillo de consultas DQL complejas
  • AI Chat Assistant - Obtenga ayuda contextual y orientación para preguntas sobre Dynatrace
  • Sistema de retroalimentación - Proporcione retroalimentación para mejorar las respuestas de la IA con el tiempo

Nota: Mientras que Davis CoPilot AI está disponible de forma general (GA), las API de Davis CoPilot están actualmente en fase de vista previa. Para obtener más información, visite la Comunidad de Vista Previa de Davis CoPilot.

Inicio rápido

Puede añadir este servidor MCP (utilizando STDIO) a su cliente MCP como VS Code, Claude, Cursor, Amazon Q Developer CLI, Windsurf Github Copilot a través del paquete @dynatrace-oss/dynatrace-mcp-server.

Recomendamos configurarlo siempre para su espacio de trabajo actual en lugar de utilizarlo globalmente.

Código VS

{ "servidores": { "npx-dynatrace-mcp-server": { "command": "npx", "cwd": "${workspaceFolder}", "args": ["-y", "@dynatrace-oss/dynatrace-mcp-server@latest"], "envFile": "${workspaceFolder}/.env" } }

Nota: En esta configuración, se utiliza la variable ${workspaceFolder}. Esto sólo funciona si la configuración se almacena en los espacios de trabajo actuales, por ejemplo, <su-repo>/.vscode/mcp.json. Alternativamente, esto también se puede almacenar en user-settings, y se puede definir env de la siguiente manera:

{ "servidores": { "npx-dynatrace-mcp-server": { "command": "npx", "args": ["-y", "@dynatrace-oss/dynatrace-mcp-server@latest"], "env": { "OAUTH_CLIENT_ID": "", "OAUTH_CLIENT_SECRET": "", "DT_ENVIRONMENT": "" } } } }

Claude Desktop

{ "mcpServers": { "mobile-mcp": { "command": "npx", "args": ["-y", "@dynatrace-oss/dynatrace-mcp-server@latest"], "env": { "OAUTH_CLIENT_ID": "", "OAUTH_CLIENT_SECRET": "", "DT_ENVIRONMENT": "" } } } }

CLI para desarrolladores de Amazon Q

La CLI para desarrolladores de Amazon Q proporciona una experiencia de chat interactiva directamente en su terminal. Puede hacer preguntas, obtener ayuda con los servicios de AWS, solucionar problemas y generar fragmentos de código sin salir de su entorno de línea de comandos.

{ "mcpServers": { "mobile-mcp": { "command": "npx", "args": ["-y", "@dynatrace-oss/dynatrace-mcp-server@latest"], "env": { "OAUTH_CLIENT_ID": "", "OAUTH_CLIENT_SECRET": "", "DT_ENVIRONMENT": "" } } } }

Esta configuración debe almacenarse en <your-repo>/.amazonq/mcp.json.

Variables de entorno

Puedes configurar la autenticación a través de OAuth Client o Platform Tokens (v0.5.0 y posteriores) a través de las siguientes variables de entorno:

  • DT_ENVIRONMENT (string, e.g., https://abc12345.apps.dynatrace.com)- URL a su Plataforma Dynatrace (no utilice URLs clásicas de Dynatrace como abc12345.live.dynatrace.com)
  • OAUTH_CLIENT_ID (string, e.g., dt0s02.SAMPLE) - ID del Cliente OAuth de Dynatrace
  • OAUTH_CLIENT_SECRET (string, e.g., dt0s02.SAMPLE.abcd1234) - Secreto del Cliente OAuth de Dynatrace
  • Con v0.5.0 y posteriores: DT_PLATFORM_TOKEN (string, e.g., dt0s16.SAMPLE.abcd1234) - Dynatrace Platform Token (soporte limitado, ya que no todos los ámbitos están disponibles; ver más abajo)

Para más información, por favor consulte la documentación sobre lacreación de un Cliente Oauth en Dynatrace, así como lacreación de un Token de Plataforma en Dynatrace.

Además, dependiendo de las características que utilice, las siguientes variables pueden ser configuradas:

Ámbitos para la Autenticación

Dependiendo de las características que utilices, se necesitan los siguientes ámbitos:

  • app-engine:apps:run - necesario para casi todas las herramientas

  • app-engine:functions:run - necesario para casi todas las herramientas

  • environment-api:security-problems:read - necesario para leer problemas de seguridad(actualmente no disponible para los tokens de plataforma)

  • environment-api:entities:read - lectura de entidades supervisadas(actualmente no disponible para los tokens de plataforma)

  • automation:workflows:read - leer flujos de trabajo

  • automation:workflows:write - crear y actualizar flujos de trabajo

  • automation:workflows:run - ejecutar flujos de trabajo

  • storage:buckets:read - necesario para que la herramienta execute_dql lea todos los datos del sistema almacenados en Grail

  • storage:logs:read - necesario para que la herramienta execute_dql lea los registros para las validaciones del tutor de fiabilidad

  • storage:metrics:read - necesario para que la herramienta execute_dql lea las métricas para las validaciones del guardián de fiabilidad

  • storage:bizevents:read - necesario para que la herramienta execute_dql lea bizevents para las validaciones del guardián de fiabilidad

  • storage:spans:read - necesario para que la herramienta execute_dql lea spans de Grail

  • storage:entities:read - necesario para que la herramienta execute_dql lea entidades de Grail

  • storage:events:read - necesario para que la herramienta execute_dql lea eventos de Grail

  • storage:security.events:read - necesario para que la herramienta execute_dql lea eventos de seguridad de Grail

  • storage:system:read - necesario para que la herramienta execute_dql lea datos de sistema de Grail

  • storage:user.events:read - necesario para que la herramienta execute_dql lea los eventos de usuario de Grail

  • storage:user.sessions:read - necesario para que la herramienta execute_dql lea las sesiones de usuario de Grail

  • davis-copilot:conversations:execute - ejecutar habilidad conversacional (chat con Copilot)

  • davis-copilot:nl2dql:execute - ejecuta la habilidad de Lenguaje Natural (NL) a DQL de Davis Copilot

  • davis-copilot:dql2nl:execute - ejecuta la habilidad DQL a Lenguaje Natural (NL)

  • settings:objects:read - necesario para leer información de propiedad y Guardianes (SRG) desde settings

    Nota: Por favor, asegúrese de que se utiliza settings:objects:read, y no el ámbito de nombre similar app-settings:objects:read.

✨ Avisos de ejemplo ✨

Utilice estos avisos de ejemplo como punto de partida. Simplemente cópialos en tu IDE o configuración de agente, adáptalos a tus servicios/pila/arquitectura, y extiéndelos según sea necesario. Están aquí para ayudarte a imaginar cómo la observabilidad en tiempo real y la automatización trabajan juntas en el contexto MCP en tu IDE.

Escriba una consulta DQL a partir del lenguaje natural:

Muéstrame las tasas de error para el servicio de pago en la última hora

Explicar una consulta DQL:

¿Qué hace este DQL? fetch logs | filter dt.source_entity == 'SERVICE-123' | summarize count(), by:{severity} | ordenar count() desc

Chat con Davis CoPilot:

¿Cómo puedo investigar consultas lentas a bases de datos en Dynatrace?

Encontrar vulnerabilidades abiertas en producción, configurar alerta:

Tengo este fragmento de código aquí en mi IDE, donde obtengo una advertencia de vulnerabilidad de dependencia para mi código. Comprobar si veo alguna vulnerabilidad/cve abierta en producción. Analizar un problema específico de producción. Configurar un flujo de trabajo que envíe alertas de Slack al canal #devops-alerts cuando se produzcan problemas de disponibilidad

Depurar errores 503 intermitentes:

Nuestro equilibrador de carga está devolviendo errores 503 de forma intermitente durante los picos de tráfico. Extraiga todos los problemas recientes detectados para nuestros servicios front-end y ejecute una consulta para correlacionar las tasas de error con los indicadores de estado de la instancia de servicio. Sospecho que tenemos disyuntores que se activan, pero necesito confirmación de los datos de telemetría

Correlacionar el problema de memoria con los registros:

Hay un problema de uso elevado de memoria en uno de nuestros hosts. Obtenga los detalles del problema y, a continuación, recupere los registros relacionados para ayudar a comprender qué está causando el pico de memoria ¿Con qué archivo de este repositorio está relacionado?

Análisis del flujo de solicitudes de rastreo:

Nuestros usuarios están experimentando procesos de pago lentos. ¿Puedes ejecutar una consulta DQL para mostrarme el rastreo de solicitudes completo de nuestro flujo de pago, para que pueda identificar qué servicio está causando el cuello de botella?

Analizar los eventos del clúster Kubernetes:

Los despliegues de nuestras aplicaciones parecen fallar de forma intermitente. ¿Puede recuperar los eventos recientes de nuestro "clúster de producción" para ayudar a identificar qué podría estar causando estos problemas de despliegue?

Solución de problemas

Problemas de autenticación

En la mayoría de los casos, algo va mal con el cliente OAuth. Por favor, asegúrese de que ha añadido todos los ámbitos como se solicita más arriba. Además, asegúrese de que su usuario también tiene todos los permisos necesarios en su entorno Dynatrace.

En caso de cualquier problema, puede solucionar los problemas de SSO/OAuth basándose en nuestra Documentación para Desarrolladores de Dynatrace y proporcionando la lista de ámbitos.

Se recomienda intentar acceder a la siguiente API (que requiere ámbitos mínimos app-engine:apps:run y app-engine:functions:run):

  1. Utiliza OAuth Client ID y Secret para recuperar un Bearer Token (sólo válido durante un par de minutos):
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 app-engine:functions:run'
  1. Utiliza el access_token de la respuesta de la llamada anterior como el bearer-token en la siguiente llamada:
curl -X GET https://abc12345.apps.dynatrace.com/platform/management/v1/environment \ -H 'accept: application/json' \ -H 'Authorization: Bearer {your-bearer-token}'
  1. Deberías recuperar un resultado como este
{"environmentId": "abc12345", "createTime": "2023-01-01T00:10:57.123Z", "blockTime": "2025-12-07T00:00:00Z", "state": "ACTIVE" }

Problemas de acceso a los datos en Grail

Grail tiene una sección dedicada a los permisos en los documentos de Dynatrace. Por favor, consulte https://docs.dynatrace.com/docs/discover-dynatrace/platform/grail/data-model/assign-permissions-in-grail para más detalles.

Desarrollo

Para fines de desarrollo local, puede utilizar VSCode y GitHub Copilot.

En primer lugar, habilite Copilot para su espacio de trabajo .vscode/settings.json:

{ "github.copilot.enable": { "*": true } }

y asegúrese de que está utilizando el Modo Agente en Copilot.

En segundo lugar, añada el MCP a .vscode/mcp.json:

{ "servers": { "my-dynatrace-mcp-server": { "command": "node", "args": ["--watch", "${workspaceFolder}/dist/index.js"], "envFile": "${carpeta_del_espacio_de_trabajo}/.env" } } }

En tercer lugar, cree un archivo .env en este repositorio (puede copiarlo de .env.template) y configure las variables de entorno como se ha descrito anteriormente.

Finalmente, haz cambios en tu código y compílalo con npmrunbuild o simplemente ejecuta npm run watch y se autocompila.

Notas

Este producto no está soportado oficialmente por Dynatrace. Por favor, contacte con nosotros a través de GitHub Issues si tiene peticiones de características, preguntas o necesita ayuda.

Relacionados en Servicio en la nube - MCP Servers Seguros

ServidorResumenAcciones
Servidor MCP de AkamaiUn servidor MCP (Multi-Command Processor) ligero basado en Python diseñado para automatizar las acci...Ver
ThingsPanel MCPServidor MCP (Model Context Protocol) de ThingsPanel IoT Platform.Ver
Lago de seguridad de AmazonUn servidor MCP (Model Context Protocol) para consultar datos de Amazon Security Lake mediante AWS A...Ver
Alfa Ticker MCPNo hay documentación disponible.Ver
Asesor de AWS Customer Playbook MCP※ このリポジトリは非公式のものであり、クローンしてもらって試してもらっても良いですが責任は負いません...Ver
Servidor de pagos MCPPrimer servidor MCP de pago de TurquíaVer