Model Context Protocol (MCP) server for Dynatrace Managed (self-hosted) environments. Provides access to metrics, logs, traces, problems, security vulnerabilities, events, entities, and SLOs.
This is a well-structured Dynatrace MCP server with 18 tools covering entities, events, logs, metrics, problems, security, and SLOs. Strengths: all tools have descriptions (50-200 chars, within optimal range); all parameters have explicit type definitions (z.string(), z.number(), z.boolean(), z.enum()); tool names follow verb_noun convention with clear action semantics; comprehensive parameter descriptions with constraints; risk hints (readOnlyHint: true) present on all tools. Weaknesses: output schemas are not explicitly documented in the source code shown, descriptions state what the tool returns but the actual schema structure for responses is inferred rather than declared; some parameter descriptions contain helpful guidance but lack concrete format constraints (e.g., entitySelector examples are illustrative but not formalized as patterns); two tools (dynatrace_managed_query_logs, dynatrace_managed_list_problems) have enum constraints with confusing value sets that could mislead agents.
Discover entities in the Managed cluster using EntitySelector syntax. REQUIRED: Must specify entitySelector with exactly ONE entity type only. Results include entity properties, tags, management zones, and relationship counts for comprehensive topology analysis.
Get detailed information about a specific entity.
Get relationships that a specific entity has "to" and "from" other entities.
Get details of an entity type.
Get information about all connected Dynatrace Managed clusters and verify the connections and authentication services.
Output schemas not explicitly declared in code. Tool descriptions state what is returned (e.g., 'Results include entity properties, tags, management zones') but the actual JSON response structure is not formally documented via response type definitions. This forces LLMs to infer output fields and risks selecting wrong fields for chaining downstream tool calls.
dynatrace_managed_list_problems has enum constraint 'impactLevel' with values [APPLICATION, ENVIRONMENT, INFRASTRUCTURE, SERVICES] but description says 'SERVICE' for application issues, mismatch between enum and doc. Enum has SERVICES (plural), description uses SERVICE (singular). This ambiguity will cause LLM to pass wrong values.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | B | 74 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 56 | - | v1 |
Get detailed information about a specific event.
Get detailed information about a specific metric.
Get detailed information about a specific problem including evidence details for root cause analysis, affected entities, entity tags, and management zones. Use the problemId (UUID format) from list_problems output, NOT the displayId.
Get detailed information about a specific security problem including CVE details, affected entities, vulnerable components, code locations, and comprehensive technical analysis.
Get detailed information about a specific SLO.
List available metrics in the Managed cluster, optionally filtered by entity. Results include aggregation types, dimension definitions, and technical metadata for advanced metric analysis.
List all available entity types in the Managed cluster to understand what types of entities can be monitored.
List events from the Managed cluster within a specified timeframe. Results include event properties, management zones, severity/impact levels, and detailed metadata for comprehensive analysis.
List problems from the Managed cluster with optional filtering.
List security problems and vulnerabilities from the Managed cluster. Results include package names, technology details, vulnerable components, and comprehensive risk assessment data.
List Service Level Objectives (SLOs) from the Managed cluster. Results include timeframe details, management zones, error budget burn rates, and comprehensive SLO configuration data. IMPORTANT: When evaluate=true, the query must be limited to 25 or fewer results using the limit parameter.
Search logs using simple text queries. Results include event types, expanded metadata fields (up to 8 fields), and enhanced error detection. Managed clusters support basic text search but not structured syntax like "content:" or "loglevel:".
Query metric data for a specific time range and metric selector. Must limit the amount of data being retrieved: must use a specific entitySelector, such as using specific entityIds; must use a narrow timerange (with from and to); must use a resolution in line with the timerange, for example if getting data covering several days then the resolution should be hours rather than minutes.
Multiple tools (discover_entities, list_events, query_metrics_data, list_problems, list_security_problems) have critical constraints in descriptions (e.g., 'CRITICAL: Only ONE entity type per query', 'CRITICAL: Must include exactly ONE entity type') but these are not formalized as JSON Schema validation or regex patterns. LLMs may ignore caps-lock warnings and pass invalid selectors.
No error handling guidance documented in tool descriptions. Tools return structured data on success, but descriptions do not explain how errors are handled (e.g., 'If environment_alias is invalid, the tool returns a structured error with available aliases' or recovery actions). This leaves LLMs without guidance when calls fail.
Parameter 'limit' appears on 11 tools with descriptions like 'Cannot exceed 5000' but lacks explicit min/max constraints in z.number() schema. Should be z.number().min(1).max(5000) to enforce bounds at validation time rather than relying on description text.
dynatrace_managed_query_logs tool description states 'Do NOT use structured syntax' but provides no enum or pattern validation to prevent LLMs from ignoring this guidance and passing 'content:error' or 'loglevel:INFO' anyway. Validation should reject such patterns server-side with actionable error messages.
No idempotency or retry guidance documented. All tools are marked readOnlyHint: true (safe to retry), but descriptions do not explicitly state 'This operation is idempotent, safe to call multiple times with the same inputs without side effects.' This is minor since they are read-only, but explicit documentation would be clearer.