# Dynatrace MCP

> Dynatrace (APM and Observability) connects your AI agent directly to deep performance metrics, problem tracking, and infrastructure management data from Dynatrace. You can query resource usage, check system problems, manage user accounts, or even trigger synthetic tests—all without leaving your chat window.

## Overview
- **Category:** devops-cicd
- **Price:** Free
- **Tags:** apm, observability, infrastructure-monitoring, incident-response, metrics-analysis

## Description

Monitoring a complex software stack usually means clicking through dashboards, digging into logs, and jumping between services just to find the root cause of slowdowns. This MCP lets you skip all that friction. You connect it via Vinkius and talk directly to your AI agent about your environment's health. Need to know why CPU usage spiked on last night’s build? Just ask. Want to list every host or check if a specific user needs admin rights? It handles it. This tool gives you real-time visibility into metrics, active problems, and infrastructure topology by letting your AI agent perform actions like getting problem details or running custom synthetic checks.

## Tools

### create_synthetic_location
Defines a brand-new geographical location for running performance tests.

### create_synthetic_monitor
Sets up a new automated monitor to check the performance of an application or endpoint.

### delete_dashboard
Permanently removes an existing dashboard from your environment.

### delete_synthetic_location
Removes a defined geographical location used for synthetic monitoring tests.

### delete_synthetic_monitor
Deactivates and removes an existing automated performance monitor.

### get_anomaly_detection_apps
Retrieves the configuration used for detecting unusual behavior across application services.

### get_anomaly_detection_hosts
Gets the setup details for anomaly detection on specific physical or virtual hosts.

### get_anomaly_detection_services
Retrieves configuration settings for detecting anomalies related to individual services.

### get_calculated_metrics_service
Checks the current setup and configuration of calculated service metrics.

### get_problem
Pulls all detailed technical information for a single, specific system problem ID.

### ingest_events
Sends custom, structured operational events into the monitoring stream to track non-standard occurrences.

### ingest_metrics
Pushes raw, custom data points using a standard line protocol format for tracking metrics.

### list_account_groups
Shows all predefined user groups that exist within your Dynatrace account structure.

### list_account_policies
Lists every existing access policy to check who has permission to do what.

### list_account_users
Retrieves a list of all registered users in the Dynatrace account.

### list_dashboards
Lists every dashboard you have created or are currently using.

### list_entities
Displays a list of all types of monitored infrastructure entities, like hosts and services.

### list_entity_types
Shows every possible type of entity that Dynatrace can monitor (e.g., host, container).

### list_events
Fetches a chronological list of events that occurred within specified time boundaries.

### list_metrics
Retrieves a catalog of available built-in or custom metrics you can query.

### list_problems
Generates a list of all currently open and previously closed system problems.

### list_settings_objects
Shows configuration objects that define how certain parts of the environment run.

### list_settings_schemas
Lists all available schemas used for configuring system settings and data models.

### list_synthetic_executions
Provides the historical results and performance reports from past monitor runs.

### list_synthetic_locations
Displays all defined geographical locations used for running synthetic tests.

### list_synthetic_monitors
Shows a list of all active and inactive automated performance monitors.

### query_metrics
Executes a targeted query to retrieve specific data points for selected metrics over time.

### trigger_synthetic_batch
Forces an immediate, manual run of all configured synthetic monitors and locations.

### update_account_group_permissions
Changes the permissions or roles assigned to a specific user group.

### update_dashboard
Modifies the content, layout, or widgets on an existing dashboard.

### update_synthetic_location
Changes details or settings for a previously defined synthetic test location.

### update_synthetic_monitor
Alters the schedule, endpoints, or parameters of an existing performance monitor.

### close_problem
Automatically marks an active system problem as resolved and closes it in Dynatrace.

### create_account_policy
Builds a new custom access policy to control what users can see and do within the account.

### create_account_user
Registers a brand-new user account into your Dynatrace environment.

### create_custom_entity
Adds or updates details for custom devices that need to be tracked in the monitoring system.

### create_dashboard
Builds a completely new dashboard view within your Dynatrace account.

## Prompt Examples

**Prompt:** 
```
List all active problems in my Dynatrace environment.
```

**Response:** 
```
I've found 3 active problems. The most critical is 'High CPU saturation' on host 'Production-Web-01'. Would you like me to get the full details for this problem?
```

**Prompt:** 
```
Query the average CPU usage metric for the last hour.
```

**Response:** 
```
Querying `builtin:host.cpu.usage:avg`... The average CPU usage across your monitored hosts is currently 42%, with a peak of 88% on your database cluster.
```

**Prompt:** 
```
Show me all monitored entities of type HOST.
```

