mcpField
D
Dynatrace MCP Server

Dynatrace MCP Server

ローカル
github.com/dynatrace-ossクラウド・インフラ1379 週間前に更新

Dynatrace MCP Server について

Dynatrace MCP Server は、AI アシスタントが Dynatrace オブザーバビリティプラットフォームと連携するためのローカル MCP サーバーです。本プロジェクトは非推奨となっており、バージョン 2.1.2 が最終リリースで、今後の更新は行われません。

主な機能

  1. 01Grail データへの DQL クエリ実行
  2. 02問題・例外・脆弱性の一覧表示
  3. 03自然言語からの DQL 生成と説明
  4. 04Grail クエリのバジェット追跡
  5. 05OS キーチェーンへのトークン保存

活用シーン

  1. 01本番環境の例外やログの調査
  2. 02セキュリティ脆弱性と問題ステータスの確認
  3. 03コーディングツールへのサービス監視コンテキストの提供

MCP 対応

本プロジェクトは MCP サーバーであり、execute_dql、list_problems、find_entity_by_name などのツールを MCP クライアントに公開して Dynatrace のデータを照会できるようにします。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"dynatrace": {
"command": "npx",
"args": [
"-y",
"@dynatrace-oss/dynatrace-mcp-server"
],
"env": {
"DT_ENVIRONMENT": "<DT_ENVIRONMENT>",
"DT_PLATFORM_TOKEN": "<DT_PLATFORM_TOKEN>",
"OAUTH_CLIENT_ID": "<OAUTH_CLIENT_ID>",
"OAUTH_CLIENT_SECRET": "<OAUTH_CLIENT_SECRET>",
"DT_GRAIL_QUERY_BUDGET_GB": "<DT_GRAIL_QUERY_BUDGET_GB>"
}
}
}
}
起動コマンドnpx -y @dynatrace-oss/dynatrace-mcp-server
設定が必要な環境変数
DT_ENVIRONMENTThe URL of your Dynatrace environment (e.g. 'https://abc12345.apps.dynatrace.com'). Do not use Dynatrace classic URLs.
DT_PLATFORM_TOKENシークレット[OPTIONAL] Dynatrace Platform Token for authentication. Alternative to OAuth authentication.
OAUTH_CLIENT_IDシークレット[OPTIONAL] OAuth Client ID for advanced authentication scenarios. Use with OAUTH_CLIENT_SECRET.
OAUTH_CLIENT_SECRETシークレット[OPTIONAL] OAuth Client Secret for advanced authentication scenarios. Use with OAUTH_CLIENT_ID.
DT_GRAIL_QUERY_BUDGET_GB[OPTIONAL] Budget limit in GB for Grail query bytes scanned per session. Default: 1000. Set to -1 to disable budget tracking.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@dynatrace-oss/dynatrace-mcp-server2.1.2

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Dynatrace MCP サーバー

OpenSSF Scorecard

README の画像 Dynatrace MCP Server is released under the MIT License README の画像 README の画像 npm Dynatrace MCP Server Stars on GitHub Dynatrace MCP Server Contributors on GitHub

⚠️ 非推奨

このリポジトリは非推奨です。バージョン 2.1.2 が最終リリースであり、今後更新される予定はありません。

現在も積極的にメンテナンスされている以下の代替手段への移行をお勧めします。

用途推奨ツール
ローカル開発(VS Code、IntelliJ、Claude Code、Cursor など)Dynatrace-for-AI + dtctl
エージェント間通信/リモート(Atlassian Rovo、GitHub Coding Agent など)Dynatrace Remote MCP Server — ローカルでのセットアップは不要です

手順ごとの比較と移行方法については、移行ガイドをご覧ください。

ローカルの Dynatrace MCP server を使用すると、AI アシスタントがDynatrace オブザーバビリティプラットフォームと連携し、リアルタイムのオブザーバビリティデータを開発ワークフローに直接取り込めます。

注:この製品は Dynatrace による公式サポートを受けていません。

機能のリクエストや質問、サポートが必要な場合は、GitHub Issues からお問い合わせください。

