MCP サーバーを使用する
このページでは、MCP サーバーの使用方法について、公開されているツールやプロンプト、推奨ワークフロー、使用例、トラブルシューティングを説明します。
MCP サーバーはツールを DoiT developer API にマッピングします。ツール名と挙動はオープンソースの @doitintl/doit-mcp-server パッケージに準拠しています。最新の一覧はそのリポジトリを参照してください。
MCP プロンプト
MCP サーバーは、MCP プロンプト仕様 で定義されているプロンプトを公開できます。プロンプトは、クライアントがプロンプトピッカーで一覧表示できる再利用可能なプレイブックです。現在、一部のプロンプトは引数を受け取り、その他は受け取りません。
次の例では、プレースホルダーの引数名(例: プロジェクト、クラウドアカウント、日付範囲)を使用しています。これらはクライアントによって異なる場合があります。いくつかのレガシープロンプトは、プロンプト定義の標準化に伴い段階的に廃止されています。
たとえば、特定の Google Cloud サービスの支出が 1 週間で急増したとします。MCP クライアントには Review a cost spike for a cloud service. のようなプロンプトが表示されます。これを選択し、プロンプトで定義された引数(サービス名、プロジェクト、開始日と終了日)を指定できます。サーバーはモデルに MCP ツールの使用を促すプロンプトテキストを返します。たとえば、get_anomaly や get_anomalies で期間を絞り込み、その後、フォーカスした run_query を実行するか、get_report_results で保存済みレポートを取得し、想定される要因や追加確認事項を要約する、といった指示です。同様の考え方は、DoiT を通じてデータが利用可能な場合、AWS やマルチクラウドのコストビューにも拡張されます。
クライアントは prompts/list でプロンプトを検出し、prompts/get で内容を取得し ます。ローカルの stdio 接続では、サーバーはプロンプト定義上の引数を含む標準的なプロンプトフローをサポートします。挙動はトランスポートやクライアントバージョンによって異なる場合があります。クライアントでプロンプト処理の欠落や不正が報告される場合は、最新の @doitintl/doit-mcp-server を使用してください。
MCP サーバーツール
MCP サーバーは次のツールを提供します。
Alerts
これらのツールを使用して、アカウントのコストアラートを作成、更新、確認します。
- create_alert: クラウドコストが定義済みの閾値を超えたときに通知する新しいアラートを作成します。
- get_alert: 指定した ID のアラートを返します。
- list_alerts: アカウントがアクセスできるアラートの一覧を返します。
- update_alert: 既存のアラー トを ID で更新します。
Allocations
これらのツールを使用して、レポートやクエリ分析のためのアロケーションルールを定義および管理します。
- create_allocation: 新しいアロケーションを作成します。
- get_allocation: 指定した ID のアロケーションを取得します。
- list_allocations: レポートまたは run_query 設定用のアロケーションを一覧表示します。
- update_allocation: 既存のアロケーションを更新します。
Annotations
これらのツールを使用して、レポートのコンテキスト向けにアノテーションイベントを記録および維持します。
- create_annotation: 新しいアノテーションを作成します。
- get_annotation: 指定した ID のアノテーションを返します。
- list_annotations: アノテーションの一覧を返します。
- update_annotation: 既存のアノテーションを ID で更新します。
Anomalies
これらのツールを使用して、検出されたコストのアノマリーを確認し、個別のアノマリーイベントを調査します。
- get_anomalies: クラウドリソースで検出されたアノマリーを取得します。
- get_anomaly: 指定した ID のアノマリーの詳細を取得します。
Assets
これらのツールを使用して、顧客アセットを検出し、アセットレベルのメタデータを確認します。
- get_asset: 指定した ID の顧客アセットの詳細を取得します。
- list_assets: Google Cloud の 請求アカウント、Google Workspace サブスクリプション、および関連リソースなどの顧客アセットを一覧表示します。
AI assistant
このツールを使用して、アカウント固有の支出や最適化に関する質問を AI assistant に問い合わせます。
- ask_ava_sync: アカウント、支出、または最適化に関する質問を AI assistant に行います。複雑な質問は回答に時間がかかる場合があります。
Budgets
これらのツールを使用して、支出目標を設定し、時間の経過に伴う予算の利用状況を追跡します。
- create_budget: 実際のクラウド支出を予定支出と比較して追跡する新しい予算を作成します。
- get_budget: 指定した予算の詳細と現在の利用状況を返します。
- list_budgets: ユーザーがアクセスできる予算の一覧を返します。
- update_budget: 既存の予算を更新します。
Cloud Analytics
これらのツールを使用して、アドホックなコスト・利用状況クエリを実行し、保存済みレポートを管理し、利用可能なディメンションを調査できます。
- create_report: 特定の設定を持つ新しい Cloud Analytics レポートを作成します。
- get_dimension: 種類と ID を指定して Cloud Analytics の特定のディメンションを取得します。
- get_report_config: 指定した ID の Cloud Analytics レポートの設定を取得します。
- get_report_results: 指定したレポートの結果を ID で取得します。
- list_dimensions: アカウントがアクセスできる Cloud Analytics ディメンションを一覧表示します。
- list_reports: アカウントがアクセスできる Cloud Analytics レポートを一覧表示します。
- run_query: 設定を指定してレポートクエリを実行しますが、永続化はしません。クラウドコストを分析し、コスト内訳を生成し、支出トレンドを表示するために使用します。
- update_report: 既存の Cloud Analytics レポートを更新します。
Cloud diagrams
このツールを使用して、特定のリソースに対する Cloud Diagrams ビューをすばやく開きます。
- find_cloud_diagrams: 指定したリソース ID に対する Cloud Diagrams の URL を返します。
Cloud incidents
これらのツールを使用して、既知のクラウドプロバイダーのインシデントを監視し、インシデントの詳細を確認します。
- get_cloud_incident: 指定した ID のクラウド インシデントの詳細を取得します。
- get_cloud_incidents: 各種プラットフォームからクラウド インシデントを取得します。
CloudFlow
このツールを使用して、MCP クライアントから直接 CloudFlow の実行を開始します。
- trigger_cloud_flow: フロー ID を指定して CloudFlow を起動し、必要に応じて JSON ペイロードを渡します。
Commitments
これらのツールを使用して、コミットメント契約とその現在のパフォーマンスを確認します。
- get_commitment: 指定した ID のコミットメントの詳細を返します。
- list_commitments: コミットメント(リザーブドキャパシティまたは支出契約)の一覧を返します。
Cost analysis helpers
これらは、一般的なコスト分析タスクを簡略化するための補助ツールです。これらのツールは MCP サーバーが提供するショートカットであり、API エンドポイントにはリンクされていません。
- compare_spend: 2 つの期間間で支出を比較します。
- cost_breakdown: 指定した期間について、サービス、プロジェクト、その他のディメンション別のコスト内訳を取得します。
- cost_trend: 時間の経過に伴うコスト推移を表示し、支出パターンを特定します。
- get_cloud_overview: クラウド支出と主要メトリクスの概要を取得 します。
DataHub
これらのツールを使用して、DataHub のデータセットを管理し、インジェストイベントを送信します。
- create_datahub_dataset: DataHub データセットを作成します。
- get_datahub_dataset: 名前を指定してデータセットの詳細を取得します。
- list_datahub_datasets: 顧客の DataHub データセットを一覧表示します。
- send_datahub_events: インジェスト用のイベントを送信します(制限は API リファレンスに従います)。
- update_datahub_dataset: データセットの説明を更新します。
Invoices
これらのツールを使用して、請求書を一覧表示し、詳細な請求レコードを深掘りします。
- get_invoice: 請求書番号を指定して、その請求書の全詳細を取得します。
- list_invoices: 組織のすべての現在および過去の請求書を一覧表示します。
ラベル
これらのツールを使用して、ラベルを作成し、リソース全体のラベル割り当てを管理します。
- assign_objects_to_label: オブジェクトをラベルに割り当てまたは割り当て解除します。
- create_label: 名前と色を指定してラベルを作成します。
- get_label: ID でラベルの詳細を取得します。
- get_label_assignments: ラベルに割り当てられているオブジェクトを一覧表示します。
- list_labels: アクセス可能なラベルを一覧表示します。
- update_label: ラベル名や色を更新します。
最適化インサイト
これらのツールを使用して、最適化の機会と、各インサイトに関連付けられているリソースを特定します。これらのツールは MCP サーバーによって提供されるショートカットであり、API エンドポイントにはリンクしません。
- get_insight_resources: 特定の最適化インサイトに関連付けられているリソースを取得します。
- list_optimization_recommendations: クラウドリソースに対する最適化レコメンデーションを一覧表示します。
プロダクト
これらのツールを使用して、アカウントコンテキスト内で利用可能なプラットフォームとプロダクトを閲覧します。
- list_platforms: 利用可能なプラットフォームを一覧表示します。
- list_products: プラットフォームごとに利用可能なプロダクトを一覧表示します(プラットフォーム名でフィルタリングすることも可能です)。
セッションツール
これらのツールを使用して、セッションコンテキストを制御し、影響の大きい操作を確認します。これらのツールは MCP サーバーによって提供されるショートカットであり、API エンドポイントにはリンクしません。
- change_customer: アカウントが複数のカスタマーにアクセスできる場合に、MCP コンテキストを別のカスタマーに切り替えます。
- confirm_action: センシティブまたは破壊的な可能性がある操作を実行する前に、明示的な確認を要求します。
サポートリクエスト
これらのツールを使用して、サポートチケットを確認し、チケットでのやり取りを管理します。
- create_ticket_comment: 既存のサポートリクエストにコメントを追加します。
- get_ticket: ID で特定のサポートリクエストの詳細を取得します。
- list_ticket_comments: サポートリクエストに対するコメントを一覧表示します。
- list_tickets: サポート API を使用してサポートリクエストを一覧表示します。
ユーザーとロール
これらのツールを使用して、組織ユーザー、招待、およびロール割り当てを管理します。
- invite_user: 新しいユーザーを組織に招待します。
- list_organizations: 組織の一覧を返します。
- list_roles: すべての IAM ロールの一覧を返します。
- list_users: 組織内のすべてのユーザーの一覧を返します。
- update_user: ユーザー情報を更新します。
- validate_user: 現在の API ユーザーを検証し、ドメインとメール情報を返します。
共通ワークフロー
これらのパターンは、AI assistant が最小限で信頼性の高いツールシーケンスを使用するのに役立ちます。
レポートと保存済みレポート
- セッショ ンの対象となるアカウントまたはテナントを確認する必要がある場合は、必要に応じて
validate_userを呼び出します。 - ユーザーがダッシュボードまたは定期レポートの名前を指定した場合は、
list_reportsを呼び出して保存済みレポートを検索します。 - レポート ID が分かったら、
get_report_resultsを呼び出します。
質問に対する回答がすでに保存済みレポートとして存在する場合は、run_query よりもこのルートを優先してください。
アドホック分析クエリ
- グループ化やフィルター項目が不明確な場合は、
list_dimensionsを呼び出します。 - 絞り込んだクエリを構築し、
run_queryを呼び出します。 - 最初の結果が広すぎる場合は、クエリを調整して再実行します。
コストのアノマリー
- 最近または上位のアノマリーには
get_anomaliesを使用し、ユーザーがすでに ID を持っている場合はget_anomalyを使用します。 - 他のデータソースと組み合わせる前に、そのアノマリーのクラウド・アカウントまたはプロジェクト・時間範囲・サービスを使用します。
使用例
MCP サーバーが提供する出力およびレコメンデーションはクエリに基づき動的に生成されるため、内容が変化する場合があります。実装前に、組織のセキュリティベストプラクティス、コスト効率化目標、コンプライアンス要件に合致しているかを確認するため、すべての出力およびレコメンデーションを十分にレビューしてください。
AI ツールは、他の MCP サーバーと統合されている場合があります。リクエストから意図した結果を得るために、DoiT MCP サーバーに関連するコンテキスト情報を含めてリクエストを記述してください。よくある問い合わせ例としては、次のようなものがあります:「コストが高い AWS サービス上位 3 つは何ですか」「最近のコストアノマリーは何ですか」「Monthly Cost Overview レポ ートの結果を表示してください」「すべての請求書を一覧表示してください」。
さらに、Cloud Intelligence のデータに関連する質問やリクエストを行う際には、詳細なリサーチを活用できます。これは、MCP サーバーが請求書、コストのアノマリー、リソースなどについて、より細かなインサイトを提供できるため有用です。Claude を使用してこれを行うには、次のようにします。
-
たとえば「直近のアノマリー 3 件は何ですか?」と尋ねます。
-
一覧が取得できたら、返信プロンプトで Research を選択します。
-
返信プロンプトで、次のようにより詳細な情報を依頼します。「3 番 — Cloud run anomaly — 2025 年 6 月 18 日について調査してください。原因は何ですか?どのくらいの頻度で発生していますか?再発を防ぐにはどうすればよいですか?」Claude はそのアノマリーについて詳細調査を実行します。
認可とセキュリティ
-
Streamable HTTP: ブラウザベースの DoiT サインインと同意フローを使用します。Local stdio:
DOIT_API_KEYを使用したパーソナル API トークンで認証し、OAuth は使用しません。メソッドの詳細は Connection methods を参照してください。クライアントの手順は Client examples を 参照してください。 -
アクセス制御: MCP 呼び出しは、サインイン中の DoiT ユーザー(HTTP)または API トークン(stdio)を使用し、コンソールの権限に従います。Required permissions に記載されているアクセスが必要です。各ツールは、その基盤となる操作について DoiT developer API の認可モデルに従います。操作レベルの要件については API reference を参照してください。
-
運用上の衛生管理: 組織内でロールやアクセスが変更された場合は、統合を再接続するか再テストしてください。stdio の場合は、必要に応じて API トークンを再作成するか、スコープを変更してください。
トラブルシューティング
| 症状 | 確認事項 |
|---|---|
| コネクタまたは認証ウィンドウが開かない | Streamable HTTP の場合: ブラウザのポップアップブロッカー、企業のプロキシ、OAuth や埋め込みフローをブロックする拡張機能を確認してください。サイトを許可したうえで再試行してください。Local stdio はブラウザを開かないため、代わりに DOIT_API_KEY が設定されていることを確認してください。 |
ofid_ 参照付きで Authorization with the MCP server failed と表示され る | ofid_ 参照は(Claude や ChatGPT などの)AI クライアントからの識別子であり、DoiT のエラーコードではありません。
|
| 認証に失敗する(HTTP) | サインインが完了していないか、セッションが期限切れです。ブラウザでのサインインフローを再試行してください。 |
| 認証に失敗する(stdio) | DOIT_API_KEY が未設定・無効・期限切れ、または @doitintl/doit-mcp-server を起動するプロセスから参照できません。クライアント設定で環境変数の値を確認し、必要に応じて パーソナル API トークン を再作成してください。 |
| 期待したリソースに対してアクセス拒否またはデータが空になる | サインインしているユーザーまたは API トークンに、その API 操作用の Console 権限がありません。API reference および token scope を確認してください。 |
| 接続済みだが、AI クライアントで多くのツールが表示されない | 一部の Web ベース MCP コネクタは、ツールのサブセットのみを公開します。非推奨の legacy SSE エンドポイントを使用していないことを確認してください。クライアント向けにサポートされる別の connection method を試すか、完全なツール一覧を読み込むクライアントを使用してください。 |
| 予期しないツールエラーが発生する | 使用しているツールについて API reference を確認してください。パラメータやクォータは、直接の API 呼び出しの場合と同様に適用されます。 |
| Claude Cowork でインラインウィジェットがレンダリングされない | インラインウィジェット(Cloud Analytics のチャートなど)のレンダリングには、ホストされたリモート MCP サーバー接続が必要です。ローカルの stdio 接続はウィジェットメタデータをサポートしません。リモートサーバー経由で接続していることを確認してください。ウィジェットがレンダリングされない場合でも、ツール結果はテキストとして正しく返されます。 |