**Response:** 
```
I've retrieved the list of monitored hosts. You have 12 active hosts, including 'App-Server-01', 'DB-Primary', and 10 worker nodes. All are currently reporting as healthy.
```

## Capabilities

### Analyze system health
Get details on current or past performance issues, listing all open and closed problems across your environment.

### Query performance data
Ask for metrics like average CPU usage or request count over specific time periods using precise metric selectors.

### Manage infrastructure components
List, create, and delete monitored items—hosts, services, applications, and custom devices—to map your full tech stack.

### Automate incident response actions
Programmatically close resolved problems or ingest custom events directly into the monitoring system.

### Set up performance checks
Create and run synthetic monitors from various global locations to check uptime and speed automatically.

### Manage user access
List users, groups, or create new policies and accounts without logging into the main web console.

## Use Cases

### The Incident Response Drill
A critical alert hits at 3 AM. Instead of opening the console and scrolling through dashboards, you ask your agent to list_problems. It instantly returns a summary, letting you use get_problem on the top issue to diagnose the root cause in seconds.

### The Compliance Audit
An auditor asks about user access rights across three different departments. You run list_account_users and list_account_policies, giving a full report without manually clicking through every group's permissions.

### Pre-Deployment Health Check
Before pushing a major code change, you ask your agent to trigger_synthetic_batch. This runs all monitors and gives instant feedback on global performance, letting you catch latency issues before users do.

### Building Custom Observability
Your application generates unique business metrics (like 'user signups today'). You use ingest_metrics to push this data point directly into Dynatrace for centralized monitoring, making it visible alongside CPU usage.

## Benefits

- Stop manually listing problems. Instead of navigating to the Problem section, you ask your agent to list_problems, getting a clean summary instantly.
- No more context switching for infrastructure checks. You can list_entities or list_entity_types to map out every host and service without opening multiple browser tabs.
- Run immediate performance tests on demand. When a deployment fails, trigger_synthetic_batch gives you real-time results of all monitors right in the chat.
- Better governance means knowing who can do what. Use list_account_policies or create_account_policy to manage permissions programmatically.
- Troubleshoot deeper than surface level. You don't just see a problem; you get full details by calling get_problem on specific issues.
- Handle data ingestion easily. If your app generates unique metrics, use ingest_metrics instead of building custom pipelines.

## How It Works

The bottom line is you stop jumping between tabs; you just talk to your agent about system health.

1. Subscribe to this MCP and provide your Dynatrace Environment URL and API Token.
2. Your AI client authenticates with Vinkius, making the entire suite of monitoring tools available to your agent.
3. You prompt your agent in natural language (e.g., 'What are the open problems on the web cluster?') and get actionable data back.

## Frequently Asked Questions

**How do I check if there are any active system problems using list_problems?**
Running list_problems pulls a clean summary of all open and closed issues. If you see an issue, use get_problem to pull the full technical details so you know exactly what's wrong.

**Can I manage user accounts with create_account_user?**
Yes. You can register new users in the account and then follow up by using list_account_groups to see which groups they belong to, managing access from one place.

**What is the purpose of query_metrics?**
query_metrics lets you ask for specific data points like average CPU usage over time. It's much more targeted than just looking at a general dashboard view.

**How do I automate performance testing with create_synthetic_monitor?**
You use create_synthetic_monitor to set up the test, defining where and how often it runs. Afterwards, list_synthetic_executions lets you check the results when they run.

**Is delete_dashboard irreversible?**
Yes, deleting a dashboard removes it completely from your environment. Use list_dashboards first to confirm exactly which one you are targeting before running delete_dashboard.

**How do I check which security rules are active by using list_account_policies?**
The function pulls a comprehensive list of all access policies defined in your account. This lets you see who has what permissions without needing to navigate the Dynatrace UI.

**What format must my data be in when I call ingest_events?**
You need to submit a structured payload that matches the target event schema. Using this allows you to track custom business events alongside core application performance metrics.

**How can I get a full inventory of all monitored components using list_entities?**
This tool retrieves every component tracked by Dynatrace, including hosts and services. You can filter this output to quickly map your entire infrastructure topology at a glance.

**How can I check for active problems in my environment?**
You can use the `list_problems` tool. It retrieves all open and closed problems detected by Dynatrace, providing you with an immediate overview of your system's health.

**Is it possible to query specific performance metrics like CPU usage?**
Yes! Use the `query_metrics` tool with a metric selector (e.g., `builtin:host.cpu.usage:avg`). The agent will fetch the relevant data points for analysis.

**Can I manage my synthetic monitoring tests through this server?**
Absolutely. You can use `list_synthetic_monitors` to see your current tests and `trigger_synthetic_batch` to manually start execution sequences.