本記事は、Datadog公式が提供するMCP Serverに接続した際のトークン消費量を、curlによる直接計測とClaude Code/GitHub Copilotでの実測の両面から検証したZenn記事(著者:ryomiyake氏、2026年9月測定・AP1サイト)をもとにまとめた実践ガイドです。対応CLIはClaude Code・GitHub Copilotで、Model Context Protocol(MCP)仕様に準拠したクライアントであれば同様の手法で計測できます。ライセンス面では、Datadog MCP Server自体はDatadogのSaaS契約に紐づく公式提供のサーバーであり、OSSのプラグインとは性質が異なる点に注意してください。
「MCPサーバーに接続してから、AIとの会話がなんとなく頭打ちになった」「コンテキストウィンドウの減りが早い気がするけれど原因がつかめない」——そんな感覚を持ったことはないでしょうか。MCPサーバーに接続すると、そのサーバーが持つツールの説明書がAIのコンテキスト窓に静かに送り込まれます。画面のどこにも「いま何トークン使っています」とは表示されないため、気づかないまま消費が積み上がっていきます。
- Datadog MCP Serverに接続した瞬間、実際に何トークン消費するのか
- ツールを呼び出すたびに、さらにどれだけ上乗せされるのか
- curlで直接計測する具体的な手順(MCP仕様に準拠した再現可能なコマンド)
- Claude CodeとGitHub Copilotで、実際にAIが読んだ量はどう違うのか
Datadog MCP Serverとは?何ができるか
Datadog MCP Serverは、Datadog, Inc.が2026年3月9日に一般提供(GA)を発表した公式のMCPサーバーです。Markets Insiderが配信したプレスリリースによると、「developers embedding AI agents into development and operational workflows」向けに、AIエージェントがDatadogのライブな観測データへ安全にリアルタイムアクセスできるようにすることが目的とされています。
対応CLIはClaude Code・GitHub Copilotのほか、MCP(2025-06-18版仕様)に対応したクライアント全般です。提供される機能は、メトリクス・ログ・トレース・APM・データベース監視・RUM・セキュリティ・CIなど幅広く、別の技術記事(OpenObserveのDatadog比較記事)では「roughly 25 toolsets spanning metrics, logs, traces, APM, database monitoring, RUM, security, and CI」と紹介されています。接続先エンドポイントはサイトごとに異なり、本記事の検証はAP1サイト(https://mcp.ap1.datadoghq.com/v1/mcp)・サーバーバージョンdatadog-mcp v1.0.0・protocolVersion 2025-06-18で行われています。
接続とトークン測定の手順(curl実践)
検証記事の著者は、Claude CodeやVS Code経由で測定すると「サーバーが送ってきた量なのか、クライアントが加工した結果なのか切り分けられない」という理由で、curlでサーバーを直接叩く方法を採っています。これはMCPの通信がJSON-RPC 2.0をベースにしたHTTPプロトコルであるため可能な検証方法です。
①initializeでセッションを開く
MCP仕様(Lifecycle)には「The initialization phase MUST be the first interaction between client and server」と明記されており、クライアントはプロトコルバージョン・capabilities・clientInfoを含むinitializeリクエストを送る必要があります。また同仕様のTransportsには「The client MUST include an Accept header, listing both application/json and text/event-stream as supported content types」とあり、Acceptヘッダーに2種類を並べるのはこの記述に基づく必須要件です。実際に使われたコマンドは次のとおりです。
curl -s -D - -X POST "https://mcp.ap1.datadoghq.com/v1/mcp?toolsets=core" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "DD_API_KEY: $DD_API_KEY" \
-H "DD_APPLICATION_KEY: $DD_APP_KEY" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize",
"params":{"protocolVersion":"2025-06-18","capabilities":{},
"clientInfo":{"name":"curl","version":"0.1"}}}'②notifications/initializedで初期化を完了する
レスポンスヘッダーに返るmcp-session-idを以降のリクエストに付与したうえで、初期化完了通知を送る必要があります。MCP仕様には「After successful initialization, the client MUST send an initialized notification to indicate it is ready to begin normal operations」と定められており、これを送らないと以降のリクエストが通らなかったと記事内で報告されています。
③トークン数の数え方
curlはトークン数そのものを教えてくれないため、取得したJSONをOpenAIが公開しているトークナイザーであるtiktokenに通して数えています。ただし著者自身も「tiktokenはClaudeが使っている区切り方とは別物」と正直に注意書きしており、記事の数値は「だいたい何万トークンくらいか」という粒度で読むべき参考値である点は押さえておく必要があります。
実測結果:接続時と呼び出し時のトークン消費
公式ドキュメントの?toolsets=パラメータで範囲を変えながら計測した結果、接続した瞬間に消費するトークン数は次のようになりました。
| toolsets指定 | ツール数 | トークン数 |
|---|---|---|
| 未指定(core) | 27 | 19,907 |
| core,ddsql | 36 | 23,415 |
| all | 254 | 164,288 |
| all(書き込み有効化) | 370 | 218,183 |
繋いだだけで約2万トークン、allにすると16万、書き込みを有効にすると約22万という数値です。最後の約22万トークンは、多くのモデルで採用されている200kのコンテキスト窓には収まりません。なお組織の書き込みトグルをONにするだけでツール数はcoreで27本→32本、allで254本→370本に増えることも確認されており、ツール本数を決めているのは権限設定だと分かります。
一方で、これはあくまで「サーバーが送ってくる量」です。実際にClaude Codeが読んだ量を同じ接続で測ると、ベースライン30,443トークンに対し、Datadog MCP接続後は31,540トークン(+1,097)にしか増えていません。サーバー側は23,415トークンぶんの説明書を送ってきているのに、AIが実際に読んだのはその5%以下でした。種明かしとして、Claude Codeは最初にツール名と一行の説明だけを渡し、引数の詳細は実際にそのツールを使う段階になってから読み込む設計になっていると記事は分析しています。「モニターを一覧して」という指示を6コール分実行した際の総入力トークンは251,532(出力1,232、コスト$0.41)でした。同じ指示をGitHub Copilotで測ると、1回目の起点は19,334トークン、8コール合計で209,430トークンとなり、クライアントが違っても桁は大きく変わらないという結果になっています。
実際の開発フローでの活用例
この実測結果は、Claude Codeの開発フローに組み込む際の設計判断に直結します。たとえばCLAUDE.mdやプロジェクト設定でMCPサーバーのtoolsetsパラメータを絞り込んでおけば、コンテキスト予算を無駄に消費せずに済みます。具体的には、ログ集計タスクしか使わないプロジェクトではtoolsets=core,ddsqlに固定し、ダッシュボード作成など書き込みが必要なタスクだけ別セッションでall+書き込み有効を使う、という運用が考えられます。
利用可能な主要toolsets一覧
Datadog公式ドキュメントでは、toolsetsパラメータにカンマ区切りで複数の値を指定でき、用途に応じて次のような主要なtoolsetsが用意されています(Datadog MCP Serverの一般提供時点の構成。バージョンアップで追加・変更される可能性があるため、最新の一覧は公式ドキュメントで確認してください)。
| toolset名 | 主な用途 | 備考 |
|---|---|---|
core | モニター一覧・ダッシュボード検索など基本操作 | 未指定時のデフォルト。最小構成(27ツール・約19,907トークン) |
ddsql | DDSQLによるメトリクス・ログの集計クエリ | search系ツールより少ないトークンで済むケースが多い(後述) |
logs | ログ検索・パターン分析 | ログ調査に特化したセッションで有効 |
metrics | メトリクスのクエリ・メタデータ取得 | ダッシュボード用データの取得に使用 |
apm | トレース・サービスマップ・APM関連情報の取得 | サービス間の依存関係調査に使用 |
monitors | モニターの作成・更新・削除 | 書き込み権限が必要な操作を含む |
synthetics | Synthetics(合成監視)テストの参照・管理 | E2E監視の設定確認に使用 |
rum | Real User Monitoringのイベント・セッション取得 | フロントエンド起因の調査に使用 |
security | セキュリティシグナル・脆弱性情報の取得 | CSM/CSPM関連のツール群を含む |
ci | CI Visibility(パイプライン・テスト実行結果)の取得 | CI失敗調査に使用 |
all | 上記すべてを含む全ツール | 254ツール・約164,288トークン(書き込み有効時は370ツール・約218,183トークン) |
toolsetsは?toolsets=core,ddsql,logsのようにカンマ区切りで複数を同時指定できます。1つのプロジェクトで複数タスクを並行する場合でも、必要なtoolsetsだけを組み合わせることでトークン消費を抑えられます。
omit_toolsパラメータで個別ツールを間引く
toolsetsは「機能群」単位での絞り込みですが、Datadog MCP Serverはさらに細かく、特定のツールだけを除外するomit_toolsクエリパラメータも提供しています。あるtoolset内に含まれるツールのうち、実際には使わない一部だけをピンポイントで除外したい場合に有効です。たとえばcore,ddsqlを有効にしつつ、書き込み系のツールを明示的に外したい場合は次のように指定します。
curl -s -D - -X POST "https://mcp.ap1.datadoghq.com/v1/mcp?toolsets=core,ddsql&omit_tools=create_monitor,update_monitor,delete_monitor" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "DD_API_KEY: $DD_API_KEY" \
-H "DD_APPLICATION_KEY: $DD_APP_KEY" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize",
"params":{"protocolVersion":"2025-06-18","capabilities":{},
"clientInfo":{"name":"curl","version":"0.1"}}}'omit_toolsで除外するツール名はカンマ区切りで複数指定できます。読み取り専用の調査セッションでは、書き込み系のツール名(create_*/update_*/delete_*のプレフィックスを持つもの)をomit_toolsで一括除外しておくと、誤操作の防止とトークン削減の両方を同時に達成できます。toolsetsとomit_toolsを併用する場合、まずtoolsetsで大枠の機能群を選び、そのうえでomit_toolsによって不要な個別ツールを削る、という2段階の絞り込みが基本的な設計パターンになります。
また記事では「ログの件数を数えるのにsearchを使うと1,230トークン、analyze(SQL)なら162トークン」という比較も示されており、同じ目的でも呼び出すツールの選び方で消費量が8倍変わることが分かります。Claude Codeでサブエージェントに定型のログ調査タスクを任せる場合、どのツールを使うかを明示的に指示(スラッシュコマンド化やCLAUDE.mdでの指示)しておくことで、不要なトークン消費を避けられるでしょう。GitHub Copilotの場合は「Optimized tool selection」という仕組みでリクエストごとに渡すツールが自動的に絞り込まれるため、クライアント側の挙動を理解したうえでどちらを使うか選ぶことが実務上のポイントになります。
類似ツール・代替との比較
MCP経由でオブザーバビリティデータにアクセスする手段はDatadog MCP Serverだけではありません。用途に応じてAPIとの使い分けも検討する価値があります。
| ツール名 | 対応CLI | ライセンス | 最終更新 | 特徴 |
|---|---|---|---|---|
| Datadog MCP Server | Claude Code / GitHub Copilot等MCP対応クライアント | Datadog公式(SaaS契約に付随) | 2026年3月GA | toolsetsで機能範囲・トークン消費を調整可能。書き込み権限で254→370ツールに増加 |
| Datadog REST API | MCP非経由(直接HTTP) | Datadog公式 | 継続更新 | 高ボリュームなテレメトリ取り込みや組織管理はAPI側が担当。MCPは「対話的な調査」向き |
| Datadog VS Code / Cursor拡張 | VS Code / Cursor | Datadog公式 | 継続更新 | Custom RulesやAgent Observabilityなど、エディタ内でのDatadog連携機能を提供 |
注意点・制約・セキュリティ
導入前に押さえておきたい注意点は次のとおりです。
- 認証情報の扱い: Datadogの公式ドキュメントでは
DD_API_KEYとDD_APPLICATION_KEYをヘッダーで渡す方式が示されていますが、記事内では「アクセストークンを使うAuthorization: Bearerのほうが推奨とされています」とも触れられています。APIキー・アプリケーションキーはコードやMarkdownにハードコードせず、環境変数やシークレット管理の仕組みを使ってください。 - コンテキスト予算の設計が必須:
toolsets=all+書き込み有効化では218,183トークンとなり、200kのコンテキスト窓を超えるモデルもあります。接続前にtoolsetsを絞る設計判断が実質的に必要です。加えて、toolsets単位の絞り込みだけでなくomit_toolsで個別ツールを間引くことで、さらに細かい単位でのトークン削減が可能です。 - クライアントによって挙動が違う: 同じサーバーへの接続でも、VS Code本体の表示では36本のツールが見えるのに対し、GitHub Copilotのツールピッカーでは
do-not-callとマークされた内部用ツールが除外され33本と表示されるなど、クライアント側の加工が入ります。「サーバーが送ってくる量」と「AIが実際に読む量」は別物として扱う必要があります。 - 測定値の精度に限界がある: 記事内の数値はOpenAI製のtiktokenで数えたものであり、Claude自身のトークナイザーとは区切り方が異なります。「一の位まで合っている値ではない」と著者自身が明記しており、あくまで目安として参照してください。
- 非公式検証である点: 本記事の元記事は「非公式であり、Datadog, Inc.とは一切関係がありません」と明記された個人の検証です。環境・プラン・測定時期によって数値が変わる可能性があるため、導入前には必ず公式ドキュメントを確認してください。
まとめ
Datadog MCP Serverは、接続するだけで約2万トークン、全ツール開放かつ書き込み有効化では約22万トークンを消費する可能性がある一方、Claude Codeは「目次だけ渡しておき、必要になってから詳細を読み込む」設計のため、実際にAIが消費する増分はサーバーが送る量の5%以下に抑えられているという実測結果が示されました。
- toolsetsパラメータでツール範囲を絞ることが、コンテキスト予算設計の第一歩になる
- omit_toolsパラメータを併用すれば、toolset単位よりさらに細かく不要なツールを間引ける
- 「サーバーが送る量」と「AIが実際に読む量」は別の数字として扱う必要がある
- 同じ目的でもツールの選び方(例: search vs analyze)で消費量が大きく変わる
MCPサーバー接続時のトークン消費を体系的に把握したい場合は、Claude CodeやCodex CLI公式ドキュメントのMCP関連ページも合わせて確認することをおすすめします。
よくある質問(FAQ)
Datadog MCP Serverに接続すると必ず2万トークン消費しますか?
検証記事の実測では、toolsetsを指定せずcore構成で接続した場合にサーバーが送ってくる説明書は約19,907トークンでした。ただしこれは「サーバーが送ってくる量」であり、Claude Codeが実際に読んだ増分は+1,097トークン程度だったと報告されています。数値は環境・プラン・測定時期によって変動する可能性があります。
toolsets=allにするとどれくらいトークンを使いますか?
記事の実測では、toolsets=allで164,288トークン、書き込みを有効化した場合は218,183トークンとなり、200kのコンテキスト窓を超えるケースがあると報告されています。必要な機能範囲だけに絞ることが推奨されます。
Claude CodeとGitHub Copilotでトークン消費に違いはありますか?
同じ指示(モニター一覧の取得)を実行した際、Claude Codeは6コールで総入力トークン251,532、GitHub Copilotは8コールで209,430という結果でした。桁としては近い水準ですが、GitHub Copilotは「Optimized tool selection」という仕組みでリクエストごとに渡すツールを絞り込む点が異なります。
接続手順はどこで確認できますか?
Datadog公式ドキュメントに、エンドポイントとDD_API_KEY / DD_APPLICATION_KEYの設定方法、toolsetsパラメータの指定方法が示されています。サイトごとにエンドポイントが異なるため、公式ドキュメントのサイトセレクタで自分の利用サイトを選択して確認してください。
toolsetsとomit_toolsはどう使い分ければよいですか?
toolsetsはcore・logs・apmのような機能群単位でツールをまとめて有効化・無効化するためのパラメータです。一方omit_toolsは、有効化したtoolsetsの中からさらに個別のツール名を指定して除外するためのパラメータです。まずtoolsetsで大枠を絞り、そのうえでomit_toolsで書き込み系ツールなど不要な個別ツールを間引く、という2段階の絞り込みが基本的な使い方になります。
トークン数の測定は自分でも再現できますか?
可能です。記事ではcurlを使い、MCP仕様(2025-06-18版)のinitialize→notifications/initializedの順でリクエストを送り、返ってきたJSONをtiktokenでトークン化する手順が示されています。ただしtiktokenはClaude自身のトークナイザーとは異なるため、目安の数値として扱う必要があります。
APIキーやアプリケーションキーはどう管理すべきですか?
コードや設定ファイルへの平文ハードコードは避け、環境変数やシークレット管理の仕組みを使って渡すことが推奨されます。記事内では認証ヘッダーでの指定例に加え、Authorization: Bearerによるアクセストークン方式のほうが推奨されているとの言及もあります。
この記事の数値はDatadog公式の発表ですか?
いいえ、本記事が参照した検証記事は非公式の個人検証であり、Datadog, Inc.とは関係がないと明記されています。2026年9月時点・筆者の手元環境(AP1サイト)での実測値であり、環境やプラン、時期によって挙動が異なる可能性があるため、導入前には必ず公式ドキュメントを確認してください。
コメント