mcp/dynatrace-mcp-server

Verified Publisher

By mcp

Updated 15 days ago

This MCP Server allows interaction with the Dynatrace observability platform, brining real-time o...

Image
Machine learning & AI
0

100K+

mcp/dynatrace-mcp-server repository overview

Dynatrace MCP Server

This MCP Server allows interaction with the Dynatrace observability platform, brining real-time observability data directly into your development workflow.

What is an MCP Server?

MCP Info

Image Building Info

AttributeDetails
Dockerfilehttps://github.com/dynatrace-oss/dynatrace-mcp/blob/35db4695ce24f19d5326edee5a86e9ba39e13f69/Dockerfile
Commit35db4695ce24f19d5326edee5a86e9ba39e13f69
Docker Image built byDocker Inc.
Docker Scout Health ScoreDocker Scout Health Score
Verify SignatureCOSIGN_REPOSITORY=mcp/signatures cosign verify mcp/dynatrace-mcp-server --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
LicenceMIT License

Available Tools (18)

Tools provided by this ServerShort Description
chat_with_davis_copilotUse this tool to ask any Dynatrace related question, in case no other more specific tool is available.
create_dynatrace_notebookCreate a new notebook in the Dynatrace platform (NOT a Jupyter notebook) to share your analysis and findings with colleagues.
execute_davis_analyzerExecute a Davis Analyzer with custom input parameters.
execute_dqlGet data like Logs, Metrics, Spans, Events, or Entity Data from Dynatrace Grail by executing a Dynatrace Query Language (DQL) statement.
explain_dql_in_natural_languageExplain Dynatrace Query Language (DQL) statements in natural language using Davis CoPilot AI.
find_entity_by_nameFind the entityId and type of a monitored entity (service, host, process-group, application, kubernetes-node, custom-app, ...) within the topology on Dynatrace, based on the name of the entity.
generate_dql_from_natural_languageConvert natural language queries to Dynatrace Query Language (DQL) using Davis CoPilot AI.
get_environment_infoGet information about the connected Dynatrace Environment (Tenant) and verify the connection and authentication.
get_kubernetes_eventsGet all events from a specific Kubernetes (K8s) cluster
list_davis_analyzersList all available Davis Analyzers in Dynatrace (forecast, anomaly detection, correlation analyzers, and more)
list_exceptionsList all exceptions known on Dynatrace starting with the most recent.
list_problemsList all problems (based on "fetch dt.davis.problems") known on Dynatrace, sorted by their recency.
list_vulnerabilitiesRetrieve all active (non-muted) vulnerabilities from Dynatrace.
reset_grail_budgetReset the Grail query budget after it was exhausted, allowing new queries to be executed.
send_emailSend an email using the Dynatrace Email API.
send_eventSend a custom event to Dynatrace using the Events API v2.
send_slack_messageSends a Slack message to a dedicated Slack Channel via Slack Connector on Dynatrace
verify_dqlSyntactically verify a Dynatrace Query Language (DQL) statement on Dynatrace GRAIL before executing it.

Tools Details

Tool: chat_with_davis_copilot

Use this tool to ask any Dynatrace related question, in case no other more specific tool is available.

ParametersTypeDescription
textstringYour question or request for Davis CoPilot
contextstring optionalOptional context to provide additional information (like problem details, vulnerability details, entity information)
instructionstring optionalOptional instruction for how to format the response

This tool is read-only. It does not modify its environment.

This tool interacts with external entities.


Tool: create_dynatrace_notebook

Create a new notebook in the Dynatrace platform (NOT a Jupyter notebook) to share your analysis and findings with colleagues.

ParametersTypeDescription
contentarrayThe Dynatrace notebook content, containing DQL statements and text (multi-line markdown is possible) relevant for the analysis. Do NOT use Jupyter notebook format.
namestringThe name of the notebook (e.g., "Performance Analysis for " or "Error Investigation Dashboard for ")
descriptionstring optionalOptional description of the Dynatrace notebook (could include the purpose, scope, the original prompt, or just a summary based on the initial prompt)

This tool may perform destructive updates.


Tool: execute_davis_analyzer

Execute a Davis Analyzer with custom input parameters. Use "list_davis_analyzers" first to see available analyzers and their names.

ParametersTypeDescription
analyzerNamestringThe name of the Davis Analyzer to execute (e.g., "dt.statistics.GenericForecastAnalyzer")
inputobject optionalInput parameters for the analyzer as a JSON object
timeframeEndstring optionalEnd time for the analysis (default: now)
timeframeStartstring optionalStart time for the analysis (default: now-1h)

