Skip to main content
Glama
keadachik

dynatrace-mcp

by keadachik

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

Related MCP server: VSCode Internal Command MCP Server

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/dynatrace-mcp-server.

VS Code

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

Claude Desktop

{
  "mcpServers": {
    "mobile-mcp": {
      "command": "npx",
      "args": ["-y", "@dynatrace/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.

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/keadachik/dynatrace-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server