Azure DevOps MCP 統合
スターの歴史
モデル コンテキスト プロトコル (MCP) サーバーを通じて作業項目、リポジトリ、プロジェクト、ボード、スプリントへのシームレスなアクセスを提供する、Azure DevOps の強力な統合。
概要
このサーバーは、Azure DevOpsサービスと連携するための便利なAPIを提供し、AIアシスタントやその他のツールが作業項目、コードリポジトリ、ボード、スプリントなどを管理できるようにします。モデルコンテキストプロトコルに基づいて構築されており、Azure DevOpsとの通信のための標準化されたインターフェースを提供します。
デモ
特徴
統合は、次の 8 つの主要なツール カテゴリに分類されます。
作業項目ツール
WIQLクエリを使用して作業項目を一覧表示する
IDで作業項目の詳細を取得する
作業項目を検索する
最近更新された作業項目を取得する
割り当てられた作業項目を取得する
新しい作業項目を作成する
既存の作業項目を更新する
作業項目にコメントを追加する
作業項目の状態を更新する
作業項目の割り当て
作業項目間のリンクを作成する
作業項目の一括作成/更新
ボードとスプリントツール
チームボードを取得する
ボードの列を取得する
ボードアイテムを取得する
ボード上のカードを移動する
スプリントを取得する
現在のスプリントを取得する
スプリントの作業項目を取得する
スプリント容量を取得する
チームメンバーを獲得する
プロジェクトツール
プロジェクトの一覧
プロジェクトの詳細を取得する
新しいプロジェクトを作成する
エリアを取得
反復を取得する
エリアを作成する
反復を作成する
プロセステンプレートを取得する
作業項目の種類を取得する
作業項目タイプフィールドを取得する
Gitツール
リポジトリの一覧
リポジトリの詳細を取得する
リポジトリを作成する
ブランチを一覧表示する
検索コード
リポジトリを閲覧する
ファイルの内容を取得する
コミット履歴を取得する
プルリクエストの一覧
プルリクエストを作成する
プルリクエストの詳細を取得する
プルリクエストのコメントを取得する
プルリクエストを承認する
プルリクエストをマージする
テスト機能ツール
自動テストを実行する
テスト自動化ステータスを取得する
テストエージェントを構成する
テストデータジェネレータを作成する
テスト環境を管理する
テストの不安定性分析を取得する
テストギャップ分析を取得する
テスト影響分析を実行する
テストの健全性ダッシュボードを取得する
テストの最適化を実行する
探索的なセッションを作成する
探索的テストの結果を記録する
調査結果を作業項目に変換する
探索的テスト統計を取得する
DevSecOpsツール
セキュリティスキャンを実行する
セキュリティスキャンの結果を取得する
セキュリティの脆弱性を追跡する
セキュリティコンプライアンスレポートを生成する
SARIFの結果を統合する
コンプライアンスチェックを実行する
コンプライアンスステータスを取得する
コンプライアンスレポートを作成する
セキュリティポリシーを管理する
セキュリティ意識を追跡
秘密をローテーションする
秘密の使用を監査する
ボールト統合を構成する
アーティファクト管理ツール
アーティファクトフィードの一覧
パッケージのバージョンを取得する
パッケージを公開する
パッケージを宣伝する
パッケージのバージョンを削除する
コンテナイメージの一覧表示
コンテナイメージタグを取得する
コンテナイメージをスキャンする
コンテナポリシーを管理する
ユニバーサルパッケージを管理する
パッケージダウンロードレポートを作成する
パッケージの依存関係を確認する
AI支援開発ツール
AIを活用したコードレビュー
コードの最適化を提案する
コードの臭いを特定する
予測的なバグ分析を取得する
開発者の生産性指標を取得する
予測的な労力見積もりを取得する
コード品質の傾向を把握する
作業項目の改善を提案する
自動化の機会を提案する
インテリジェントアラートを作成する
ビルドの失敗を予測する
テスト選択の最適化
インストール
Smithery経由でインストール
Smithery経由で Claude Desktop 用の azuredevops-mcp を自動的にインストールするには:
前提条件
Node.js (v16以降)
TypeScript (v4以降)
個人アクセストークン (PAT) または適切なオンプレミスの資格情報を持つ Azure DevOps アカウント
設定
リポジトリをクローンします。
git clone <repository-url> cd AzureDevOps依存関係をインストールします:
npm install環境変数を設定します (
.env
ファイルを作成するか、直接設定します)。Azure DevOps Services (クラウド) の場合:
AZURE_DEVOPS_ORG_URL=https://dev.azure.com/your-organization AZURE_DEVOPS_PROJECT=your-default-project AZURE_DEVOPS_IS_ON_PREMISES=false AZURE_DEVOPS_AUTH_TYPE=pat # or 'entra' AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN=your-personal-access-tokenAzure DevOps Server (オンプレミス) の場合:
AZURE_DEVOPS_ORG_URL=https://your-server/tfs AZURE_DEVOPS_PROJECT=your-default-project AZURE_DEVOPS_IS_ON_PREMISES=true AZURE_DEVOPS_COLLECTION=your-collection AZURE_DEVOPS_API_VERSION=6.0 # Adjust based on your server version # Authentication (choose one): # For PAT authentication: AZURE_DEVOPS_AUTH_TYPE=pat AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN=your-personal-access-token # For NTLM authentication: AZURE_DEVOPS_AUTH_TYPE=ntlm AZURE_DEVOPS_USERNAME=your-username AZURE_DEVOPS_PASSWORD=your-password AZURE_DEVOPS_DOMAIN=your-domain # For Basic authentication: AZURE_DEVOPS_AUTH_TYPE=basic AZURE_DEVOPS_USERNAME=your-username AZURE_DEVOPS_PASSWORD=your-passwordプロジェクトをビルドします。
npm run buildTypeScript エラーが発生したが、それでも続行したい場合は、次の手順を実行します。
npm run build:ignore-errorsサーバーを起動します。
npm run start
構成
個人アクセストークン(PAT)
Azure DevOps Services (クラウド) の場合、適切な権限を持つ個人アクセス トークンを作成する必要があります。
Azure DevOps組織に移動する
右上のプロフィールアイコンをクリックします
「個人アクセ���トークン」を選択
「新しいトークン」をクリック
名前を付けて適切なスコープを選択します。
作業項目: 読み取りと書き込み
コード: 読み書き
プロジェクトとチーム:読み書き
ビルド: 読む
リリース: 読む
Azure DevOps Server (オンプレミス) の場合、次の 3 つの認証オプションがあります。
個人アクセストークン(PAT):
クラウドのセットアップと同様ですが、オンプレミスのインスタンスにPATを作成します。
AZURE_DEVOPS_AUTH_TYPE=pat
を設定します
NTLM認証:
Windowsドメイン資格情報を使用する
AZURE_DEVOPS_AUTH_TYPE=ntlm
設定するユーザー名、パスワード、ドメインを入力してください
基本認証:
ローカル認証情報を使用する
AZURE_DEVOPS_AUTH_TYPE=basic
を設定しますユーザー名とパスワードを入力してください
Azure DevOps Services と Azure DevOps Server の比較
この統合では、クラウド ホストの Azure DevOps サービスとオンプレミスの Azure DevOps サーバーの両方がサポートされます。
Azure DevOps サービス (クラウド)
組織の URL と PAT を使用した簡単なセットアップ
デフォルト構成では次の形式が想定されています:
https://dev.azure.com/your-organization
常にPAT認証を使用する
.env.cloud.example
に提供されるサンプル構成ファイル
Azure DevOps サーバー (オンプレミス)
サーバー URL、収集、認証の追加構成が必要です
URL の形式はサーバーの設定によって異なります:
https://your-server/tfs
コレクション名を指定する必要があります
複数の認証方法(PAT、NTLM、Basic)をサポート
古いバージョンのサーバーでは API バージョンの指定が必要になる場合があります
.env.on-premises.example
に提供されるサンプル構成ファイル
主な違い
特徴 | Azure DevOps サービス | Azure DevOps サーバー |
URL形式 | ||
コレクション | 不要 | 必須 |
認証方法 | PAT、エントラ ID (DefaultAzureCredential) | PAT、NTLM、基本 |
APIバージョン | 最新(自動) | 仕様が必要な場合があります |
繋がり | 常にインターネット | エアギャップが可能 |
エントラ認証
az cli がインストールされ、認証されていることを確認してください。認証されている限り、azd および AZ Powershell モジュールも動作するはずです。
構成例
.env.cloud.example
または.env.on-premises.example
のいずれかを.env
にコピーし、必要に応じて値を更新します。
環境変数
サーバーは次の環境変数を使用して構成できます。
変数 | 説明 | 必須 | デフォルト |
AZURE_DEVOPS_ORG_URL | Azure DevOps 組織またはサーバーの URL | はい | - |
AZURE_DEVOPS_プロジェクト | 使用するデフォルトのプロジェクト | はい | - |
AZURE_DEVOPS_がオンプレミス | Azure DevOps Serverを使用しているかどうか | いいえ | 間違い |
AZURE_DEVOPS_コレクション | オンプレミスのコレクション名 | いいえ* | - |
AZURE_DEVOPS_API_バージョン | オンプレミスの API バージョン | いいえ | - |
AZURE_DEVOPS_認証タイプ | 認証タイプ(pat/ntlm/basic/entra) | いいえ | パット |
AZURE_DEVOPS_パーソナル_アクセス_トークン | 個人アクセストークン(「pat」認証用) | いいえ** | - |
AZURE_DEVOPS_ユーザー名 | NTLM/Basic認証のユーザー名 | いいえ** | - |
AZURE_DEVOPS_パスワード | NTLM/Basic認証のパスワード | いいえ** | - |
AZURE_DEVOPS_ドメイン | NTLM認証のドメイン | いいえ | - |
許可されたツール | 有効にするツールメソッドのカンマ区切りリスト | いいえ | すべてのツール |
* AZURE_DEVOPS_IS_ON_PREMISES=true
の場合は必須 ** 選択した認証タイプに基づいて必須
ALLOWED_TOOLS によるツールフィルタリング
ALLOWED_TOOLS
環境変数を使用すると、利用可能なツールメソッドを制限できます。これは完全にオプションであり、指定しない場合はすべてのツールが有効になります。
形式: スペースなしのメソッド名のコンマ区切りリスト。
例:
これにより、指定された作業項目メソッドのみが有効になり、他のすべてのメソッドは無効になります。
使用法
サーバーが起動したら、MCPプロトコルを使用してサーバーとやり取りできます。サーバーは、Azure DevOpsのさまざまな機能に対応するツールを公開しています。
利用可能なツール
**注:**初期実装をシンプルにするため、デフォルトではツールのサブセットのみが
index.ts
ファイルに登録されています。追加のツールを登録する方法については、 「ツール登録」セクションをご覧ください。
例: 作業項目の一覧
例: 作業項目を作成する
例: リポジトリの一覧
例: プルリクエストを作成する
建築
プロジェクトは次のように構成されています。
src/
Interfaces/
: パラメータとレスポンスの型定義Services/
: Azure DevOps API と対話するためのサービス クラスTools/
: クライアントに機能を公開するツール実装index.ts
: ツールを登録し、サーバーを起動するメインのエントリポイントconfig.ts
: 構成の処理
サービス層
サービス層は、Azure DevOps API との直接通信を処理します。
WorkItemService
: 作業項目の操作BoardsSprintsService
: ボードとスプリントの操作ProjectService
: プロジェクト管理業務GitService
: Gitリポジトリの操作TestingCapabilitiesService
: テスト機能の操作DevSecOpsService
: DevSecOps オペレーションArtifactManagementService
: アーティファクト管理操作AIAssistedDevelopmentService
:AI支援開発業務
ツールレイヤー
ツール層はサービスをラップし、MCP プロトコルに一貫したインターフェースを提供します。
WorkItemTools
: 作業項目操作用のツールBoardsSprintsTools
: ボードとスプリントの操作のためのツールProjectTools
: プロジェクト管理業務のためのツールGitTools
: Git操作用のツールTestingCapabilitiesTools
: 機能操作をテストするためのツールDevSecOpsTools
: DevSecOps運用のためのツールArtifactManagementTools
: アーティファクト管理操作のためのツールAIAssistedDevelopmentTools
: AI支援開発業務のためのツール
ツール登録
MCPサーバーでは、ツールをindex.ts
ファイルに明示的に登録する必要があります。デフォルトでは、初期実装の管理性を維持するために、利用可能なツールの一部のみが登録されます。
追加のツールを登録するには:
src/index.ts
ファイルを開く既存のツールのパターンに従って新しいツール登録を追加する
サーバーを構築して再起動する
ツール登録に関する包括的なガイドは、リポジトリ内のTOOL_REGISTRATION.md
ファイルにあります。
**注:**ツールを登録する際は、特に列挙型の値については、正しいパラメータ型を使用するように注意してください。Interfaces
Interfaces
の型定義は、各パラメータの期待される型を定義しています。誤った型(例えば、列挙型の値にz.enum()
z.string()
()を使用するなど)を使用すると、ビルド時にTypeScriptエラーが発生します。
新しいツールを登録する例:
トラブルシューティング
よくある問題
認証エラー
個人アクセストークンが有効であり、必要な権限を持っていることを確認してください
組織のURLが正しいことを確認してください
ビルド中のTypeScriptエラー
TypeScriptエラーを回避するには、
npm run build:ignore-errors
を使用します。不足している型定義や間違った型定義がないか確認する
ランタイムエラー
指定された Azure DevOps プロジェクトが存在し、アクセス可能であることを確認します。
貢献
貢献を歓迎します!貢献方法は次のとおりです。
リポジトリをフォークする
機能ブランチを作成する (
git checkout -b feature/amazing-feature
)変更をコミットします (
git commit -m 'Add some amazing feature'
)ブランチにプッシュする (
git push origin feature/amazing-feature
)プルリクエストを開く
コードがリンティングに合格し、適切なテストが含まれていることを確認してください。
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
このサーバーは、Azure DevOpsサービスと連携するための便利なAPIを提供し、AIアシスタントやその他のツールが作業項目、コードリポジトリ、ボード、スプリントなどを管理できるようにします。モデルコンテキストプロトコルに基づいて構築されており、Azure DevOpsとの通信のための標準化されたインターフェースを提供します。
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with Azure DevOps resources including projects, work items, repositories, pull requests, branches, and pipelines through a standardized protocol.Last updated -15474299MIT License
- -securityFlicense-qualityA reference server implementation for the Model Context Protocol that enables AI assistants to interact with Azure DevOps resources and perform operations such as project management, work item tracking, repository operations, and code search programmatically.Last updated -7
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with Azure DevOps services, allowing users to query work items with plans to support creating/updating items, managing pipelines, handling pull requests, and administering sprints and branch policies.Last updated -2174MIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with Azure DevOps services, providing capabilities for work item management, project management, and team collaboration through natural language.Last updated -21