リモート Azure DevOps MCP サーバーを設定する

Azure DevOps サービス

リモート Azure DevOps MCP サーバーは、ローカル インストールを必要としない Azure DevOps MCP Server のホストバージョンです。 マシン上でサーバーを実行する代わりに、ストリーミング可能な HTTP トランスポートを使用して、AI アシスタントを Azure DevOps ホストエンドポイントに直接接続します。

最初にリモートを選択する

環境でサポートされている場合は、 リモート MCP サーバー を使用します。 リモート サーバーは、Azure DevOps によってホストおよび更新され、Node.js をインストールしたりローカル サーバー プロセスを管理したりする必要がないため、推奨されるオプションです。

クライアントがMicrosoft Entra IDを使用してリモート サーバーに対して認証できない場合は、ローカル MCP サーバーを使用します。 この制限は現在、Claude Desktop や Codex などのクライアントに適用されます。 カーソルとクロード コードでは、認証にカスタム Microsoft Entra アプリの登録が必要です。 ローカルセットアップの手順については、「Azure DevOps MCP サーバーで AI サポートを有効にする」を参照してください。

特徴 リモート MCP サーバー ローカル MCP サーバー
Installation インストールは不要 Node.js 20.0 以降が必要です。 npx
輸送 ストリーミング可能な HTTP stdio
認証 マイクロソフト エントラ ID (OAuth) Azure DevOps の PAT か Microsoft Entra ID
ホスティング Azure DevOpsホステッド サービス コンピューター上でローカルに実行する
Configuration 最小限 mcp.json 環境固有のセットアップ

前提条件

カテゴリ 必要条件
Azure DevOps Microsoft Entra テナントによってサポートされているアクティブなAzure DevOps組織。 スタンドアロン Microsoft アカウント (MSA) 組織は、リモート MCP サーバーの使用ではサポートされていません。
アクセス許可 プロジェクトのメンバーシップとクエリを実行するリソースへのアクセス
環境 サポートされている AI アシスタント環境 ( サポートされている環境を参照)

mcp.json 構成

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/{organization}",
      "type": "http"
    }
  },
  "inputs": []
}

URL から組織名を省略することもできます。 ただし、組織名を省略した場合は、各ツール呼び出しでコンテキストとして指定する必要があります。

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/",
      "type": "http"
    }
  },
  "inputs": []
}

ツールセット

ツールセットを指定して、MCP サーバーで使用できるツールを制限します。 X-MCP-Toolsと組み合わせることはできません。

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/{organization}",
      "type": "http",
      "headers": {
        "X-MCP-Toolsets": "repos,wiki,wit"
      }
    }
  },
  "inputs": []
}
ツールセットの値 含まれているツール
all (既定値) すべてのツール
repos リポジトリと pull request ツール
advsec 高度なセキュリティ アラート ツール
wit 作業項目ツールと search_workitem
pipelines パイプラインとビルド ツール
wiki Wiki ツールと search_wiki
work イテレーションとキャパシティのツール
testplan テスト 計画ツール
elm Enterprise Live Migration ツール (プレビュー、既定で有効)

読み取り専用ツール

X-MCP-Readonly ヘッダーを使用して、サーバーを読み取り専用の操作に制限します。 この制限は、Azure DevOps リソースの変更を防ぐ場合に便利です。

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/{organization}",
      "type": "http",
      "headers": {
        "X-MCP-Readonly": "true"
      }
    }
  },
  "inputs": []
}

ツールセットと読み取り専用フィルターの組み合わせ

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/{organization}",
      "type": "http",
      "headers": {
        "X-MCP-Toolsets": "repos,wiki,wit",
        "X-MCP-Readonly": "true"
      }
    }
  },
  "inputs": []
}

個々のツール

特定のツールのみを有効にするには、 X-MCP-Tools ヘッダーを使用します。 X-MCP-Toolsetsと組み合わせることはできません。

使用可能なツールの一覧に表示されるツール名を指定します。 wit_work_itemなどの統合ツールの場合は、ツールを呼び出すときにツールの action パラメーターを使用して操作を選択します。

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/{organization}",
      "type": "http",
      "headers": {
        "X-MCP-Tools": "core_list_projects, wit_work_item"
      }
    }
  },
  "inputs": []
}

インサイダーたち

