This MCP Server allows interaction with the Dynatrace observability platform, brining real-time observability data directly into your development workflow.
4.4K
16 Tools
Version 4.43 or later needs to be installed to add the server automatically
Use cases
About
This MCP Server allows interaction with the Dynatrace observability platform, brining real-time observability data directly into your development workflow.
Attribute | Details |
---|---|
Docker Image | mcp/dynatrace-mcp-server |
Author | dynatrace-oss |
Repository | https://github.com/dynatrace-oss/dynatrace-mcp |
Dockerfile | https://github.com/dynatrace-oss/dynatrace-mcp/blob/main/Dockerfile |
Docker Image built by | Docker Inc. |
Docker Scout Health Score | |
Verify Signature | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/dynatrace-mcp-server --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
Licence | MIT License |
Tools provided by this Server | Short Description |
---|---|
chat_with_davis_copilot | Use this tool in case no specific tool is available. |
create_workflow_for_notification | Create a notification for a team based on a problem type within Workflows in Dynatrace |
execute_dql | Get Logs, Metrics, Spans or Events from Dynatrace GRAIL by executing a Dynatrace Query Language (DQL) statement. |
explain_dql_in_natural_language | Explain Dynatrace Query Language (DQL) statements in natural language using Davis CoPilot AI. |
find_entity_by_name | Get the entityId of a monitored entity based on the name of the entity on Dynatrace |
generate_dql_from_natural_language | Convert natural language queries to Dynatrace Query Language (DQL) using Davis CoPilot AI. |
get_entity_details | Get details of a monitored entity based on the entityId on Dynatrace |
get_environment_info | Get information about the connected Dynatrace Environment (Tenant) |
get_kubernetes_events | Get all events from a specific Kubernetes (K8s) cluster |
get_logs_for_entity | Get Logs for a monitored entity based on name of the entity on Dynatrace |
get_ownership | Get detailed Ownership information for one or multiple entities on Dynatrace |
list_problems | List all problems (dt.davis.problems) known on Dynatrace, sorted by their recency, for the last 12h. |
list_vulnerabilities | List all non-muted vulnerabilities from Dynatrace for the last 30 days. |
make_workflow_public | Modify a workflow and make it publicly available to everyone on the Dynatrace Environment |
send_slack_message | Sends a Slack message to a dedicated Slack Channel via Slack Connector on Dynatrace |
verify_dql | Verify a Dynatrace Query Language (DQL) statement on Dynatrace GRAIL before executing it. |
chat_with_davis_copilot
Use this tool in case no specific tool is available. Get an answer to any Dynatrace related question as well as troubleshooting, and guidance. (Note: Davis CoPilot AI is GA, but the Davis CoPilot APIs are in preview)
Parameters | Type | Description |
---|---|---|
text | string | Your question or request for Davis CoPilot |
context | string optional | Optional context to provide additional information |
instruction | string optional | Optional instruction for how to format the response |
create_workflow_for_notification
Create a notification for a team based on a problem type within Workflows in Dynatrace
Parameters | Type | Description |
---|---|---|
channel | string optional | |
isPrivate | boolean optional | |
problemType | string optional | |
teamName | string optional |
execute_dql
Get Logs, Metrics, Spans or Events from Dynatrace GRAIL by executing a Dynatrace Query Language (DQL) statement. It's recommended to use "verify_dql" tool before you execute a DQL statement. A valid statement looks like this: "fetch [logs, spans, events] | filter | summarize count(), by:{some-fields}. Adapt filters for certain attributes: traceId
could be trace_id
or trace.id
.
Parameters | Type | Description |
---|---|---|
dqlStatement | string |
explain_dql_in_natural_language
Explain Dynatrace Query Language (DQL) statements in natural language using Davis CoPilot AI.
Parameters | Type | Description |
---|---|---|
dql | string | The DQL statement to explain |
find_entity_by_name
Get the entityId of a monitored entity based on the name of the entity on Dynatrace
Parameters | Type | Description |
---|---|---|
entityName | string |
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.
Parameters | Type | Description |
---|---|---|
text | string | Natural language description of what you want to query. Be specific and include time ranges, entities, and metrics of interest. |
get_entity_details
Get details of a monitored entity based on the entityId on Dynatrace
Parameters | Type | Description |
---|---|---|
entityId | string optional |
get_environment_info
Get information about the connected Dynatrace Environment (Tenant)
get_kubernetes_events
Get all events from a specific Kubernetes (K8s) cluster
Parameters | Type | Description |
---|---|---|
clusterId | string optional | The Kubernetes (K8s) Cluster Id, referred to as k8s.cluster.uid (this is NOT the Dynatrace environment) |
get_logs_for_entity
Get Logs for a monitored entity based on name of the entity on Dynatrace
Parameters | Type | Description |
---|---|---|
entityName | string optional |
get_ownership
Get detailed Ownership information for one or multiple entities on Dynatrace
Parameters | Type | Description |
---|---|---|
entityIds | string optional | Comma separated list of entityIds |
list_problems
List all problems (dt.davis.problems) known on Dynatrace, sorted by their recency, for the last 12h. An additional filter can be provided using DQL filter.
Parameters | Type | Description |
---|---|---|
additionalFilter | string optional | Additional filter for DQL statement for dt.davis.problems, e.g., 'entity_tags == array("dt.owner:team-foobar", "tag:tag")' |
maxProblemsToDisplay | number optional | Maximum number of problems to display in the response. |
list_vulnerabilities
List all non-muted vulnerabilities from Dynatrace for the last 30 days. An additional filter can be provided using DQL filter.
Parameters | Type | Description |
---|---|---|
additionalFilter | string optional | Additional filter for DQL statement for vulnerabilities, e.g., 'vulnerability.stack == "CODE_LIBRARY"' or 'vulnerability.risk.level == "CRITICAL"' or 'affected_entity.name contains "prod"' or 'vulnerability.davis_assessment.exposure_status == "PUBLIC_NETWORK"' |
maxVulnerabilitiesToDisplay | number optional | Maximum number of vulnerabilities to display in the response. |
riskScore | number optional | Minimum risk score of vulnerabilities to list (default: 8.0) |
make_workflow_public
Modify a workflow and make it publicly available to everyone on the Dynatrace Environment
Parameters | Type | Description |
---|---|---|
workflowId | string optional |
send_slack_message
Sends a Slack message to a dedicated Slack Channel via Slack Connector on Dynatrace
Parameters | Type | Description |
---|---|---|
channel | string optional | |
message | string optional |
verify_dql
Verify a Dynatrace Query Language (DQL) statement on Dynatrace GRAIL before executing it. This step is recommended for DQL statements that have been dynamically created by non-expert tools. For statements coming from the generate_dql_from_natural_language
tool as well as from documentation, this step can be omitted.
Parameters | Type | Description |
---|---|---|
dqlStatement | string |
{
"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"
}
}
}
}
Manual installation
You can install the MCP server using:
Installation for