Dynatrace MCP Server

MIT License
113
32

Integrations

  • Enables real-time observability data access from Dynatrace, allowing users to fetch problem details, security vulnerabilities, execute DQL queries, retrieve logs and metrics, analyze Kubernetes cluster events, and set up notifications via Slack and Dynatrace AutomationEngine.

  • Provides tools for monitoring Kubernetes clusters, retrieving problem details from services, and analyzing cluster events to troubleshoot deployment issues.

  • Allows sending notification messages to Slack channels via a Slack Connector, supporting features like alerting on availability problems and security vulnerabilities.

Dynatrace MCP Server

This remote MCP server allows interaction with the Dynatrace observability platform. Bring real-time observability data directly into your development workflow.

Use cases

  • Real-time observability, fetch production-level data for early detection.
  • Fix issues in the context from monitored exceptions, logs, and anomalies.
  • More context on security level issues
  • Natural language to query log data

Capabilities

  • List and get problem details from your services (for example Kubernetes)
  • List and get security problems / vulnerability details
  • Execute DQL(Dynatrace Query Language) like getting events or logs
  • Send Slack messages (via Slack Connector)
  • Set up notification Workflow (via Dynatrace AutomationEngine)
  • Get Ownership of an entity

Quickstart

Work in progress

You can add this MCP server (using STDIO) to your MCP Client like VS Code, Claude, Cursor, Windsurf Github Copilot via the package @dynatrace-oss/dynatrace-mcp-server.

VS Code

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

Claude Desktop

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

Environment Variables

A Dynatrace OAuth Client is needed to communicate with your Dynatrace Environment. Please follow the documentation about creating an Oauth Client in Dynatrace, and set up the following environment variables in order for this MCP to work:

  • DT_ENVIRONMENT (string, e.g., https://abcd1234.apps.dynatrace.com) - URL to your Dynatrace Platform
  • OAUTH_CLIENT_ID (string, e.g., dt0s02.SAMPLE) - Dynatrace OAuth Client ID
  • OAUTH_CLIENT_SECRET (string, e.g., dt0s02.SAMPLE.abcd1234) - Dynatrace OAuth Client Secret
  • OAuth Client Scopes:
    • app-engine:apps:run - needed for environmentInformationClient
    • app-engine:functions:run - needed for environmentInformationClient
    • hub:catalog:read - get details about installed Apps on Dynatrace Environment
    • environment-api:security-problems:read - needed for reading security problems
    • environment-api:entities:read - read monitored entities
    • environment-api:problems:read - get problems
    • environment-api:metrics:read - read metrics
    • environment-api:slo:read - read SLOs
    • settings:objects:read - needed for reading ownership information and Guardians (SRG) from settings
    • storage:buckets:read - Read all system data stored on Grail
    • storage:logs:read - Read logs for reliability guardian validations
    • storage:metrics:read - Read metrics for reliability guardian validations
    • storage:bizevents:read - Read bizevents for reliability guardian validations
    • storage:spans:read - Read spans from Grail
    • storage:entities:read - Read Entities from Grail
    • storage:system:read - Read System Data from Grail
    • storage:user.events:read - Read User events from Grail
    • storage:user.sessions:read - Read User sessions from Grail

In addition, depending on the features you use, the following variables can be configured:

  • SLACK_CONNECTION_ID (string) - connection ID of a Slack Connection
  • USE_APP_SETTINGS (boolean, true or false; default: false)
    • Requires scope app-settings:objects:read to read settings-objects from app settings
  • USE_WORKFLOWS (boolean, true or false; default: false)
    • Requires scopes automation:workflows:read, automation:workflows:write and automation:workflows:run to read, write and execute Workflows

✨ Example prompts ✨

Use these example prompts as a starting point. Just copy them into your IDE or agent setup, adapt them to your services/stack/architecture, and extend them as needed. They’re here to help you imagine how real-time observability and automation work together in the MCP context in your IDE.

Find open vulnerabilities on production, setup alert.

I have this code snippet here in my IDE, where I get a dependency vulnerability warning for my code. Check if I see any open vulnerability/cve on production. Analyze a specific production problem. Setup a workflow that sends Slack alerts to the #devops-alerts channel when availability problems occur.

Debug intermittent 503 errors.

Our load balancer is intermittently returning 503 errors during peak traffic. Pull all recent problems detected for our front-end services and run a query to correlate error rates with service instance health indicators. I suspect we have circuit breakers triggering, but need confirmation from the telemetry data.

Correlate memory issue with logs.

There's a problem with high memory usage on one of our hosts. Get the problem details and then fetch related logs to help understand what's causing the memory spike? Which file in this repo is this related to?

Trace request flow analysis.

Our users are experiencing slow checkout processes. Can you execute a DQL query to show me the full request trace for our checkout flow, so I can identify which service is causing the bottleneck?

Analyze Kubernetes cluster events.

Our application deployments seem to be failing intermittently. Can you fetch recent events from our "production-cluster" to help identify what might be causing these deployment issues?

Development

For development purposes, you can use VSCode and GitHub Copilot.

First, enable Copilot for your Workspace .vscode/settings.json:

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

Second, add the MCP to .vscode/mcp.json:

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

Third, create a .env file in this repository (you can copy from .env.template) and configure environment variables as described above.

Last but not least, switch to Agent Mode in CoPilot and reload tools.

Notes

This product is not officially supported by Dynatrace. Please contact us via GitHub Issues if you have feature requests, questions, or need help.

-
security - not tested
A
license - permissive license
-
quality - not tested

A remote MCP server that enables real-time interaction with the Dynatrace observability platform, bringing production-level monitoring data directly into development workflows.

  1. Use cases
    1. Capabilities
      1. Quickstart
        1. Environment Variables
          1. ✨ Example prompts ✨
            1. Development
              1. Notes

                Related MCP Servers

                • -
                  security
                  A
                  license
                  -
                  quality
                  MCP server for interacting with Prometheus metrics and data.
                  Last updated -
                  8
                  JavaScript
                  MIT License
                  • Apple
                • -
                  security
                  F
                  license
                  -
                  quality
                  A configurable MCP server that dynamically loads capabilities from a remote configuration to bridge MCP clients with remote APIs for executing actions, accessing resources, and utilizing prompt templates.
                  Last updated -
                  1,261
                  4
                  TypeScript
                • A
                  security
                  A
                  license
                  A
                  quality
                  The MCP server provides an interface to the Datadog API, enabling seamless management of incidents, monitoring, logs, dashboards, metrics, traces, and hosts. Its extensible design allows easy integration of additional Datadog APIs for future expansions.
                  Last updated -
                  14
                  322
                  36
                  TypeScript
                  Apache 2.0
                  • Apple
                • A
                  security
                  F
                  license
                  A
                  quality
                  An MCP server implementation that enables interaction with the Unstructured API, providing tools to list, create, update, and manage sources, destinations, and workflows.
                  Last updated -
                  39
                  25
                  • Apple

                View all related MCP servers

                ID: 3pwqt25s6z