既存のツールと更新プログラムを試して導入する際に、 X-MCP-Insiders ヘッダーを使用して、これらの変更に早期にアクセスできます。

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/{organization}",
      "type": "http",
      "headers": {
        "X-MCP-Insiders": "true"
      }
    }
  },
  "inputs": []
}

使用可能なツール

注

この一覧には、最新のツール更新プログラムが必ずしも反映されていない場合があります。

コア ツール

特に明記されていない限り、コア ツールは常に使用できます。

ツール 説明
core_list_orgs 認証されたユーザーがアクセスできる組織Azure DevOps一覧表示する
core_list_projects 組織内のプロジェクトを一覧表示する
core_list_project_teams プロジェクト内のチームを一覧表示する
core_list_group_members Azure DevOps グループの直接メンバーと子グループを一覧表示する

注

core_list_group_members ヘッダーを使用してX-MCP-Insidersを使用できるのは MCP Insider だけです。

仕事

作業ツールは、 action パラメーターを使用してグループ化されたディスパッチャーに統合されます。

ツール アクション 説明 読み 取り 専用
work list_iterations プロジェクト内のすべてのイテレーションを一覧表示する ✅
work list_team_iterations チームに割り当てられたイテレーションを一覧表示する ✅
work get_team_settings 既定のイテレーション、バックログ イテレーション、既定の領域パスを含むチーム設定を取得する ✅
work get_team_capacity イテレーションのチーム容量を取得する ✅
work get_iteration_capacities そのイテレーションとプロジェクト内のすべてのチームのキャパシティを取得する ✅
work_iteration_write create イテレーションを作成する ❌
work_iteration_write assign イテレーションをチームに割り当てる ❌
work_capacity_write update 特定のイテレーションのチーム メンバーのチーム容量を更新する ❌

Repos

リポジトリ ツールは、 action パラメーターを使用してグループ化されたディスパッチャーに統合されます。

ツール アクション 説明 読み 取り 専用
repo_pull_request get ID で pull request を取得する ✅
repo_pull_request list リポジトリまたはプロジェクトの pull request を一覧表示する ✅
repo_pull_request list_by_commits 特定のコミット ID を含むプル要求を検索する ✅
repo_pull_request get_changes pull 要求のイテレーションのファイル変更とオプションの行ごとの差分を取得する ✅
repo_pull_request_thread list pull request のコメント スレッドを一覧表示する ✅
repo_pull_request_thread list_comments 特定のスレッドのコメントを一覧表示する ✅
repo_repository get 名前または ID でリポジトリを取得する ✅
repo_repository list プロジェクト内のリポジトリを一覧表示する ✅
repo_branch get 名前で分岐を取得する ✅
repo_branch list リポジトリ内の分岐を一覧表示する ✅
repo_branch list_mine 現在のユーザーがプッシュしたブランチを一覧表示する ✅
repo_file get_content 特定のブランチ、タグ、またはコミットでファイルのテキスト コンテンツを取得する ✅
repo_file list_directory ディレクトリ内のファイルとフォルダーを一覧表示し、オプションの再帰的な一覧を表示する ✅
repo_search_commits テキスト、作成者、日付範囲などをフィルター処理してコミットを検索する ✅
search_code フルテキスト コード検索 ✅
repo_pull_request_write create pull request を作成する ❌
repo_pull_request_write update オートコンプリートの設定を含む pull request を更新する ❌
repo_pull_request_write update_reviewers pull request レビュー担当者を追加または削除する ❌
repo_pull_request_write vote プルリクエストに対して投票を行う ❌
repo_pull_request_thread_write create pull request で新しいコメント スレッドを作成する ❌
repo_pull_request_thread_write reply スレッド内のコメントに返信する ❌
repo_pull_request_thread_write update_status コメント スレッドの状態を更新する ❌
repo_create_branch 分岐を作成する ❌

ウィット

作業項目ツールは、 action パラメーターを使用してグループ化されたディスパッチャーに統合されます。