https://github.com/user-attachments/assets/25c05db1-8e09-4a7f-add2-ed486ffd4b5a

前提条件

  • Dynatrace MCP Server の実行には、Node.js v24 以降が必要です。

クイックスタート

npx -y @dynatrace-oss/dynatrace-mcp-server(タイプ:stdio)というコマンドを使って、VSCode、Claude、Cursor、Amazon Q、Windsurf、ChatGPT、Github Copilot などの MCP クライアントにこの MCP サーバーを追加できます。詳細については、以下の設定セクションを参照してください。

さらに、Dynatrace 環境の URL を設定する必要があります。

  • DT_ENVIRONMENT(文字列。例:https://abc12345.apps.dynatrace.com)- Dynatrace Platform の URL(abc12345.live.dynatrace.com のような Dynatrace classic の URL は使用しないでください)

認証はブラウザーでの Authorization Code Flow によって行われるため、利用を開始するにあたり Platform Token や OAuth Client を定義する必要はありません。初回の認証後、トークンはOS のキーチェーン(macOS の Keychain、Windows の Credential Manager、または Linux の Secret Service)に安全に保存され、以降のサーバー起動時に再利用されます。そのため、ブラウザーが開くのはトークンの有効期間につき一度だけです。

OS のキーチェーンを利用できないヘッドレス/コンテナー環境で実行する場合は、DT_MCP_TOKEN_STORAGE=file を設定して、代わりに ~/.config/dynatrace-mcp/ にトークンを保存してください。

準備ができたら、Get all details of the entity 'my-service' や Show me error logs などのプロンプトの例を確認することをおすすめします。これらのプロンプトは、ライセンスに応じてコストが発生する可能性のある DQL ステートメントの実行につながる点にご注意ください。

VSCode

{
  "servers": {
    "npx-dynatrace-mcp-server": {
      "command": "npx",
      "args": ["-y", "@dynatrace-oss/dynatrace-mcp-server@latest"],
      "env": {
        "DT_ENVIRONMENT": "https://abc12345.apps.dynatrace.com"
      }
    }
  }
}

アーキテクチャ

アーキテクチャ

ユースケース

  • リアルタイムのオブザーバビリティ - 本番環境レベルのデータを取得し、早期検知とプロアクティブな監視を実現します
  • コンテキストに基づくデバッグ - 監視対象の例外、ログ、異常に関する完全なコンテキストを用いて問題を解決します
  • セキュリティに関するインサイト - 詳細な脆弱性分析とセキュリティ上の問題の追跡を実現します
  • 自然言語によるクエリ - AI を活用した DQL の生成と説明を利用できます
  • 複数フェーズによるインシデント調査 - 影響の自動評価を含む、体系的な 4 フェーズのアプローチを実行します
  • 高度なトランザクション分析 - ファイル/行レベルの精度で根本原因を特定します
  • 複数のデータソース間の相関付け - トレース ID による相関付けで、問題 → スパン → ログを関連付けます
  • DevOps の自動化 - デプロイの健全性ゲートと、自動化されたプロモーション/ロールバックのロジックを実現します
  • セキュリティコンプライアンスの監視 - エビデンスに基づく調査により、マルチクラウドのコンプライアンスを評価します

機能

  • オブザーバビリティと問題管理(例:list_problems、list_vulnerabilities、list_exceptions、get_kubernetes_events)
  • Grail からのデータのクエリ(例:execute_dql、verify_dql、generate_dql_from_natural_language、explain_dql_in_natural_language)
  • エンティティの検出(例:find_entity_by_name)
  • Dynatrace Intelligence(例:chat_with_davis_copilot、list_davis_analyzers、execute_davis_analyzer)
  • 自動化と通知(例:send_slack_message、send_email、send_event)
  • 結果の共有(例:create_dynatrace_notebook)
コスト

重要: このローカル MCP サーバーは無料で提供されていますが、Dynatrace Grail のデータにアクセスする特定の機能を使用すると、Dynatrace の利用モデルに基づいて追加料金が発生する場合があります。これは、Dynatrace Grail ストレージに対してクエリを実行する execute_dql ツールやその他の機能に影響し、料金はスキャンされるデータ量(GB)によって異なります。

この MCP サーバーを広範囲に使用する前に、以下をご確認ください。

  1. 現在の Dynatrace の利用モデルと料金を確認します
  2. クエリを実行する予定の特定のデータ(ログ、イベント、メトリクス)の料金への影響を把握します。Dynatrace Pricing and Rate Card をご覧ください
  3. 短い期間(例:12 時間〜24 時間)から始め、バケットを活用してコストへの影響を抑えます
  4. 適切な DT_GRAIL_QUERY_BUDGET_GB 環境変数(デフォルト:1000 GB)を設定して、Grail クエリの使用量を管理および監視します

Grail の予算管理:

この MCP サーバーには、コストの監視と管理に役立つ、Grail クエリの予算管理機能が組み込まれています。

  • DT_GRAIL_QUERY_BUDGET_GB(デフォルト:1000 GB)を設定して、セッションの予算上限を定義します
  • サーバーは、現在のセッションにおけるすべての Grail クエリのスキャン済みバイト数を追跡します
  • 予算の 80% に近づくと、警告が表示されます
  • 予算超過のアラートにより、予想外の大量消費を防ぐことができます
  • MCP サーバーのセッションを再起動すると、予算はリセットされます

発生したコストを確認するには:

ノートブックで次の DQL ステートメントを実行すると、Grail からクエリされたバイト数(ログ、イベントなど)を確認できます。

fetch dt.system.events
| filter event.kind == "QUERY_EXECUTION_EVENT" and contains(client.client_context, "dynatrace-mcp")
| sort timestamp desc
| fields timestamp, query_id, query_string, scanned_bytes, table, bucket, user.id, user.email, client.client_context
| maketimeSeries sum(scanned_bytes), by: { user.email, user.id, table }
AI による支援
  • 自然言語から DQL への変換 - 平易な英語のクエリを Dynatrace Query Language に変換します
  • DQL の説明 - 複雑な DQL クエリについて、平易な英語で説明を得られます
  • AI チャットアシスタント - Dynatrace に関する質問について、状況に応じたヘルプやガイダンスを得られます

設定

@dynatrace-oss/dynatrace-mcp-server パッケージを使用して、この MCP サーバー(STDIO を使用)を VS Code、Claude、Cursor、Amazon Q Developer CLI、Windsurf Github Copilot などの MCP クライアントに追加できます。

グローバルに設定するのではなく、現在のワークスペースに設定することを常におすすめします。

VS Code

{
  "servers": {
    "npx-dynatrace-mcp-server": {
      "command": "npx",
      "args": ["-y", "@dynatrace-oss/dynatrace-mcp-server@latest"],
      "env": {
        "DT_ENVIRONMENT": "https://abc12345.apps.dynatrace.com"
      }
    }
  }
}

Claude Desktop

{
  "mcpServers": {
    "dynatrace-mcp-server": {
      "command": "npx",
      "args": ["-y", "@dynatrace-oss/dynatrace-mcp-server@latest"],
      "env": {
        "DT_ENVIRONMENT": "https://abc12345.apps.dynatrace.com"
      }
    }
  }
}

Amazon Q Developer CLI

Amazon Q Developer CLI を使用すると、ターミナル内で直接、対話型チャットを利用できます。コマンドライン環境を離れることなく、質問したり、AWS サービスのサポートを受けたり、問題のトラブルシューティングをしたり、コードスニペットを生成したりできます。

{
  "mcpServers": {
    "dynatrace-mcp-server": {
      "command": "npx",
      "args": ["-y", "@dynatrace-oss/dynatrace-mcp-server@latest"],
      "env": {
        "DT_ENVIRONMENT": "https://abc12345.apps.dynatrace.com"
      }
    }
  }
}

この設定は <your-repo>/.amazonq/mcp.json に保存してください。

Amazon Kiro

Amazon Kiro は、仕様、ステアリング、フックなどの機能で、より良い成果を上げるためのエージェント型 IDE です。

{
  "mcpServers": {
    "dynatrace-mcp-server": {
      "command": "npx",
      "args": ["-y", "@dynatrace-oss/dynatrace-mcp-server@latest"],
      "env": {
        "DT_ENVIRONMENT": "https://abc12345.apps.dynatrace.com"
      }
    }
  }
}

この設定は <your-repo>/.kiro/settings/mcp.json に保存してください。

Google Gemini CLI

Google Gemini CLI は、MCP サーバーとの統合に対応した Google 公式のコマンドライン AI アシスタントです。組み込みの管理コマンドを使用するか、手動で設定して Dynatrace MCP サーバーを追加できます。

gemini CLI を直接使用する場合(推奨):

gemini extensions install https://github.com/dynatrace-oss/dynatrace-mcp
export DT_PLATFORM_TOKEN=... # optional

コマンドを実行すると、Dynatrace Environment の値を尋ねられます。

次の方法でサーバーが実行中であることを確認します。

gemini mcp list

または、~/.gemini/settings.json または .gemini/settings.json で手動設定します。

{
  "mcpServers": {
    "dynatrace": {
      "command": "npx",
      "args": ["@dynatrace-oss/dynatrace-mcp-server@latest"],
      "env": {
        "DT_ENVIRONMENT": "https://abc12345.apps.dynatrace.com"
      },
      "timeout": 30000,
      "trust": false
    }
  }
}
HTTP サーバーモード(代替)

💡 推奨: --http / --server を使用してセルフホストする代わりに、公式の Dynatrace リモート MCP サーバー の利用をご検討ください。より安全で、常に最新の状態に保たれ、インフラストラクチャの管理も不要です。

ステートフルセッション、ロードバランシング、ウェブクライアントとの連携など、stdio を使用する代わりに MCP サーバーを HTTP サービスとして実行する必要がある場合は、HTTP サーバーモードを使用できます。

HTTP サーバーとして実行する:

ベアラートークンを使用してサーバーを保護してください。

export MCP_BEARER_TOKEN=<bearer-token>
# Get help and see all available options
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --help

# Run with HTTP server on default port 3000
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --http

# Run with custom port (using short or long flag)
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --server -p 8080
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --http --port 3001

# Run with custom host/IP (using short or long flag)
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --http --host 127.0.0.1 # recommended for local computers
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --http --host 0.0.0.0 # required for container (binds all interfaces; omitting --host defaults to 127.0.0.1)
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --http -H 192.168.0.1 # recommended when sharing connection over a local network

# Static OAuth callback port (useful when the port must be exposed, e.g., when running the MCP in a container)
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --oauth-redirect-port 5344

# Check version
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --version

HTTP トランスポートをサポートする MCP クライアントの設定:

{
  "mcpServers": {
    "dynatrace-http": {
      "url": "http://localhost:3000",
      "transport": "http",
      "headers": {
        "Authorization": "Bearer <bearer-token>"
      }
    }
  }
}
ベアラートークン認証(MCP_BEARER_TOKEN)

HTTP モードで実行する場合、MCP_BEARER_TOKEN は必須です。この変数が設定されていない場合、サーバーは起動を拒否します。

すべての HTTP リクエストに、Authorization: Bearer <token> ヘッダーを含める必要があります。有効なトークンがないリクエストには、401 Unauthorized が返されます。

安全なトークンの生成:

export MCP_BEARER_TOKEN=$(openssl rand -base64 32)
npx -y @dynatrace-oss/dynatrace-mcp-server@latest --http

トークンを送信するように MCP クライアントを設定する:

{
  "mcpServers": {
    "dynatrace-http": {
      "url": "http://localhost:3000",
      "transport": "http",
      "headers": {
        "Authorization": "Bearer <your-token>"
      }
    }
  }
}
MCP バンドル(MCPB)

各リリースでは、事前にビルドされた MCP バンドルファイル(.mcpb)が公開されます。このファイルは、手動で JSON を設定することなく、Claude Desktop に直接インストールできます。

Claude Desktop へのインストール:

  1. GitHub Releases ページにアクセスし、最新の dynatrace-mcp-server-<version>.mcpb ファイルをダウンロードします。
  2. ダウンロードした .mcpb ファイルをダブルクリックするか、Claude Desktop を開いて → 設定 → 開発者 に移動し、ファイルを MCP サーバーのリストにドラッグします。
  3. プロンプトに従って DT_ENVIRONMENT 変数を設定します(例:https://abc12345.apps.dynatrace.com)。

このリポジトリには、ローカルインストール用の MCP バンドル互換の manifest.json も含まれています。 バンドルは、stdio を介してコンパイル済みのローカルサーバーエントリーポイントを実行します。

  • server.type:node
  • server.entry_point:dist/index.js
  • mcp_config.command:node
  • mcp_config.args:["${__dirname}/dist/index.js"]
ルールファイル

Dynatrace から効率的に結果を取得するには、コーディングエージェントにコンポーネント/アプリ/サービスの詳細を取得する方法を指示するルールファイル(例:.github/copilot-instructions.md、.amazonq/rules/)の作成をご検討ください。easytrade の例を以下に示します。ユースケースやコンポーネントに合わせて名前やフィルターを調整してください。

# Observability

We use Dynatrace as an Observability solution. This document provides instructions on how to get data for easytrade from Dynatrace using DQL.

## How to get any data for my App

Depending on the query and tool used, the following filters can be applied to narrow down results:

* `contains(entity.name, "easytrade")`
* `contains(affected_entity.name, "easytrade")`
* `contains(container.name, "easytrade")`

For best results, you can combine these filters with an `OR` operator.

## Logs

To fetch logs for easytrade, execute `fetch logs | filter contains(container.name, "easyatrade")`.
For fetching just error-logs, add `| filter loglevel == "ERROR"`.

環境変数

v1.0.0 での破壊的変更: MCP サーバーは .env ファイルを自動的に読み込まなくなりました。.env ファイルの環境変数を使用するには、ネイティブの envFile 設定オプションを使って環境変数を読み込むように MCP クライアントを設定する必要があります。詳細については、以下の設定例を参照してください。

  • DT_ENVIRONMENT(必須、文字列、例:https://abc12345.apps.dynatrace.com)- Dynatrace Platform の URL(abc12345.live.dynatrace.com のような Dynatrace classic の URL は使用しないでください)
  • DT_PLATFORM_TOKEN(任意、文字列、例:dt0s16.SAMPLE.abcd1234)- Dynatrace Platform Token
  • OAUTH_CLIENT_ID(任意、文字列、例:dt0s02.SAMPLE)- 代替:Dynatrace OAuth Client ID(高度なユースケース向け)
  • OAUTH_CLIENT_SECRET(任意、文字列、例:dt0s02.SAMPLE.abcd1234)- 代替:Dynatrace OAuth Client Secret(高度なユースケース向け)
  • DT_SSO_URL(任意、文字列、例:https://sso.dynatrace.com)- OAuth 認証に使用する SSO URL を上書きします。デフォルトでは、SSO URL は Dynatrace 環境から自動的に検出されます。
  • DT_GRAIL_QUERY_BUDGET_GB(任意、数値、デフォルト:1000)- セッションごとにスキャンする Grail クエリのバイト数に対する、GB(1000 を基数とする)単位の予算上限です。MCP サーバーは Grail の使用量を追跡し、この上限に近づいたとき、または超過したときに警告します。

DT_ENVIRONMENT のみを指定すると、ローカル MCP サーバーはブラウザーウィンドウを開いて Dynatrace SSO での認証を試みます。

その他の認証方法について詳しくは、Dynatrace で Platform Token を作成する方法のドキュメント、および高度なシナリオ(サービスユーザー、バックエンド間通信)向けのDynatrace で OAuth Client を作成する方法のドキュメントを参照してください。

また、使用する機能によっては、以下の変数を設定できます。

プロキシ設定

MCP サーバーは、企業環境のシステムプロキシ設定を使用します。

  • https_proxy または HTTPS_PROXY(任意、文字列、例:http://proxy.example.com:8080)- HTTPS リクエスト用のプロキシサーバー URL
  • http_proxy または HTTP_PROXY(任意、文字列、例:http://proxy.example.com:8080)- HTTP リクエスト用のプロキシサーバー URL
  • no_proxy または NO_PROXY(任意、文字列、例:localhost,127.0.0.1,.local)- プロキシを経由しないホスト名またはドメインのカンマ区切りリスト
  • NODE_EXTRA_CA_CERTS(任意、文字列、例:C:\some-path\certificate.pem)- 設定すると、広く知られている「ルート」CA(VeriSign など)に証明書が追加されます

注: no_proxy 環境変数は現在、情報提供の目的でログに記録されますが、基盤となる HTTP クライアントでは完全には適用されません。特定のホストをプロキシ経由にしない場合は、これらの除外を処理するようにプロキシサーバーを設定してください。

プロキシを使用する設定例:

export HTTPS_PROXY=http://proxy.company.com:8080
export NO_PROXY=localhost,127.0.0.1,.company.local
export DT_ENVIRONMENT=https://abc12345.apps.dynatrace.com
認証スコープ

使用する機能に応じて、以下のスコープが必要です。

Platform Tokens と OAuth Clients の両方で使用可能:

  • app-engine:apps:run - ほとんどのツールで必要です
  • app-settings:objects:read - アプリ設定の読み取りに必要です。send_slack_message ツールが App-Settings から接続の詳細を読み取るために必要です
  • storage:buckets:read - execute_dql ツールが Grail に保存されたすべてのシステムデータを読み取るために必要です
  • storage:logs:read - execute_dql ツールが信頼性ガーディアンの検証用ログを読み取るために必要です
  • storage:metrics:read - execute_dql ツールが信頼性ガーディアンの検証用メトリクスを読み取るために必要です
  • storage:bizevents:read - execute_dql ツールが信頼性ガーディアンの検証用 bizevents を読み取るために必要です
  • storage:spans:read - execute_dql ツールが Grail からスパンを読み取るために必要です
  • storage:entities:read - execute_dql ツールが Grail からエンティティを読み取るために必要です
  • storage:events:read - execute_dql ツールが Grail からイベントを読み取るために必要です
  • storage:security.events:read- execute_dql ツールが Grail からセキュリティイベントを読み取るために必要です
  • storage:system:read - execute_dql ツールが Grail からシステムデータを読み取るために必要です
  • storage:user.events:read - execute_dql ツールが Grail からユーザーイベントを読み取るために必要です
  • storage:user.sessions:read - execute_dql ツールが Grail からユーザーセッションを読み取るために必要です
  • storage:smartscape:read - execute_dql ツールが Smartscape データを読み取るために必要です
  • storage:files:read - execute_dql ツールがルックアップデータ(例:/lookups/http_status_codes)用に DQL の load ステートメントを使用するために必要です
  • storage:events:write - send_event ツールが Dynatrace にイベントデータを送信するために必要です
  • davis-copilot:conversations:execute - 会話スキルを実行するために必要です(Copilot とのチャット)
  • davis-copilot:nl2dql:execute - Davis Copilot の自然言語(NL)から DQL へのスキルを実行するために必要です
  • davis-copilot:dql2nl:execute - DQL から自然言語(NL)へのスキルを実行するために必要です
  • davis:analyzers:read - Davis アナライザー定義の一覧表示と取得に必要です
  • davis:analyzers:execute - Davis アナライザーの実行に必要です
  • email:emails:send - send_email ツールがメールを送信するために必要です
  • document:documents:read - list_documents および read_document ツールが Dynatrace ドキュメント(ノートブック、ダッシュボード、Launchpad など)を一覧表示して読み取るために必要です
  • document:documents:write - create_document ツールが新しいドキュメントを作成するために必要です

注記:

  • 0.12.0 より前のバージョンでは、スコープ app-engine:functions:run が必要でしたが、現在は不要です。
  • 0.13.0 より前のバージョンでは、スコープ settings:objects:read と environment-api:entities:read が必要でしたが、現在は不要です。

✨ プロンプトの例 ✨

「自分のコンポーネントは Dynatrace で監視されていますか?」のような簡単な質問から始めて、さらに高度な例に進むことができます。

トラブルシューティング

認証に関する問題

認証に関する問題の多くは、スコープの不足または無効なトークンが原因です。上記の必須スコープをすべて追加していることを確認してください。

プラットフォームトークンの場合:

  1. プラットフォームトークンに、「認証に必要なスコープ」セクションに記載されている必須スコープがすべて含まれていることを確認します
  2. トークンが有効で、期限切れでないことを確認します
  3. Dynatrace 環境で、ユーザーに必要な権限があることを確認します

OAuth クライアントの場合: OAuth 関連の問題については、Dynatrace Developer Documentationを参考に、SSO/OAuth の問題をトラブルシューティングできます。

次の API を使ってアクセスをテストすることをおすすめします(最小限のスコープ app-engine:apps:run および、たとえば storage:logs:read が必要です)。

  1. OAuth クライアント ID とシークレットを使ってベアラートークンを取得します(有効期間は数分です)。
curl --request POST 'https://sso.dynatrace.com/sso/oauth2/token' \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'grant_type=client_credentials' \
  --data-urlencode 'client_id={your-client-id}' \
  --data-urlencode 'client_secret={your-client-secret}' \
  --data-urlencode 'scope=app-engine:apps:run storage:logs:read'
  1. 上記の呼び出しの応答に含まれる access_token を、次の呼び出しのベアラートークンとして使用します。
curl -X GET https://abc12345.apps.dynatrace.com/platform/management/v1/environment \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer {your-bearer-token}'
  1. 次のような結果が返されます。
{
  "environmentId": "abc12345",
  "createTime": "2023-01-01T00:10:57.123Z",
  "blockTime": "2025-12-07T00:00:00Z",
  "state": "ACTIVE"
}
Grail のデータにアクセスできない場合

Grail の権限については、Dynatrace Docs に専用のセクションがあります。詳しくは https://docs.dynatrace.com/docs/discover-dynatrace/platform/grail/data-model/assign-permissions-in-grail をご覧ください。

テレメトリ

Dynatrace MCP Server は、製品の改善に役立てるため、Dynatrace OpenKit BizEvents を使用してテレメトリデータを送信します。対象となるイベントは次のとおりです。

  • サーバー起動イベント(com.dynatrace-oss.mcp.server-start)
  • クライアント初期化イベント(com.dynatrace-oss.mcp.client-initialization)—接続している MCP クライアント(例:VS Code、Claude Desktop、Cursor)
  • ツール使用イベント(com.dynatrace-oss.mcp.tool-usage)—呼び出されたツール、成功/失敗、実行時間
  • エラーイベント(com.dynatrace-oss.mcp.error)—デバッグと改善のためのエラー追跡

すべてのテレメトリデータは ビジネスイベント として送信され、分析のために Grail からアクセスできます。

fetch bizevents
| filter startsWith(event.type, "com.dynatrace-oss.mcp")
| sort timestamp DESC

プライバシーとオプトアウト:

  • テレメトリは デフォルトで有効 ですが、DT_MCP_DISABLE_TELEMETRY=true を設定すると無効にできます
  • Dynatrace 環境の機密データは追跡されません
  • 匿名の使用統計とエラー情報のみが収集されます
  • 使用統計とエラーデータは Dynatrace の分析エンドポイントに送信されます

設定オプション:

  • DT_MCP_DISABLE_TELEMETRY(ブール値、デフォルト:false)—テレメトリを無効にします
  • DT_MCP_TELEMETRY_APPLICATION_ID(文字列、デフォルト:dynatrace-mcp-server)—追跡用のアプリケーション ID
  • DT_MCP_TELEMETRY_ENDPOINT_URL(文字列、デフォルト:Dynatrace エンドポイント)—OpenKit エンドポイント URL
  • DT_MCP_TELEMETRY_DEVICE_ID(文字列、デフォルト:自動生成)—追跡用のデバイス識別子

使用状況の追跡を無効にするには、次の設定を環境に追加します。

DT_MCP_DISABLE_TELEMETRY=true

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。