Azure DevOps MCP Server について
Azure DevOps MCP Server は、AI アシスタントが Azure DevOps のプロジェクト、ワークアイテム、リポジトリ、パイプラインにアクセスできるようにするコミュニティ製の MCP サーバーです。Microsoft 公式サーバーでは扱いにくいオンプレミスの Azure DevOps Server を必要とするチーム向けです。
主な機能
- 01プロジェクト、ワークアイテム、リポジトリ、プルリクエストのツール
- 02パイプラインの実行、ログ、アーティファクトの取得
- 03PAT、Azure Identity、Azure CLI による認証
- 04Azure DevOps Server(オンプレミス)への対応
活用シーン
- 01AI アシスタントによるワークアイテムの作成と更新
- 02オンプレミスの Azure DevOps Server でのプルリクエストとパイプラインの確認
MCP 対応
本プロジェクトは MCP サーバーとして、Azure DevOps の REST API をツールとして包み、Claude Desktop や Cursor などの MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Azure DevOps MCP サーバー
Azure DevOps 用の Model Context Protocol(MCP)サーバー実装です。標準化されたプロトコルを通じて、AI アシスタントが Azure DevOps API と連携できます。
公式サーバーをお探しですか? Microsoft は、製品としてサポートされている Azure DevOps MCP を microsoft/azure-devops-mcp で提供しています。Azure DevOps Services(クラウド)をお使いの場合は、まずこちらをご覧ください。
Azure DevOps Server(オンプレミス) のサポートが必要な場合、特に Microsoft の MCP では動作しない可能性がある旧バージョンをお使いの場合や、公式サーバーではまだ利用できない機能が必要な場合は、引き続きこのコミュニティサーバーが適しています。詳しくは、Discussion #237 をご覧ください。このサーバーの差別化ポイントと今後の予定については、ROADMAP.md をご覧ください。
概要
このサーバーは、Azure DevOps 向けに Model Context Protocol(MCP) を実装し、Claude のような AI アシスタントが Azure DevOps のリソースと安全に連携できるようにします。サーバーは AI モデルと Azure DevOps API の橋渡しを行い、以下のための標準化された方法を提供します。
- プロジェクト、作業項目、リポジトリなどへのアクセスと管理
- 作業項目、ブランチ、プルリクエストの作成と更新
- 自然言語による一般的な DevOps ワークフローの実行
- 標準化されたリソース URI によるリポジトリコンテンツへのアクセス
- Azure DevOps リソースへの安全な認証と連携
サーバー構成
このサーバーは、AI アシスタントとの通信に Model Context Protocol(MCP)を使用して構成されています。以下を含む Azure DevOps リソースと連携するためのツールを提供します。
- プロジェクト
- 作業項目
- リポジトリ
- プルリクエスト
- ブランチ
- パイプライン
コアコンポーネント
- AzureDevOpsServer:MCP サーバーを初期化し、ツールを登録するメインサーバークラス
- 機能モジュール:機能領域ごとに整理されています(work-items、projects、repositories など)
- リクエストハンドラー:各機能モジュールが、リクエストの識別および処理関数を提供します
- ツールハンドラー:Azure DevOps の各操作に対応するモジュール式関数
- 設定:組織 URL、PAT などの環境変数に基づく設定
このサーバーは機能ベースのアーキテクチャを採用しており、作業項目、プロジェクト、リポジトリなどの各機能領域がそれぞれ独自のモジュールにカプセル化されています。これにより、コードベースの保守性が高まり、新機能を追加しやすくなります。
はじめに
前提条件
- Node.js(v16 以降)
- npm または yarn
- 適切なアクセス権を持つ Azure DevOps アカウント
- 認証情報(詳細は認証ガイドをご覧ください):
- 個人用アクセストークン(PAT)、または
- Azure Identity の認証情報、または
- Azure CLI へのログイン
npm(npx)からの実行
公開済みのサーバーパッケージを実行するだけの場合、このリポジトリのクローンやビルドは不要です。
npx -y @tiberriver256/mcp-server-azure-devops
ローカルでの実行(ソースから)
このリポジトリをチェックアウトした状態から:
npm ci
cp .env.example .env # then edit values
npm run build
npm start # runs: node dist/index.js
反復開発(自動リロード)の場合:
npm run dev # runs src/index.ts via tsx watch
Claude Desktop/Cursor AI での使用
Claude Desktop または Cursor AI と連携するには、設定ファイルに以下のいずれかの設定を追加してください。
Azure Identity 認証
az login で Azure CLI にログインしていることを確認してから、以下を追加してください。
{
"mcpServers": {
"azureDevOps": {
"command": "npx",
"args": ["-y", "@tiberriver256/mcp-server-azure-devops"],
"env": {
"AZURE_DEVOPS_ORG_URL": "https://dev.azure.com/your-organization",
"AZURE_DEVOPS_AUTH_METHOD": "azure-identity",
"AZURE_DEVOPS_DEFAULT_PROJECT": "your-project-name"
}
}
}
}
個人用アクセストークン(PAT)認証
{
"mcpServers": {
"azureDevOps": {
"command": "npx",
"args": ["-y", "@tiberriver256/mcp-server-azure-devops"],
"env": {
"AZURE_DEVOPS_ORG_URL": "https://dev.azure.com/your-organization",
"AZURE_DEVOPS_AUTH_METHOD": "pat",
"AZURE_DEVOPS_PAT": "<YOUR_PAT>",
"AZURE_DEVOPS_DEFAULT_PROJECT": "your-project-name"
}
}
}
}
Azure DevOps Server(オンプレミス)では、PAT 認証が必要です。例:
{
"mcpServers": {
"azureDevOps": {
"command": "npx",
"args": ["-y", "@tiberriver256/mcp-server-azure-devops"],
"env": {
"AZURE_DEVOPS_ORG_URL": "https://server:8080/tfs/DefaultCollection",
"AZURE_DEVOPS_AUTH_METHOD": "pat",
"AZURE_DEVOPS_PAT": "<YOUR_PAT>",
"AZURE_DEVOPS_DEFAULT_PROJECT": "your-project-name"
}
}
}
}
詳しい設定手順とその他の認証方法については、認証ガイドをご覧ください。
認証方法
このサーバーでは、Azure DevOps API に接続するための複数の認証方法をサポートしています。詳しいセットアップ手順、設定例、トラブルシューティングのヒントについては、認証ガイドをご覧ください。
サポートされている認証方法
- 個人用アクセストークン(PAT) - シンプルなトークンベースの認証
- Azure Identity(DefaultAzureCredential) - Azure Identity SDK を使用した柔軟な認証
- Azure CLI - Azure CLI へのログインを使用した認証
各認証方法の設定ファイルの例は、examples ディレクトリで確認できます。
Azure DevOps Server(オンプレミス)でサポートされているのは PAT 認証のみです。Azure Identity と Azure CLI は Azure DevOps Services でサポートされています。
環境変数
環境変数の一覧と説明については、認証ガイドをご覧ください。
主な環境変数は次のとおりです。
| Variable | Description | Required | Default |
|---|---|---|---|
AZURE_DEVOPS_AUTH_METHOD | 認証方法(pat、azure-identity、または azure-cli)— 大文字と小文字を区別しません | いいえ | azure-identity |
AZURE_DEVOPS_ORG_URL | Azure DevOps 組織または Server コレクションの完全な URL(例:https://server:8080/tfs/DefaultCollection) | はい | - |
AZURE_DEVOPS_PAT | 個人用アクセストークン(PAT 認証用) | PAT 認証の場合のみ | - |
AZURE_DEVOPS_DEFAULT_PROJECT | 指定がない場合に使用するデフォルトのプロジェクト | いいえ | - |
AZURE_DEVOPS_API_VERSION | REST API を直接呼び出すツールの REST api-version(リリースごとの値) | いいえ | 7.1 |
AZURE_TENANT_ID | Azure AD テナント ID(サービスプリンシパル用) | サービスプリンシパルの場合のみ | - |
AZURE_CLIENT_ID | Azure AD アプリケーション ID(サービスプリンシパル用) | サービスプリンシパルの場合のみ | - |
AZURE_CLIENT_SECRET | Azure AD クライアントシークレット(サービスプリンシパル用) | サービスプリンシパルの場合のみ | - |
LOG_LEVEL | ログレベル(debug、info、warn、error) | いいえ | info |
認証のトラブルシューティング
各認証方法の詳しいトラブルシューティング情報については、認証ガイドをご覧ください。
よくある問題は次のとおりです。
- 認証情報が無効、または期限切れ
- 権限不足
- ネットワーク接続の問題
- 設定エラー
認証の実装詳細
Azure DevOps MCP サーバーでの認証の実装に関する技術的な詳細については、認証ガイドと、src/auth ディレクトリのソースコードをご覧ください。
利用可能なツール
Azure DevOps MCP サーバーは、Azure DevOps リソースを操作するためのさまざまなツールを提供します。各ツールの詳細なドキュメントについては、対応するドキュメントを参照してください。
ユーザーツール
get_me:認証済みユーザーの詳細情報(id、displayName、email)を取得します(Azure DevOps Services のみ)
組織ツール
list_organizations:アクセス可能なすべての組織を一覧表示します(Azure DevOps Services のみ)
プロジェクトツール
list_projects:組織内のすべてのプロジェクトを一覧表示しますget_project:特定のプロジェクトの詳細情報を取得しますget_project_details:プロセス、作業項目の種類、チームを含むプロジェクトの包括的な詳細情報を取得します
リポジトリツール
list_repositories:プロジェクト内のすべてのリポジトリを一覧表示しますget_repository:特定のリポジトリの詳細情報を取得しますget_repository_details:統計情報や refs を含むリポジトリの詳細情報を取得しますget_file_content:リポジトリからファイルまたはディレクトリの内容を取得しますget_repository_tree:任意のパスと深さからリポジトリのファイルツリーを一覧表示しますcreate_branch:既存のブランチから新しいブランチを作成しますcreate_commit:統合差分または検索と置換の指示を使用して、複数のファイル変更をブランチにコミットします
作業項目ツール
get_work_item:ID を指定して作業項目を取得しますcreate_work_item:新しい作業項目を作成しますupdate_work_item:既存の作業項目を更新しますlist_work_items:プロジェクト内の作業項目を一覧表示しますmanage_work_item_link:作業項目間のリンクを追加、削除、または更新しますcreate_work_item_attachment:ファイルをアップロードして作業項目に添付しますget_work_item_attachment:作業項目から添付ファイルをダウンロードしますdelete_work_item_attachment:添付ファイルを削除します
検索ツール
search_code:プロジェクト内のリポジトリ全体でコードを検索しますsearch_wiki:プロジェクト内の Wiki ページ全体でコンテンツを検索しますsearch_work_items:Azure DevOps 内のプロジェクト全体で作業項目を検索します
パイプラインツール
list_pipelines:プロジェクト内のパイプラインを一覧表示しますget_pipeline:特定のパイプラインの詳細情報を取得しますlist_pipeline_runs:任意のフィルターを指定して、パイプラインの最近の実行を一覧表示しますget_pipeline_run:実行の詳細情報とアーティファクトの概要を取得しますdownload_pipeline_artifact:単一のアーティファクトファイルをテキストとしてダウンロードしますpipeline_timeline:実行のステージとジョブのタイムラインを取得しますget_pipeline_log:ログの内容を生データまたは JSON 形式で取得しますtrigger_pipeline:カスタマイズ可能なパラメーターを指定してパイプラインの実行を開始します
Wiki ツール
get_wikis:プロジェクト内のすべての Wiki を一覧表示しますget_wiki_page:特定の Wiki ページの内容をプレーンテキストとして取得します
プルリクエストツール
create_pull_request- 新しいプルリクエストを作成しますget_pull_request- IDを指定してプルリクエストを取得しますlist_pull_requests- リポジトリ内のプルリクエストを一覧表示しますadd_pull_request_comment- プルリクエストにコメントを追加しますget_pull_request_comments- プルリクエストのコメントを取得しますupdate_pull_request- 既存のプルリクエストを更新します(タイトル、説明、ステータス、ドラフト状態、レビュアー、作業項目)get_pull_request_changes- プルリクエスト内の変更とポリシー評価ステータスを一覧表示しますget_pull_request_checks- ステータスチェック、ポリシー評価、および関連するパイプラインを要約します
すべてのツールの包括的なドキュメントについては、ツールドキュメントをご覧ください。
貢献
貢献を歓迎します!貢献ガイドラインについては、CONTRIBUTING.mdをご覧ください。
スター履歴
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。