ツール アクション 説明 読み 取り 専用
wit_work_item get ID で作業項目を取得する ✅
wit_work_item get_batch ID で複数の作業項目を取得する ✅
wit_work_item list_comments 作業項目のコメントを一覧表示する ✅
wit_work_item my 認証されたユーザーに関連する作業項目を取得する ✅
wit_work_item list_revisions 作業項目のリビジョンを一覧表示する ✅
wit_work_item list_for_iteration チーム イテレーションの作業項目を一覧表示する ✅
wit_work_item get_type 作業項目の種類のメタデータを取得する ✅
wit_query get ID またはパスでクエリを取得する ✅
wit_query get_results 保存されたクエリを実行する ✅
wit_query search 名前でクエリを検索する ✅
wit_query list ルート クエリ フォルダーとその子を一覧表示する ✅
wit_query_by_wiql WIQL クエリを実行し、一致する作業項目を返す ✅
wit_backlog list チームのバックログ レベルを一覧表示する ✅
wit_backlog list_work_items 特定のバックログ レベルで作業項目を一覧表示する ✅
search_workitem フルテキスト作業項目の検索 ✅
wit_work_item_write create 新しい作業項目を作成する ❌
wit_work_item_write update 作業項目のフィールドを更新する ❌
wit_work_item_write update_batch 1 回の呼び出しで複数の作業項目を更新する ❌
wit_work_item_write add_child 親の下に子の作業項目を作成する ❌
wit_work_item_comment_write add 作業項目にコメントを追加する ❌
wit_work_item_comment_write update 作業項目の既存のコメントを更新する ❌
wit_work_item_link_write link 2 つの作業項目をリンクする ❌
wit_work_item_link_write unlink 作業項目からリンクを削除する ❌
wit_work_item_link_write link_to_pull_request 作業項目を pull request にリンクする ❌
wit_work_item_link_write add_artifact_link リポジトリ、ブランチ、コミット、ビルド、または Wiki 成果物リンクを作業項目に追加する ❌
wit_work_item_attachment 作業項目の添付ファイルを ID でダウンロードする。ファイル名と MIME の種類を持つ base64 でエンコードされたコンテンツを返します ✅
wit_work_item_attachment_upload 作業項目に添付せずに、添付ファイル ストアにファイル コンテンツ (最大 20 MB、Base64 エンコード) をアップロードする ❌
wit_work_item_attachment_link 以前にアップロードした添付ファイルを作業項目にリンクする ❌

注

wit_query_by_wiql は現在、 X-MCP-Insiders ヘッダーを使用して MCP Insider のみが使用できます。

Pipelines

パイプライン ツールは、 action パラメーターを使用してグループ化されたディスパッチャーに統合されます。

ツール アクション 説明 読み 取り 専用
pipelines_build list オプションのフィルターを使用してビルドを一覧表示する ✅
pipelines_build get_status ビルドの状態、問題、およびレポート メタデータを取得する ✅
pipelines_build get_changes ビルドに関連付けられているコミットと作業項目を取得する ✅
pipelines_build_log list ビルドで使用可能なログを一覧表示する ✅
pipelines_build_log get_content ID で特定のログのテキスト コンテンツを取得する ✅
pipelines_definition list オプションのフィルターを使用してパイプライン定義を一覧表示する ✅
pipelines_definition list_revisions パイプライン定義のリビジョン履歴を一覧表示する ✅
pipelines_run get パイプラインの 1 つの実行を取得する ✅
pipelines_run list パイプラインの実行を一覧表示する ✅
pipelines_artifact list ビルドの成果物を一覧表示する ✅
pipelines_artifact download 名前付きビルド成果物をダウンロードする ✅
pipelines_write run_pipeline 新しいパイプライン実行をキューに追加する ❌
pipelines_write create_pipeline 新しい YAML パイプライン定義を作成する ❌
pipelines_write update_build_stage 実行中のビルドでステージをキャンセル、再試行、または実行する ❌

ウィキ

Wiki の読み取り操作は、1 つの wiki ツールに統合されます。 action パラメーターを使用して操作を選択します。

ツール アクション 説明 読み 取り 専用
wiki list_wikis プロジェクトまたは組織内の Wiki を一覧表示する ✅
wiki get_wiki 識別子で Wiki を取得する ✅
wiki list_pages Wiki のページを一覧表示する ✅
wiki get_page ページのコンテンツとメタデータを取得する ✅
search_wiki フルテキスト Wiki 検索 ✅
wiki_upsert_page Wiki ページを作成または更新する ❌

Test Plans

テスト計画ツールは、 action パラメーターを使用してグループ化されたディスパッチャーに統合されます。

