This MCP Server allows interaction with the Dynatrace observability platform, brining real-time o...
100K+
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 |
| Attribute | Details |
|---|---|
| Dockerfile | https://github.com/dynatrace-oss/dynatrace-mcp/blob/e1b9fcf382515c51e2c60fc6442b97bebc641b44/Dockerfile |
| Commit | e1b9fcf382515c51e2c60fc6442b97bebc641b44 |
| 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_copilotUse 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_notificationCreate 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_dqlGet 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_languageExplain 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_nameGet the entityId of a monitored entity based on the name of the entity on Dynatrace
| Parameters | Type | Description |
|---|---|---|
entityName | string |
generate_dql_from_natural_languageConvert 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_detailsGet details of a monitored entity based on the entityId on Dynatrace
| Parameters | Type | Description |
|---|---|---|
entityId | string optional |
get_environment_infoGet information about the connected Dynatrace Environment (Tenant)
get_kubernetes_eventsGet 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_entityGet Logs for a monitored entity based on name of the entity on Dynatrace
| Parameters | Type | Description |
|---|---|---|
entityName | string optional |
get_ownershipGet detailed Ownership information for one or multiple entities on Dynatrace
| Parameters | Type | Description |
|---|---|---|
entityIds | string optional | Comma separated list of entityIds |
list_problemsList 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_vulnerabilitiesList 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_publicModify a workflow and make it publicly available to everyone on the Dynatrace Environment
| Parameters | Type | Description |
|---|---|---|
workflowId | string optional |
send_slack_messageSends a Slack message to a dedicated Slack Channel via Slack Connector on Dynatrace
| Parameters | Type | Description |
|---|---|---|
channel | string optional | |
message | string optional |
verify_dqlVerify 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"
}
}
}
}
Content type
Image
Digest
sha256:101536db9…
Size
103.8 MB
Last updated
6 months ago
docker pull mcp/dynatrace-mcp-serverPulls:
28,700
Last week