This tool is read-only. It does not modify its environment.


Tool: execute_dql

Get data like Logs, Metrics, Spans, Events, or Entity Data from Dynatrace Grail by executing a Dynatrace Query Language (DQL) statement. Use the "generate_dql_from_natural_language" tool upfront to generate or refine a DQL statement based on your request. To learn about possible fields available for filtering, use the query "fetch dt.semantic_dictionary.models | filter data_object == "logs"". IMPORTANT: The MCP App UI will automatically render the query results as an interactive table and chart. Do NOT generate Mermaid diagrams, ASCII charts, markdown tables, or any other visual representation of the data — the MCP App is solely responsible for rendering.

ParametersTypeDescription
dqlStatementstringDQL Statement (Ex: "fetch [logs, spans, events, ...], from: now()-4h, to: now() [
recordLimitnumber optionalMaximum number of records to return (default: 100)
recordSizeLimitMBnumber optionalMaximum size of the returned records in MB (default: 1MB)

This tool interacts with external entities.


Tool: explain_dql_in_natural_language

Explain Dynatrace Query Language (DQL) statements in natural language using Davis CoPilot AI.

ParametersTypeDescription
dqlstringThe DQL statement to explain

This tool is read-only. It does not modify its environment.


Tool: find_entity_by_name

Find the entityId and type of a monitored entity (service, host, process-group, application, kubernetes-node, custom-app, ...) within the topology on Dynatrace, based on the name of the entity. Run this before querying data like logs, metrics, problems, events. If no entity name is known, make an educated guess with common identifiers like package.json id/name, helm chart names, kubernetes manifest names, and alike.

ParametersTypeDescription
entityNamesarrayNames of the entities to search for - try with one name at first (identifiers like package.json id), and only try with multiple names if the first search was unsuccessful
extendedSearchboolean optionalSet this to true if you want a comprehensive search over all available entity types.
maxEntitiesToDisplaynumber optionalMaximum number of entities to display in the response.

This tool is read-only. It does not modify its environment.


Tool: generate_dql_from_natural_language

Convert natural language queries to Dynatrace Query Language (DQL) using Davis CoPilot AI. You can ask for problem events, security issues, logs, metrics, spans, and custom data.

ParametersTypeDescription
textstringNatural language description of what you want to query. Be specific and include time ranges, entities, and metrics of interest.

This tool is read-only. It does not modify its environment.


Tool: get_environment_info

Get information about the connected Dynatrace Environment (Tenant) and verify the connection and authentication.

Tool: get_kubernetes_events

Get all events from a specific Kubernetes (K8s) cluster

ParametersTypeDescription
clusterIdstring optionalThe Kubernetes Cluster Id, referred to as k8s.cluster.uid, usually seen when using "kubectl" - this is NOT the Dynatrace environment and not the Dynatrace Kubernetes Entity Id. Leave empty if you don't know the Cluster Id.
eventTypestring optional
kubernetesEntityIdstring optionalThe Dynatrace Kubernetes Entity Id, referred to as dt.entity.kubernetes_cluster. Leave empty if you don't know the Entity Id, or use the "find_entity_by_name" tool to find the cluster by name.
maxEventsToDisplaynumber optionalMaximum number of events to display in the response.
timeframestring optionalTimeframe to query events (e.g., "12h", "24h", "7d", "30d"). Default: "24h". Supports hours (h) and days (d).

This tool is read-only. It does not modify its environment.


Tool: list_davis_analyzers

List all available Davis Analyzers in Dynatrace (forecast, anomaly detection, correlation analyzers, and more)

Tool: list_exceptions

List all exceptions known on Dynatrace starting with the most recent.

ParametersTypeDescription
additionalFilterstring optionalAdditional DQL filter for user.events - filter by error id like 'error.id == "<error.id>"', application id like 'dt.rum.application.id == "<dt.rum.application.id>"', application entity like 'dt.rum.application.entity == "<dt.rum.application.entity>"' or operating system name like 'os.name == "<os.name>"'. Leave empty to get all exceptions within the timeframe.
maxExceptionsToDisplaynumber optionalMaximum number of exceptions to display in the response.
timeframestring optionalTimeframe to query problems (e.g., "12h", "24h", "7d", "30d", "30m"). Default: "24h". Supports days (d), hours (h) and minutes (m).

This tool is read-only. It does not modify its environment.


Tool: list_problems

List all problems (based on "fetch dt.davis.problems") known on Dynatrace, sorted by their recency.

ParametersTypeDescription
additionalFilterstring optionalAdditional DQL filter for dt.davis.problems - filter by entity type (preferred), like 'dt.entity.<service
maxProblemsToDisplaynumber optionalMaximum number of problems to display in the response.
statusstring optionalFitler problems by their status. "ACTIVE": only active problems (those without an end time set), "CLOSED": only closed problems (those with an end time set), "ALL": active and closed problems (default)
timeframestring optionalTimeframe to query problems (e.g., "12h", "24h", "7d", "30d"). Default: "24h". Supports hours (h) and days (d).

This tool is read-only. It does not modify its environment.


Tool: list_vulnerabilities

Retrieve all active (non-muted) vulnerabilities from Dynatrace. An additional filter can be provided using DQL filter (filter for a specific entity type and id).

ParametersTypeDescription
additionalFilterstring optionalAdditional DQL-based filter for accessing vulnerabilities, e.g., by entity type (preferred), like 'dt.entity.<service
maxVulnerabilitiesToDisplaynumber optionalMaximum number of vulnerabilities to display in the response.
riskScorenumber optionalMinimum risk score of vulnerabilities to list (default: 8.0)
timeframestring optionalTimeframe to query vulnerabilities (e.g., "12h", "24h", "7d", "30d", "90d"). Default: "30d". Supports hours (h) and days (d).

This tool is read-only. It does not modify its environment.


Tool: reset_grail_budget

Reset the Grail query budget after it was exhausted, allowing new queries to be executed. This clears all tracked bytes scanned in the current session.

Tool: send_email

Send an email using the Dynatrace Email API. The sender will be [email protected]. Maximum 10 recipients total across TO, CC, and BCC.

ParametersTypeDescription
bodystringBody content of the email (plain text only). Avoid sending sensitive data like log lines. Focus on context, insights, links, and summaries.
subjectstringSubject line of the email
toRecipientsarrayArray of email addresses for TO recipients
bccRecipientsarray optionalArray of email addresses for BCC recipients
ccRecipientsarray optionalArray of email addresses for CC recipients

This tool interacts with external entities.


Tool: send_event

Send a custom event to Dynatrace using the Events API v2. Use this to ingest custom events for alerting, tracking deployments, configuration changes, or any custom business events.

ParametersTypeDescription
eventTypestringType of event to send. Common types: CUSTOM_INFO for general information, CUSTOM_DEPLOYMENT for deployments, CUSTOM_ALERT for alerts, ERROR_EVENT for errors.
titlestringTitle of the event (max 500 characters). Should be descriptive and concise.
endTimenumber optionalEnd timestamp of the event in UTC milliseconds. If not set, current time is used.
entitySelectorstring optionalEntity selector to associate the event with specific Dynatrace entities. Example: "type(HOST),entityId(HOST-1234567890ABCDEF)" or "type(SERVICE),tag(environment:production)"
propertiesobject optionalCustom properties as key-value pairs to include with the event. Example: {"version": "1.2.3", "environment": "production"}
startTimenumber optionalStart timestamp of the event in UTC milliseconds. If not set, current time is used.

This tool may perform destructive updates.


Tool: send_slack_message

Sends a Slack message to a dedicated Slack Channel via Slack Connector on Dynatrace

ParametersTypeDescription
channelstring
messagestringSlack markdown supported. Avoid sending sensitive data like log lines. Focus on context, insights, links, and summaries.

Tool: verify_dql

Syntactically verify a Dynatrace Query Language (DQL) statement on Dynatrace GRAIL before executing it. Recommended for generated DQL statements. Skip for statements created by generate_dql_from_natural_language tool, as well as from documentation.

ParametersTypeDescription
dqlStatementstring

This tool is read-only. It does not modify its environment.


Use this MCP Server

{
  "mcpServers": {
    "dynatrace-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "DT_ENVIRONMENT",
        "-e",
        "OAUTH_CLIENT_ID",
        "-e",
        "OAUTH_CLIENT_SECRET",
        "mcp/dynatrace-mcp-server"
      ],
      "env": {
        "DT_ENVIRONMENT": "https://abc12345.apps.dynatrace.com",
        "OAUTH_CLIENT_ID": "dt0s02.SAMPLE",
        "OAUTH_CLIENT_SECRET": "dt0s02.SAMPLE.abcd1234"
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?

Install from MCP:Hub

Tag summary

Content type

Image

Digest

sha256:df93c6f19

Size

57.4 MB

Last updated

15 days ago

docker pull mcp/dynatrace-mcp-server

This week's pulls

Pulls:

287

Last week