ツール アクション 説明 読み 取り 専用
testplan list_plans プロジェクト内のテスト 計画を一覧表示する ✅
testplan list_suites テスト計画の下でテスト スイートを一覧表示する ✅
testplan list_cases テスト スイートの下にテスト ケースを一覧表示する ✅
testplan_show_test_results_from_build_id ビルドからテスト結果を取得する ✅
testplan_test_run get_results オプションの詳細フィルターと結果フィルターを使用してテスト実行の結果を取得する ✅
testplan_test_plan_write create テスト計画を作成する ❌
testplan_test_suite_write create テスト スイートの作成 ❌
testplan_test_suite_write add_test_cases テスト ケースをスイートに追加する ❌
testplan_test_case_write create テスト ケースの作成 ❌
testplan_test_case_write update_steps テスト ケースの手順を更新する ❌
testplan_test_run_write create_run 手動テスト実行用のテスト実行を作成する ❌
testplan_test_run_write update_results 実行でのテスト結果の結果と詳細を更新する ❌
testplan_test_run_write complete_run 結果に基づいてテストの実行を完了または中止する ❌
testplan_test_run_write update_test_point_outcome テスト ポイントの結果を更新またはリセットする ❌

高度なセキュリティ

Advanced Security ツールは、 action パラメーターを使用するグループ化されたディスパッチャーに統合されます。

ツール アクション 説明 読み 取り 専用
advsec_alerts list オプションのフィルターを使用してリポジトリの高度なセキュリティ アラートを一覧表示する ✅
advsec_alerts get ID で高度なセキュリティ アラートを取得する ✅

Enterprise Live Migration (プレビュー)

Enterprise Live Migration ツールでは、タスクのグループ化とディスパッチに action パラメーターを使用します。 Enterprise Live Migration プレビューの詳細を確認します。

Important

リモート Azure DevOps MCP サーバーでの ELM サポートは現在プレビュー段階です。 ツールは既定で有効になっています。

ツール アクション 説明 読み 取り 専用
enterprise_live_migration list 組織の移行を一覧表示します。省略可能なプロジェクトフィルターと includeAllMigrations フラグを指定できます。 ✅
enterprise_live_migration get リポジトリの移行状態を取得する ✅
enterprise_live_migration get_cutover_review 切り替え前に失敗またはブロックされたアイテムを取得する ✅
enterprise_live_migration get_device_flow_config GitHub アプリのデバイスフロー構成を取得 ✅
enterprise_live_migration list_pipelines パイプラインを一覧表示し、再配線状況を表示する ✅
enterprise_live_migration_write create 新しい移行を作成する ❌
enterprise_live_migration_write pause アクティブな移行を一時停止する ❌
enterprise_live_migration_write resume 一時停止した移行を再開する ❌
enterprise_live_migration_write cutover_set カットオーバー日を設定する ❌
enterprise_live_migration_write cutover_cancel 予定されたカットオーバーをキャンセルする ❌
enterprise_live_migration_write approve_cutover エラーを受け入れてカットオーバーを続行する ❌
enterprise_live_migration_write abandon 移行を完全に削除する ❌
enterprise_live_migration_pipelines_write submit 再配線用のパイプラインを送信する ❌
enterprise_live_migration_pipelines_write update パイプラインの再配線構成を更新する ❌
enterprise_live_migration_pipelines_write delete ターミナル移行のすべてのパイプライン クローンを削除する ❌

Enterprise Live Migration ツールのみを使用できるようにするには、 X-MCP-Toolsets ヘッダーと elm 値を使用します。

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/{organization}",
      "type": "http",
      "headers": {
        "X-MCP-Toolsets": "elm"
      }
    }
  },
  "inputs": []
}

サポートされている環境

リモート Azure DevOps MCP サーバーでは、ユーザー アカウントとAzure DevOps組織がMicrosoft Entra IDに接続する必要があります。

既定では、すべての MCP クライアントがMicrosoft Entra認証をサポートしているわけではありません。 一部の環境では、クライアント アプリケーションを登録するための追加の手順が必要です。

Microsoft Entra認証が使用可能な場合、リモート エンドポイントでサポートされる環境は次のとおりです。

  • GitHub Copilotと一緒に使用するVisual Studio
  • Visual Studio
  • Microsoft Foundry
  • Microsoft Copilot Studio
  • GitHub Copilot CLI(コマンドラインインターフェース)
  • GitHub Copilot アプリ
  • カスタム Microsoft Entra アプリ登録を使用する Cursor デスクトップ、Cursor Cloud Agents、または Claude Code

