Dynatrace MCP
Provides comprehensive access to Dynatrace's observability platform, including AI-powered queries (Davis CoPilot), monitoring problems and vulnerabilities, entity management, dashboard operations, automation workflows, and communication tools.
Allows retrieval of Kubernetes cluster events and status, enabling monitoring of container orchestration environments.
Integrates with OpenTelemetry for enhanced observability, enabling tracing and metrics collection within the MCP server.
Enables sending messages to Slack channels for notifications and alerts.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Dynatrace MCPshow me the top 5 services by error rate"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Dynatrace MCP
A powerful Model Context Protocol (MCP) server that provides AI assistants with comprehensive access to Dynatrace's observability platform. Features dual authentication architecture, Davis CoPilot AI integration, and 24 specialized tools for monitoring, automation, and operational intelligence.
๐ What's New in v2.6.0
๐ Grail Budget Tracking: Advanced budget monitoring system with real-time usage tracking, warnings, and limits
๐ท๏ธ Entity Tagging: Add custom tags to monitored entities for better organization and filtering
๐ HTTP Server Mode: Run as a standalone HTTP server for broader integration possibilities
๐ง Enhanced DQL Execution: Improved metadata extraction, error handling, and budget integration
๐ง Enhanced Email System: Professional email capabilities with HTML/text support and multiple recipients
๐งช Comprehensive Testing: 38 test cases covering all major functionality with 83% success rate
๐ Extended Documentation: Updated guides, examples, and troubleshooting resources
Related MCP server: snow-mcp
Costs
Important: While this local MCP server is provided for free, using it to access data in Dynatrace Grail may incur additional costs based on your Dynatrace consumption model. This affects execute_dql tool and other capabilities that query Dynatrace Grail storage, and costs depend on the volume (GB scanned/billed).
Before using this MCP server extensively, please:
Review your current Dynatrace consumption model and pricing
Understand the cost implications of the specific data you plan to query (logs, events, metrics) - see Dynatrace Pricing and Rate Card
Start with smaller timeframes (e.g., 12h-24h) and make use of buckets to reduce the cost impact
Note: We will be providing a way to monitor Query Usage of the dynatrace-mcp-server in the future.
Table of Contents
๐ Production Ready & Tested
v2.6.0 has been extensively tested with real Dynatrace environments:
โ 20/24 tools working perfectly (83% success rate)
โ All core monitoring functions operational (DQL, entities, dashboards)
โ AI integration fully functional (Davis CoPilot, natural language processing)
โ Budget tracking prevents cost overruns with real-time monitoring
โ Communication tools validated (Slack, Email with professional formatting)
โ Automation workflows tested and operational
Minor OAuth scope adjustments needed for 4 tools - mainly permission-related issues that are easily configurable.
Quick Start
1. Add to Your MCP Client
Configure your MCP client (Claude Desktop, Cline, etc.) by adding this server to your mcp.json:
{
"mcpServers": {
"dynatrace": {
"command": "npx",
"args": ["@theharithsa/dynatrace-mcp-server"],
"env": {
"OAUTH_CLIENT_ID": "dt0s02.ABC123...",
"OAUTH_CLIENT_SECRET": "dt0s02.ABC123.DEF456...",
"DT_ENVIRONMENT": "https://abc12345.apps.dynatrace.com"
}
}
}
}2. Get Your Dynatrace Credentials
Go to your Dynatrace environment โ Settings โ Platform Management โ OAuth clients
Create a new OAuth client with the required OAuth scopes
Copy the Client ID and Secret
3. Start Using
Your AI assistant can now:
๐ค AI-Powered Queries: Convert natural language to DQL using Davis CoPilot
๐ Monitor & Analyze: Query problems, vulnerabilities, and execute DQL statements
๐๏ธ Entity Management: Find, tag, and manage monitored entities with ownership info
๐ Dashboard Operations: Create, delete, and share dashboards with access control
๐ค Automation: Create workflows and execute custom TypeScript functions
๐ฌ Communication: Send Slack messages and professional emails
๐ Budget Control: Track and manage Grail query usage with budget limits
โน๏ธ On startup the server now verifies your Dynatrace connection with up to three exponential-backoff retries. Invalid URLs, credentials, or missing scopes will fail fast with detailed guidance so you can correct the configuration before using any tools.
Configuration
Basic Configuration
{
"mcpServers": {
"dynatrace": {
"command": "npx",
"args": ["@theharithsa/dynatrace-mcp-server"],
"env": {
"OAUTH_CLIENT_ID": "dt0s02.your-client-id",
"OAUTH_CLIENT_SECRET": "dt0s02.your-client-id.your-client-secret",
"DT_ENVIRONMENT": "https://your-tenant.apps.dynatrace.com"
}
}
}
}Alternative: Global Installation
# Install globally
npm install -g @theharithsa/dynatrace-mcp-server
# Then use in mcp.json
{
"mcpServers": {
"dynatrace": {
"command": "dynatrace-mcp-server",
"env": {
"OAUTH_CLIENT_ID": "dt0s02.your-client-id",
"OAUTH_CLIENT_SECRET": "dt0s02.your-client-id.your-client-secret",
"DT_ENVIRONMENT": "https://your-tenant.apps.dynatrace.com"
}
}
}
}HTTP Server Mode (NEW!)
Run as a standalone HTTP server for broader integration possibilities:
# Install globally first
npm install -g @theharithsa/dynatrace-mcp-server
# Run as HTTP server (requires all environment variables set)
dynatrace-mcp-server --http-port 3000
# Server will be available at http://localhost:3000
# Endpoints:
# GET /health - Health check
# POST /tools/list - List available tools
# POST /tools/call - Execute tool callsEnvironment Variables for HTTP Mode:
export OAUTH_CLIENT_ID="dt0s02.your-client-id"
export OAUTH_CLIENT_SECRET="dt0s02.your-client-id.your-client-secret"
export DT_ENVIRONMENT="https://your-tenant.apps.dynatrace.com"
export DT_GRAIL_QUERY_BUDGET_GB="100" # Optional: Set Grail budget limit
export LOG_LEVEL="info" # Optional: debug, info, warn, errorDocker Support:
FROM node:18-alpine
WORKDIR /app
RUN npm install -g @theharithsa/dynatrace-mcp-server
EXPOSE 3000
CMD ["dynatrace-mcp-server", "--http-port", "3000"]Available Tools (24 Total)
๐ค Davis CoPilot AI Integration (3 tools)
generate_dql_from_natural_language- Convert natural language to DQL queries using Davis CoPilot AIexplain_dql_in_natural_language- Get plain English explanations of complex DQL statementschat_with_davis_copilot- AI-powered assistant for Dynatrace questions and troubleshooting
๐ Monitoring & Observability (4 tools)
get_environment_info- Get Dynatrace environment details and configurationlist_problems- List all active problems in your environmentlist_vulnerabilities- List security vulnerabilities detected by Dynatraceget_kubernetes_events- Get Kubernetes cluster events and status
๐ Data Querying & Analysis (2 tools)
execute_dql- Execute Dynatrace Query Language statements with budget trackingverify_dql- Validate DQL syntax and structure before execution
๐๏ธ Entity Management & Tagging (4 tools)
find_entity_by_name- Find monitored entities by name across all entity typesget_entity_details- Get detailed information about specific monitored entitiesadd_entity_tags- Add custom tags to Dynatrace monitored entitiesget_ownership- Get ownership information and team assignments for entities
๐ Dashboard & Document Management (4 tools)
create_dashboard- Create dashboards from JSON files in bulkbulk_delete_dashboards- Delete multiple dashboards by document IDsshare_document_env- Share documents across environments with access controldirect_share_document- Share documents directly with specific recipients
๐ค Automation & Workflows (3 tools)
create_workflow_for_notification- Create notification workflows for problem alertsmake_workflow_public- Make private workflows publicly accessibleexecute_typescript- Execute custom TypeScript code via Dynatrace Function Executor
๐ฌ Communication (2 tools)
send_slack_message- Send messages via Dynatrace Slack integrationsend_email- Send professional emails with HTML/text support via Dynatrace Email API
๐ Budget & Usage Management (2 tools)
get_grail_budget_status- Monitor current Grail query budget usage and limitsreset_grail_budget- Reset the budget tracker when limits are exceeded
Davis CoPilot AI Integration
Overview
Davis CoPilot AI integration brings intelligent query generation and natural language processing to your Dynatrace MCP workflows. This feature is perfect for:
Converting natural language requests into powerful DQL queries
Understanding complex DQL statements in plain English
Getting AI-powered assistance for Dynatrace-related questions
Key Features
Natural Language to DQL
Transform plain English into powerful queries:
Input: "Show me CPU usage for all hosts in the last hour"
โ Davis CoPilot AI โ
Generated: timeseries from:now()-1h, by:{dt.entity.host}, cpuUsage = avg(dt.host.cpu.usage)DQL Explanation
Understand complex queries in plain English:
Input: fetch spans | filter duration > 5s | summarize avg(duration) by service.name
โ Davis CoPilot AI โ
"This query retrieves all spans with duration longer than 5 seconds, then calculates the average duration grouped by service name"AI Assistant
Get contextual help for any Dynatrace topic, from troubleshooting to best practices.
Workflow Integration
The recommended AI workflow is:
Generate: Use
generate_dql_from_natural_languageto create queries from natural languageVerify: Use
verify_dqlto validate DQL syntax and structureExecute: Use
execute_dqlto run queries with automatic budget trackingMonitor: Use
get_grail_budget_statusto check query costs and usageReset: Use
reset_grail_budgetif budget limits are exceededIterate: Refine based on results, costs, and repeat
Required Scopes for Davis CoPilot
Add these scopes to your OAuth client:
davis-copilot:nl2dql:execute
davis-copilot:dql2nl:execute
davis-copilot:conversations:executeUsage Examples
Generate DQL from Natural Language
{
"tool": "generate_dql_from_natural_language",
"arguments": {
"text": "Show me CPU usage for all hosts in the last hour"
}
}Result: Generated DQL ready for execution with verification token.
Explain Complex DQL
{
"tool": "explain_dql_in_natural_language",
"arguments": {
"dql": "timeseries from:now()-1h, by:{dt.entity.host}, cpuUsage = avg(dt.host.cpu.usage)"
}
}Result: Plain English explanation of query logic and data sources.
Chat with Davis CoPilot
{
"tool": "chat_with_davis_copilot",
"arguments": {
"text": "How do I optimize database query performance in my Java application?",
"context": "We're seeing high response times in our e-commerce application"
}
}Environment Variables
Core Required Variables
Variable | Description | Example | Required |
| Dynatrace OAuth Client ID |
| โ |
| Dynatrace OAuth Client Secret |
| โ |
| Dynatrace environment URL (Platform API) |
| โ |
| Platform API token for Davis CoPilot |
| โ (for Davis CoPilot) |
Budget & Logging Configuration (NEW!)
Variable | Description | Example | Default |
| Grail query budget limit in GB |
|
|
| Logging level (debug/info/warn/error) |
|
|
| Port for HTTP server mode |
| None |
OAuth Configuration (Optional)
Variable | Description | Default |
| OAuth token endpoint |
|
| OAuth resource URN |
|
OpenTelemetry Tracing (Optional)
The MCP server now includes automatic OpenTelemetry instrumentation using @theharithsa/opentelemetry-instrumentation-mcp. This provides comprehensive distributed tracing of all MCP tool calls with zero configuration required.
Features:
๐ Automatic instrumentation of MCP tool calls
๐ Parent-child span relationships for complete traces
๐ Drop-in solution with auto-registration
๐ OTLP export with Dynatrace support
๐ Error tracking and exception recording
Variable | Description | Example | Required |
| OTLP endpoint for traces |
| โ |
| OTLP headers (comma-separated) |
| โ |
Example Configuration:
# Single header
OTEL_EXPORTER_OTLP_ENDPOINT=https://abc12345.live.dynatrace.com/api/v2/otlp/v1/traces
OTEL_EXPORTER_OTLP_HEADERS=Authorization=Api-Token dt0c01.ABC123...
# Multiple headers (comma-separated)
OTEL_EXPORTER_OTLP_HEADERS=Authorization=Api-Token dt0c01.ABC123...,Custom-Header=valueTrace Structure:
Each tool call creates a hierarchical span structure:
Tool.{toolName} (Parent Span)
โโโ mcp.tool:{toolName} (Child Span - auto-instrumented)
โ โโโ Duration, status, attributes
โ โโโ Error tracking and exceptions
โโโ Additional child spans from operationsSlack Integration (Optional)
Variable | Description | Default |
| Slack connection ID from Dynatrace | None |
Document Sharing (Optional)
Variable | Description | Default |
| Comma-separated list of user/group IDs | None |
| Type of recipients (user/group) |
|
OpenKit Telemetry (Usage Analytics)
Variable | Description | Default |
| Disable usage telemetry collection (set to 'true') |
|
| Custom OpenKit telemetry endpoint | Dynatrace production self-monitoring |
| Custom OpenKit application ID | Default MCP server app ID |
| Custom device ID for consistent identification | Auto-generated from hostname |
| User identifier for session tagging | Auto-generated from hostname+username |
The MCP server collects anonymous usage analytics using Dynatrace OpenKit SDK to help improve the tool. User identification supports multiple sources with fallback priority:
Environment variable
DT_MCP_TELEMETRY_USER_ID(highest priority)Auto-generated from system hostname and username:
mcp-user-xxxxxxxx(medium priority)Generic fallback:
mcp-anonymous-user(lowest priority)
You can completely disable telemetry by setting DT_MCP_DISABLE_TELEMETRY=true.
Complete Configuration Example
{
"mcpServers": {
"dynatrace": {
"command": "npx",
"args": ["@theharithsa/dynatrace-mcp-server"],
"env": {
"OAUTH_CLIENT_ID": "dt0s02.ABC123...",
"OAUTH_CLIENT_SECRET": "dt0s02.ABC123.DEF456...",
"DT_ENVIRONMENT": "https://abc12345.apps.dynatrace.com",
"OTEL_EXPORTER_OTLP_ENDPOINT": "https://abc12345.live.dynatrace.com/api/v2/otlp/v1/traces",
"OTEL_EXPORTER_OTLP_HEADERS": "Authorization=Api-Token dt0c01.XYZ789...",
"SLACK_CONNECTION_ID": "your-slack-connection-id",
"DT_SHARE_RECIPIENTS": "group-id-1,group-id-2",
"DT_SHARE_TYPE": "group",
"DT_GRAIL_QUERY_BUDGET_GB": "100"
}
}
}
}Authentication
๐ Dual Authentication Architecture
Version 2.5.0 introduces a powerful dual authentication system that automatically routes requests to the appropriate Dynatrace API endpoints:
1. OAuth Client Authentication (Primary)
Purpose: Davis CoPilot AI, advanced platform features, and app execution
Endpoint:
apps.dynatrace.comToken Format:
dt0s02.CLIENT_IDanddt0s02.CLIENT_ID.CLIENT_SECRETConfiguration:
OAUTH_CLIENT_IDandOAUTH_CLIENT_SECRET
2. API Token Authentication (Secondary)
Purpose: Entity operations, tagging, basic data access
Endpoint:
live.dynatrace.comToken Format:
dt0c01.API_TOKENConfiguration:
DT_API_TOKEN(optional for entity operations)
3. Platform Token Authentication (Tertiary)
Purpose: Environment information and platform management
Endpoint:
apps.dynatrace.comToken Format:
dt0s16.PLATFORM_TOKENConfiguration:
DT_PLATFORM_TOKEN(optional for environment info)
Required OAuth Scopes
๐ค Davis CoPilot AI (Core Features):
davis-copilot:nl2dql:execute- Natural language to DQL conversiondavis-copilot:dql2nl:execute- DQL explanation in natural languagedavis-copilot:conversations:execute- AI-powered conversations
๐๏ธ Platform & App Engine:
app-engine:apps:run- Execute Dynatrace appsapp-engine:functions:run- Execute TypeScript functions
๐ Data & Query Engine:
storage:buckets:read- Access bucket metadata for Grail queriesstorage:events:read- Read problems and other event data via DQLstorage:security.events:read- Read security events (vulnerabilities) via DQLstorage:logs:read,storage:metrics:read,storage:bizevents:read,storage:spans:read,storage:system:read,storage:user.events:read,storage:user.sessions:read,storage:entities:read- Required for fullexecute_dqlcoverage across data domainsenvironment-api:entities:read- Entity lookups and ownership informationenvironment-api:entities:write- Entity tagging (when using OAuth)
๐ Monitoring & Security:
(Covered by the DQL scopes above for problems and vulnerabilities)
๐ง Automation & Workflows:
automation:workflows:write- Workflow creationautomation:workflows:read- Workflow managementautomation:workflows:run- Workflow execution
๐ Documents & Dashboards:
document:documents:write- Dashboard creationdocument:documents:delete- Dashboard deletiondocument:environment-shares:write- Document sharingdocument:direct-shares:write- Direct document sharing
๐ฌ Communication:
email:emails:send- Email notificationsapp-settings:objects:read- Slack integrationsettings:objects:read- Ownership information
Setting Up Authentication
Step 1: Create OAuth Client
Navigate to Settings โ Platform Management โ OAuth clients
Click Create OAuth client
Set Client type to
PublicAdd all required scopes from the list above
Save and copy the Client ID and Secret
Step 2: (Optional) Generate API Token
Go to Settings โ Access Tokens โ Generate new token
Add scopes:
entities.read,entities.write,problems.readCopy the token (format:
dt0c01.XXXXXX)
Step 3: Configuration
Minimal Configuration (OAuth only):
{
"OAUTH_CLIENT_ID": "dt0s02.ABC123...",
"OAUTH_CLIENT_SECRET": "dt0s02.ABC123.DEF456...",
"DT_ENVIRONMENT": "https://abc12345.apps.dynatrace.com"
}Full Configuration (All features):
{
"OAUTH_CLIENT_ID": "dt0s02.ABC123...",
"OAUTH_CLIENT_SECRET": "dt0s02.ABC123.DEF456...",
"DT_ENVIRONMENT": "https://abc12345.apps.dynatrace.com",
"DT_API_TOKEN": "dt0c01.XYZ789...",
"DT_PLATFORM_TOKEN": "dt0s16.PLATFORM123..."
}Advanced Usage
Custom Dashboard Creation
Place JSON dashboard files in a /dashboards folder and use the create_dashboard tool to bulk-create them.
TypeScript Code Execution
Execute custom logic using the Dynatrace Function Executor:
// Example: Query and process data
export default async function ({ entityId }) {
// Your custom TypeScript code here
return { processed: true, entityId };
}Slack Integration
Configure Slack notifications by setting up a Slack connection in Dynatrace and providing the SLACK_CONNECTION_ID.
Email Integration
Send professional emails with rich formatting using the send_email tool:
// Example: Send alert notification
{
"toRecipients": ["oncall@company.com"],
"ccRecipients": ["team-lead@company.com"],
"subject": "๐จ Critical Alert: High CPU Usage",
"body": "**Alert Details:**\n- Server: web-prod-01\n- CPU Usage: 95%\n- Duration: 15 minutes\n\n**Action Required**: Immediate investigation needed.",
"contentType": "text/plain"
}Key Features:
Support for To, CC, and BCC recipients (up to 100 total)
HTML and plain text content types
Professional formatting with markdown support
Comprehensive error handling and delivery tracking
Integration with Dynatrace tenant domain validation
Development
For Code Customization
If you need to modify the server code:
# Install the package for customization
npm install @theharithsa/dynatrace-mcp-server
# Clone and modify the source
git clone https://github.com/theharithsa/dynatrace-mcp-otel.git
cd dynatrace-mcp-otel
npm install
npm run buildLocal Development
{
"mcpServers": {
"dynatrace-local": {
"command": "node",
"args": ["dist/index.js"],
"cwd": "/path/to/dynatrace-mcp-otel",
"env": {
"OAUTH_CLIENT_ID": "dt0s02.your-client-id",
"OAUTH_CLIENT_SECRET": "dt0s02.your-client-id.your-client-secret",
"DT_ENVIRONMENT": "https://your-tenant.apps.dynatrace.com"
}
}
}
}Installation Options
# NPX (recommended for most users)
npx @theharithsa/dynatrace-mcp-server
# Global installation
npm install -g @theharithsa/dynatrace-mcp-server
# Local project installation
npm install @theharithsa/dynatrace-mcp-serverDynatrace MCP OpenTelemetry Integration
The Dynatrace MCP Server includes optional OpenTelemetry tracing support using @theharithsa/opentelemetry-instrumentation-mcp v1.0.2. This provides comprehensive observability for all MCP tool invocations, including automatic span creation, context propagation, and error tracking.
Features
Automatic Instrumentation: All 24 MCP tools are automatically traced without code changes
Parent-Child Span Relationships: Tool invocations create parent spans, with automatic child span creation for nested operations
Rich Metadata: Captures tool names, arguments, results, success/failure status, and execution duration
Error Tracking: Automatic exception recording with full stack traces
Dynatrace Integration: Direct export to Dynatrace via OTLP for unified observability
Configuration
1. Environment Variables
Add the following to your .env file:
# Required: Dynatrace OTLP endpoint
OTEL_EXPORTER_OTLP_ENDPOINT=https://your-environment.live.dynatrace.com/api/v2/otlp
# Required: Dynatrace API token (v1.0.2 format)
DYNATRACE_API_TOKEN=dt0c01.XXXXXXXXXXXXXXXXXXXXXXXX.YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYImportant: The DYNATRACE_API_TOKEN must have the openTelemetryTrace.ingest scope. See Dynatrace API Token Setup below.
2. Automatic Registration
The OpenTelemetry instrumentation is automatically registered at server startup via:
import '@theharithsa/opentelemetry-instrumentation-mcp/register';No additional configuration needed in code!
Trace Structure
Each tool invocation creates the following span structure:
Tool.tool_name (parent span)
โโ Attributes:
โ โโ Tool.name: "tool_name"
โ โโ Tool.args: "{...json args...}"
โ โโ mcp.tool.success: true/false
โ โโ mcp.tool.result.length: 1234
โโ Child spans (automatically created by instrumentation library)
โโ [Internal tool operations...]Example: Executing execute_dql creates:
Parent span:
Tool.execute_dqlwith DQL statement in argsChild spans for HTTP requests, JSON parsing, etc.
Dynatrace API Token Setup
To enable trace export, your Dynatrace API token requires specific permissions:
Go to Dynatrace โ Access Tokens โ Generate new token
Set token name:
MCP Server OpenTelemetryAdd required scopes:
โ
openTelemetryTrace.ingest(required for trace export)โ Other scopes for your MCP tools (see Required Scopes)
Generate and copy token
Add to
.envasDYNATRACE_API_TOKEN
Troubleshooting
401 Unauthorized Error
Symptom: Traces fail to export with "Token Authentication failed"
Solution: Verify your API token has the openTelemetryTrace.ingest scope:
Check token scopes in Dynatrace UI
Regenerate token with correct scopes if needed
Update
.envwith new tokenRestart the MCP server
Note: MCP tools will continue to work even if trace export fails. Tracing is completely optional.
No Traces in Dynatrace
Checklist:
โ
OTEL_EXPORTER_OTLP_ENDPOINTpoints to correct Dynatrace environmentโ
DYNATRACE_API_TOKENis set and hasopenTelemetryTrace.ingestscopeโ Endpoint URL ends with
/api/v2/otlp(not/v1/traces)โ Token is valid and not expired
โ Network connectivity to Dynatrace environment
Disabling Tracing
To disable OpenTelemetry tracing entirely:
Remove or comment out the environment variables in
.envThe instrumentation will gracefully skip trace export
All MCP tools continue to function normally
CI/CD Observability
Our GitHub Actions workflows are instrumented with OpenTelemetry using inception-health/otel-action.
Configuration in GitHub Actions
- name: Setup OpenTelemetry
uses: inception-health/otel-action@v2
with:
dsn: ${{ vars.OTEL_EXPORTER_OTLP_ENDPOINT }}
service_name: 'dynatrace-mcp-server-build'
access_token: ${{ secrets.DYNATRACE_API_TOKEN }}
log_url: ${{ vars.DYNATRACE_LOG_INGEST_URL }}
build_type: ${{ github.ref == 'refs/heads/dev' && 'dev' || 'prod' }}Required Variables/Secrets
OTEL_EXPORTER_OTLP_ENDPOINT: Dynatrace OTLP endpoint URLDYNATRACE_API_TOKEN: API token with ingest permissionDYNATRACE_LOG_INGEST_URL: Dynatrace log ingest URL
Log Correlation
All logs include
dt.security_contextfield set todynatrace_mcp_otelLogs are tagged with
logType: build-logsfor filteringLogs are automatically correlated with traces via standard OpenTelemetry attributes
Version Compatibility
Current Version: @theharithsa/opentelemetry-instrumentation-mcp v1.0.2
OpenTelemetry API: v1.x
Export Protocol: OTLP/HTTP
Dynatrace Platform: All versions supporting OTLP ingestion
Version History
2.6.0: Added Grail budget tracking, entity tagging, HTTP server mode, enhanced testing (24 tools with 83% success rate)
2.5.0: Enhanced authentication architecture with dual OAuth/API token support, improved platform integration
2.3.0: Added comprehensive workflow automation and document sharing capabilities
2.2.0: Added comprehensive email integration with
send_emailtool supporting HTML/plain text, multiple recipients, and professional formatting2.1.0: Added Davis CoPilot AI integration with natural language processing capabilities
2.0.0: Updated package structure and naming; enhanced configuration options
1.0.8: Switched to standard OpenTelemetry GitHub Action; enhanced logging with security context
1.0.7: // ...existing version history...
Support
Issues: Report issues on GitHub
Documentation: Dynatrace Platform Documentation
MCP Protocol: Model Context Protocol
Note: This MCP server is designed for AI assistant integration. For standalone use cases, consider using the Dynatrace CLI or API directly.
This server cannot be installed
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/theharithsa/dynatrace-mcp-otel'
If you have feedback or need assistance with the MCP directory API, please join our Discord server