azure-devops-mcp

Integrations

  • The server provides tools for interacting with Git repositories in Azure DevOps, including listing repositories, branches, commits, creating pull requests, and more.

  • Node.js is listed as a prerequisite for running the server, but it's not what the server integrates with.

  • The MCP server is built with TypeScript, but it doesn't integrate with TypeScript as a service.

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 を自動的にインストールするには:

npx -y @smithery/cli install @RyanCardin15/azuredevops-mcp --client claude

前提条件

  • Node.js (v16以降)
  • TypeScript (v4以降)
  • 個人アクセストークン (PAT) または適切なオンプレミスの資格情報を持つ Azure DevOps アカウント

設定

  1. リポジトリをクローンします。
    git clone <repository-url> cd AzureDevOps
  2. 依存関係をインストールします:
    npm install
  3. 環境変数を設定します ( .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-token
    Azure 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
  4. プロジェクトをビルドします。
    npm run build
    TypeScript エラーが発生したが、それでも続行したい場合は、次の手順を実行します。
    npm run build:ignore-errors
  5. サーバーを起動します。
    npm run start

構成

個人アクセストークン(PAT)

Azure DevOps Services (クラウド) の場合、適切な権限を持つ個人アクセス トークンを作成する必要があります。

  1. Azure DevOps組織に移動する
  2. 右上のプロフィールアイコンをクリックします
  3. 「個人アクセストークン」を選択
  4. 「新しいトークン」をクリック
  5. 名前を付けて適切なスコープを選択します。
    • 作業項目: 読み取りと書き込み
    • コード: 読み書き
    • プロジェクトとチーム:読み書き
    • ビルド: 読む
    • リリース: 読む

Azure DevOps Server (オンプレミス) の場合、次の 3 つの認証オプションがあります。

  1. 個人アクセストークン(PAT):
    • クラウドのセットアップと同様ですが、オンプレミスのインスタンスにPATを作成します。
    • AZURE_DEVOPS_AUTH_TYPE=patを設定します
  2. NTLM認証:
    • Windowsドメイン資格情報を使用する
    • AZURE_DEVOPS_AUTH_TYPE=ntlm設定する
    • ユーザー名、パスワード、ドメインを入力してください
  3. 基本認証:
    • ローカル認証情報を使用する
    • 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形式https://dev.azure.com/orghttps://サーバー/tfs
コレクション不要必須
認証方法PAT、エントラ ID (DefaultAzureCredential)PAT、NTLM、基本
APIバージョン最新(自動)仕様が必要な場合があります
繋がり常にインターネットエアギャップが可能
エントラ認証

az cli がインストールされ、認証されていることを確認してください。認証されている限り、azd および AZ Powershell モジュールも動作するはずです。

構成例

.env.cloud.exampleまたは.env.on-premises.exampleのいずれかを.envにコピーし、必要に応じて値を更新します。

環境変数

サーバーは次の環境変数を使用して構成できます。

変数説明必須デフォルト
AZURE_DEVOPS_ORG_URLAzure 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環境変数を使用すると、利用可能なツールメソッドを制限できます。これは完全にオプションであり、指定しない場合はすべてのツールが有効になります。

形式: スペースなしのメソッド名のコンマ区切りリスト。

例:

ALLOWED_TOOLS=listWorkItems,getWorkItemById,searchWorkItems,createWorkItem

これにより、指定された作業項目メソッドのみが有効になり、他のすべてのメソッドは無効になります。

使用法

サーバーが起動したら、MCPプロトコルを使用してサーバーとやり取りできます。サーバーは、Azure DevOpsのさまざまな機能に対応するツールを公開しています。

利用可能なツール

**注:**初期実装をシンプルにするため、デフォルトではツールのサブセットのみがindex.tsファイルに登録されています。追加のツールを登録する方法については、 「ツール登録」セクションをご覧ください。

例: 作業項目の一覧

{ "tool": "listWorkItems", "params": { "query": "SELECT [System.Id], [System.Title], [System.State] FROM WorkItems WHERE [System.State] = 'Active' ORDER BY [System.CreatedDate] DESC" } }

例: 作業項目を作成する

{ "tool": "createWorkItem", "params": { "workItemType": "User Story", "title": "Implement new feature", "description": "As a user, I want to be able to export reports to PDF.", "assignedTo": "john@example.com" } }

例: リポジトリの一覧

{ "tool": "listRepositories", "params": { "projectId": "MyProject" } }

例: プルリクエストを作成する

{ "tool": "createPullRequest", "params": { "repositoryId": "repo-guid", "sourceRefName": "refs/heads/feature-branch", "targetRefName": "refs/heads/main", "title": "Add new feature", "description": "This PR adds the export to PDF feature" } }

建築

プロジェクトは次のように構成されています。

  • 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ファイルに明示的に登録する必要があります。デフォルトでは、初期実装の管理性を維持するために、利用可能なツールの一部のみが登録されます。

追加のツールを登録するには:

  1. src/index.tsファイルを開く
  2. 既存のツールのパターンに従って新しいツール登録を追加する
  3. サーバーを構築して再起動する

ツール登録に関する包括的なガイドは、リポジトリ内のTOOL_REGISTRATION.mdファイルにあります。

**注:**ツールを登録する際は、特に列挙型の値については、正しいパラメータ型を使用するように注意してください。Interfaces Interfacesの型定義は、各パラメータの期待される型を定義しています。誤った型(例えば、列挙型の値にz.enum() z.string() ()を使用するなど)を使用すると、ビルド時にTypeScriptエラーが発生します。

新しいツールを登録する例:

server.tool("searchCode", "Search for code in repositories", { searchText: z.string().describe("Text to search for"), repositoryId: z.string().optional().describe("ID of the repository") }, async (params, extra) => { const result = await gitTools.searchCode(params); return { content: result.content, rawData: result.rawData, isError: result.isError }; } );

トラブルシューティング

よくある問題

認証エラー
  • 個人アクセストークンが有効であり、必要な権限を持っていることを確認してください
  • 組織のURLが正しいことを確認してください
ビルド中のTypeScriptエラー
  • TypeScriptエラーを回避するには、 npm run build:ignore-errorsを使用します。
  • 不足している型定義や間違った型定義がないか確認する
ランタイムエラー
  • 指定された Azure DevOps プロジェクトが存在し、アクセス可能であることを確認します。

貢献

貢献を歓迎します!貢献方法は次のとおりです。

  1. リポジトリをフォークする
  2. 機能ブランチを作成する ( git checkout -b feature/amazing-feature )
  3. 変更をコミットします ( git commit -m 'Add some amazing feature' )
  4. ブランチにプッシュする ( git push origin feature/amazing-feature )
  5. プルリクエストを開く

コードがリンティングに合格し、適切なテストが含まれていることを確認してください。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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との通信のための標準化されたインターフェースを提供します。

  1. スターの歴史
    1. 概要
    2. デモ
    3. 特徴
    4. インストール
    5. 構成
    6. 使用法
    7. 建築
    8. ツール登録
    9. トラブルシューティング
    10. 貢献

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    A 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 -
    15
    602
    131
    TypeScript
    MIT License
    • Linux
    • Apple
  • -
    security
    A
    license
    -
    quality
    Enables connections to Azure AI Agents within any MCP client, allowing users to leverage Azure AI Foundry's models and knowledge tools like Azure AI Search and Bing Web Grounding through a conversational interface.
    Last updated -
    111
    JavaScript
    MIT License
    • Linux
    • Apple
  • -
    security
    F
    license
    -
    quality
    A 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 -
    3
    TypeScript
  • A
    security
    A
    license
    A
    quality
    A 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 -
    9
    16
    Python
    MIT License
    • Linux
    • Apple

View all related MCP servers

ID: z7mxfcinp8