A side-by-side look at the Dynatrace Managed MCP and MCP Server MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Dynatrace Managed MCP for monitoring work as a local process; choose MCP Server for monitoring as a local process. You can also run both side by side in one mcpServers block.
DT_CONFIG_FILE, DT_ENVIRONMENT_CONFIGS.MACKEREL_APIKEY.list_alerts, get_alert, get_alert_logs.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Monitoring | Monitoring |
| Quality signal | 47/100 · Fair | 65/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | API key required |
| Pricing | Not declared | BYOK (pay the provider) |
| Required env vars | DT_CONFIG_FILEDT_ENVIRONMENT_CONFIGS | MACKEREL_APIKEY |
| Verified owner | Community listing | Community listing |
| GitHub stars | 32 | 7 |
| Directory activity | 1 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | Not listed | 16 |
| Full listing | View Dynatrace Managed MCP | View MCP Server |
No tool names declared yet. Check the project README from the listing page.
list_alertsRetrieve alerts from Mackerel.
🔍 USE THIS TOOL WHEN USERS:
- Check currently active alerts
- Get a list of alerts including closed alerts
<examples>
### Get opening alerts
```
list_alerts()
```
### Get all alerts
```
list_alerts(withClosed=true)
```
</examples>
get_alertRetrieve a specific alert by ID from Mackerel.
🔍 USE THIS TOOL WHEN USERS:
- Investigate a particular alert
<examples>
### Get alert by ID
```
get_alert(alertId=3Yr)
```
</example>
get_alert_logsRetrieve logs for a specific alert by ID from Mackerel.
🔍 USE THIS TOOL WHEN USERS:
- View status change history for a specific alert
- Investigate alert transitions and their reasons
<examples>
### Get alert logs for the alert
```
get_alert_logs(alertId=3Yr)
```
</example>
list_dashboardsRetrieve all dashboards from Mackerel.
🔍 USE THIS TOOL WHEN USERS:
- Get a list of dashboards
- Get ID and title of each dashboard
<examples>
### Get all dashboards
```
list_dashboards()
```
</example>
get_dashboardRetrieve a specific dashboard by ID from Mackerel.
🔍 USE THIS TOOL WHEN USERS:
- Get details of a specific dashboard
- View dashboard configuration and widgets
<examples>
### Get dashboard by ID
```
get_dashboard(dashboardId="3Yr")
```
</examples>
update_dashboardUpdate a specific dashboard by ID in Mackerel.
🔍 USE THIS TOOL WHEN USERS:
- Modify dashboard title, memo, or URL path
- Update dashboard widgets configuration
<examples>
### Update dashboard
```
update_dashboard(
dashboardId="3Yr",
title="Updated Dashboard",
memo="Updated memo",
urlPath="updated path",
widgets=[{
type="markdown",
markdown="## Updated Markdown Widget",
title="Updated Title",
layout: { x: 0, y: 0, width: 6, height: 4 },
}]
)
```
</examples>
list_hostsRetrieve hosts from Mackerel.
🔍 USE THIS TOOL WHEN USERS:
- Get a list of hosts
- Filter hosts by various criteria (service, role, name, etc.)
- Check host status and information
<examples>
### Get all hosts (first 20)
```
list_hosts()
```
### Get hosts for a specific role
```
list_hosts(service="web",role=["app"])
```
### Get hosts by status with pagination
```
list_hosts(status=["working","standby"], limit=10, offset=0)
```
### Get hosts in summary format (reduced response size)
```
list_hosts(summary=true)
```
### Get next page of hosts
```
list_hosts(limit=20, offset=20)
```
</examples>
get_host_metricsRetrieve metrics data for a specific host from Mackerel.
🔍 USE THIS TOOL WHEN USERS:
- Get metrics data for a specific host
- Analyze host performance over time
📊 AVAILABLE METRIC NAMES:
- **Standard metrics (mackerel-agent)**: loadavg5, cpu.user, memory.used, disk.sda1.reads, network.eth0.rxBytes, etc.
- **Custom metrics**: custom.myapp.* (user-defined metrics)
- **AWS integration**: ec2.cpu.used, rds.database_connections.used, etc.
- **Azure integration**: azure.virtual_machine.cpu.percent, azure.sql_database.cpu.percent, etc.
- **GCP integration**: gce.instance.cpu.used, etc.
<examples>
### Get CPU load average for a host
```
get_host_metrics(hostId="host123", name="loadavg5", from=1609459200, to=1609462800)
```
### Get custom metric
```
get_host_metrics(hostId="host123", name="custom.myapp.response_time", from=1609459200, to=1609462800)
```
### Get AWS EC2 CPU utilization
```
get_host_metrics(hostId="host123", name="ec2.cpu.used", from=1609459200, to=1609462800)
```
</examples>
list_servicesRetrieve all services from Mackerel.
🔍 USE THIS TOOL WHEN USERS:
- Get a list of services
- View service names, memos, and roles
<examples>
### Get all services
```
list_services()
```
</examples>
get_service_metricsRetrieve metrics data for a specific service from Mackerel.
🔍 USE THIS TOOL WHEN USERS:
- "Service metrics" are metrics that correspond to a service that consists of multiple hosts and their collective roles
- The following can be visualized and monitored.
- The total number of registered users in a service
- The number of PVs for a website
- Business related KPIs such as sales or the number of orders received from EC sites
📊 AVAILABLE METRIC NAMES:
- **Custom metrics**: http.response_time, sales.count, analytics.page_view, etc.
<examples>
### Get service response time
```
get_service_metrics(serviceName="web", name="__externalhttp.responsetime.<monitorId>", from=1609459200, to=1609462800)
```
### Get service page views
```
get_service_metrics(serviceName="web", name="analytics.page_view", from=1609459200, to=1609462800)
```
</examples>list_monitorsRetrieve all monitor configurations from Mackerel.
🔍 USE THIS TOOL WHEN USERS:
- Get a list of all monitors
- View monitor configurations
<examples>
### Get all monitors
```
list_monitors()
```
</examples>
get_monitorRetrieve a specific monitor configuration by ID from Mackerel.
🔍 USE THIS TOOL WHEN USERS:
- Get details of a specific monitor
<examples>
### Get monitor by ID
```
get_monitor(monitorId="2cSZzK3XfmB")
```
</examples>
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"dynatrace-managed-mcp": {
"command": "npx",
"args": [
"-y",
"@dynatrace-oss/dynatrace-managed-mcp-server@latest"
],
"env": {
"DT_CONFIG_FILE": "YOUR_DT_CONFIG_FILE_HERE",
"DT_ENVIRONMENT_CONFIGS": "YOUR_DT_ENVIRONMENT_CONFIGS_HERE"
}
}
}
}
{
"mcpServers": {
"mcp-server-180": {
"command": "npx",
"args": [
"-y",
"@mackerel/mcp-server"
],
"env": {
"MACKEREL_APIKEY": "YOUR_MACKEREL_APIKEY_HERE"
}
}
}
}