Important

現在、Claude Desktop と Codex では、リモート Azure DevOps MCP サーバーに必要なMicrosoft Entra認証フローはサポートされていません。 これらのクライアントで ローカル MCP サーバー を使用します。

Visual Studio Code

Visual Studio Codeでリモート MCP サーバーを構成するには:

  1. 前に示したmcp.json 構成を使用して、.vscode/mcp.json ファイルをリポジトリに追加します。
  2. ファイルを保存します。
  3. VS Code でGitHub Copilotを開きます。
  4. メッセージが表示されたら、Microsoft Entra アカウントを使用して認証し、アカウントを選択します。

認証が完了すると、使用可能なツールの一覧が表示されます。

Visual Studio (2022 以降)

MCP 設定にサーバー URL を追加して、Visual Studioでリモート MCP サーバーを構成します。 詳細については、「 Visual Studio」を参照してください。

カスタム クライアントの OAuth スコープを選択する

カスタム MCP クライアントを登録するときに、クライアントが実行するAzure DevOps操作に必要な委任されたアクセス許可のみを付与します。 OAuth スコープは、クライアントがアクセスできる Azure DevOps のリソースと操作を決定します。 MCP ツールまたはツールセットを有効にしても、追加のアクセス許可は付与されません。

最小特権の原則に従います。

  • クライアントが読み取り専用 MCP ツールのみを使用する場合は、読み取りスコープを付与します。
  • クライアントが対応する書き込み操作を必要とする場合にのみ、書き込みスコープまたは管理スコープを付与します。
  • 冗長なアクセス許可が付与されないように、継承されたスコープを確認します。

使用可能なスコープとそのリレーションシップについては、「 OAuth スコープ」を参照してください。

OAuth スコープは、サインインしているユーザーのアクセス許可をオーバーライドしません。 MCP 操作は、アプリケーション スコープとユーザーのAzure DevOpsアクセス許可の両方で許可されている場合にのみ成功します。

Cursor

カーソルは、リモート Azure DevOps MCP サーバーにアクセスするためにカスタム Microsoft Entra アプリの登録を必要とします。

アプリケーションを Cursor デスクトップに登録する

  1. Azure DevOps MCP エンタープライズ アプリケーションがテナントにプロビジョニングされていることを確認します。 見つからない場合は、「テナントで MCP エンタープライズ アプリケーションAzure DevOpsが見つからない」を参照してください。
  2. Microsoft Entra 管理センターで、アプリの登録に移動し、アプリの登録を作成します。
  3. アプリの登録で、[ 認証 (プレビュー)]>[リダイレクト URI の追加>Mobile アプリケーションとデスクトップ アプリケーションを追加する] を選択します。
  4. リダイレクト URI として「 http://localhost:8787/callback 」と入力し、変更を保存します。
  5. [ 認証 (プレビュー)] ページで、[ 設定] タブを選択し、[ パブリック クライアント フローの許可] を有効にします。
  6. [ API のアクセス許可 ] ページで、[ アクセス許可の追加>組織が使用する API を選択します。
  7. Azure DevOps MCP またはアプリケーション ID 2a72489c-aab2-4b65-b93a-a91edccf33b8を検索し、アプリケーションを選択します。
  8. OAuth スコープのガイダンスに従って、クライアントに必要な委任されたアクセス許可を選択し、[アクセス許可の追加] を選択します。
  9. [管理者の同意の付与] を選択します。 ロールによっては、テナント管理者がこの手順を完了することが必要になる場合があります。

アプリの登録から アプリケーション (クライアント) ID を コピーします。 Cursor を構成するには、この値が必要です。

Cursorデスクトップ版を設定する

  1. カーソルで、[ 設定]>Tools > MCP を開きます。

  2. [ 新しい MCP サーバー] を選択します。

  3. 次の構成を追加し、 {client-id} をコピーしたアプリケーション (クライアント) ID に置き換えます。

    {
      "mcpServers": {
        "ado": {
          "url": "https://mcp.dev.azure.com",
          "type": "http",
          "auth": {
            "CLIENT_ID": "{client-id}"
          }
        }
      }
    }
    
  4. 構成を保存し、 設定>Tools > MCP に戻ります。

  5. ado サーバーを見つけて、[認証] を選択します。

Cursor Cloud エージェントの構成

Cursor Cloud Agents には、カスタム Microsoft Entra アプリの登録に加えて、Web リダイレクト URI とクライアント シークレットが必要です。

  1. Microsoft Entra 管理センターで、Cursor 用に作成したアプリの登録を開きます。

  2. [認証 (プレビュー)]>[リダイレクト URI の追加>Web] を選択します。

  3. リダイレクト URI として「 https://www.cursor.com/agents/mcp/oauth/callback 」と入力し、変更を保存します。

  4. [証明書とシークレット>クライアント シークレット>新しいクライアント シークレットを選択します。

  5. 説明を入力し、有効期限を選択して、[ 追加] を選択します。

  6. クライアント シークレットの値をコピーします。 値は 1 回だけ表示されます。

  7. Cursor で、Cloud Agents MCP サーバー構成を開き、カスタム MCP サーバーを追加または編集します。

  8. サーバーの URL を https://mcp.dev.azure.com に設定します。

  9. アプリ登録のアプリケーション (クライアント) ID を クライアント ID に入力し、クライアント シークレットの値を クライアント シークレット に入力します。

    または、JSON 構成を編集し、プレースホルダーをアプリ登録値に置き換えます。

    {
      "mcpServers": {
        "ado": {
          "url": "https://mcp.dev.azure.com",
          "type": "http",
          "auth": {
            "CLIENT_ID": "{client-id}",
            "CLIENT_SECRET": "{client-secret}"
          }
        }
      }
    }
    
  10. 構成を保存し、[Cursor Cloud Agents] から [ログイン] を選択して、Microsoft Entra認証を完了します。

Important

クライアント シークレットをパスワードのように扱います。 ソース管理にコミットしないでください。 有効期限が切れる前に、代替シークレットを作成し、Cursor Cloud Agents の構成を更新します。

Microsoft Entraがエラー AADSTS50011を返す場合は、Web リダイレクト URI がhttps://www.cursor.com/agents/mcp/oauth/callbackと正確に一致することを確認します。 エラー AADSTS7000218でトークン交換が失敗した場合は、現在のクライアント シークレットの値が Cursor Cloud Agents で構成されていることを確認します。

クロード符号

Claude Code では、リモート Azure DevOps MCP サーバーにアクセスするために、カスタム Microsoft Entra アプリの登録が必要です。

アプリケーションを登録する

  1. Azure DevOps MCP エンタープライズ アプリケーションがテナントにプロビジョニングされていることを確認します。 見つからない場合は、「テナントで MCP エンタープライズ アプリケーションAzure DevOpsが見つからない」を参照してください。
  2. Microsoft Entra 管理センターで、アプリの登録に移動し、アプリの登録を作成します。
  3. アプリの登録で、[ 認証 (プレビュー)]>[リダイレクト URI の追加>Mobile アプリケーションとデスクトップ アプリケーションを追加する] を選択します。
  4. リダイレクト URI として「 http://localhost:3118/callback 」と入力し、変更を保存します。
  5. [ 認証 (プレビュー)] ページで、[ 設定] タブを選択し、[ パブリック クライアント フローの許可] を有効にします。
  6. [ API のアクセス許可 ] ページで、[ アクセス許可の追加>組織が使用する API を選択します。
  7. Azure DevOps MCP またはアプリケーション ID 2a72489c-aab2-4b65-b93a-a91edccf33b8を検索し、アプリケーションを選択します。
  8. OAuth スコープのガイダンスに従って、クライアントに必要な委任されたアクセス許可を選択し、[アクセス許可の追加] を選択します。
  9. [管理者の同意の付与] を選択します。 ロールによっては、テナント管理者がこの手順を完了することが必要になる場合があります。

アプリの登録から アプリケーション (クライアント) ID を コピーします。 Claude Code を構成するには、この値が必要です。

Claude Code の構成

  1. 次のコマンドを実行し、{client-id}をコピーしたアプリケーション (クライアント) ID に置き換え、{organization}をAzure DevOps組織名に置き換えます。

    claude mcp add --transport http ado https://mcp.dev.azure.com/{organization} \
      --client-id {client-id} --callback-port 3118
    

    または、次の構成でリポジトリのルートに .mcp.json ファイルを作成します。

    {
      "mcpServers": {
        "ado": {
          "type": "http",
          "url": "https://mcp.dev.azure.com/{organization}",
          "oauth": {
            "clientId": "{client-id}",
            "callbackPort": 3118
          }
        }
      }
    }
    
  2. claudeを実行して Claude Code を起動します。

  3. /mcp実行し、ブラウザーのサインイン フローに従って、Microsoft Entra アカウントで認証します。

これらのオプションの詳細については、「 Claude Code を MCP 経由でツールに接続する」を参照してください。

接続を確認する

セットアップ後、AI アシスタントにAzure DevOpsデータに関する質問をして、リモート MCP サーバーが動作していることを確認します。

例:

  • "Azure DevOps組織内のプロジェクトを一覧表示します。"
  • "割り当てられた作業項目を表示する"
  • どのプルリクエストにレビューが必要ですか?

AI アシスタントがAzure DevOps組織から結果を返した場合、リモート MCP サーバーが正しく構成されます。

AI を使用してリモート MCP セットアップの検証とトラブルシューティングを行う

Copilot Chat 用の以下のプロンプト例は、適切な MCP アプローチの選択、リモート設定の構成と検証、日常的に使用するプロンプトの改善、そして必要に応じた問題のトラブルシューティングに役立ちます。 これらのプロンプトをコピーしてCopilot Chatに貼り付け、プレースホルダーを実際の組織、クライアント、エラーの詳細に置き換えます。

Task プロンプトの例
リモートとローカルの選択 For my environment and client tools, help me decide whether to use the remote Azure DevOps MCP Server or the local server, and explain the tradeoffs.
最小特権の構成を構築する Generate a remote mcp.json configuration for organization <contoso> that uses only the needed toolsets and read-only mode.
mcp.jsonセットアップを検証する Review this remote Azure DevOps MCP server configuration and tell me whether anything is missing or incorrect for Visual Studio Code.
認証の前提条件を確認する Help me verify whether this remote MCP setup can authenticate with Microsoft Entra ID for organization <contoso>.
毎日の作業に対するクエリ プロンプトを改善する Give me better prompt wording to reliably fetch fresh Azure DevOps data from remote MCP for project <project-name>, including how to avoid stale results.
接続拒否の診断 I'm getting Connection Refused when connecting to https://mcp.dev.azure.com/<organization>. Give me step-by-step network, proxy, and firewall checks to fix it.
不足しているデータを診断する The remote MCP server connects, but queries return no data. Help me determine whether this is a permissions issue or missing project context.
デバッグ ツールのヘッダー フィルタリング Check my X-MCP-Toolsets and X-MCP-Tools header configuration and explain why expected tools are not appearing.

Copilot では AI を利用しているため、想定外のことや間違いが起こる可能性があります。 詳細については、「Copilot一般的な使用に関する FAQを参照してください。

Troubleshooting

Issue Resolution
認証が失敗する Microsoft Entra の資格情報を確認し、Azure DevOps 組織にアクセスできるかどうかを確認します。
サーバーが見つかりません サーバー URL の形式を確認します: https://mcp.dev.azure.com/{organization}。
接続が拒否されました ネットワークで mcp.dev.azure.com への HTTPS のアウトバウンド通信が許可されていることを確認してください。 会社のプロキシまたはファイアウォールを使用している場合は、管理者にエンドポイントの一覧表示を許可し、VPN なしで再試行してネットワーク パスの問題を分離するように依頼します。
データが返されない クエリ対象のプロジェクトまたはリソースに対する適切なアクセス許可があることを確認します。
ELM ツールは使用できません ELM ツールは既定で有効になっています。 使用可能なツールセットを制限する場合は、 X-MCP-Toolsets ヘッダーに elmが含まれていることを確認します。 次に、MCP サーバーを再接続し、ID に必要なAzure DevOpsアクセス許可があることを確認します。 前提条件については、「 Enterprise Live Migrations の概要」を参照してください。

サポートのために、 ローカル MCP サーバー リポジトリに問題を作成できます。 リモート問題テンプレートを必ず使用してください。

FAQ

Claude Desktop や Codex などの他のクライアントはどうですか?

Claude Desktop と Codex では、リモート MCP サーバーを使用する前に、Microsoft Entra IDで OAuth クライアント ID を動的に登録する必要があります。 Microsoft Entra IDでは現在、これらのクライアントに必要な動的クライアント登録フローはサポートされていません。 これらのクライアントで ローカル MCP サーバー を使用します。