mcpField
A
Azure DevOps MCP Server

Azure DevOps MCP Server

ローカル
github.com/Tiberriver256クラウド・インフラ3972 日前に更新

Azure DevOps MCP Server について

Azure DevOps MCP Server は、AI アシスタントが Azure DevOps のプロジェクト、ワークアイテム、リポジトリ、プルリクエスト、パイプラインを扱えるようにするコミュニティ製の MCP サーバーです。README では、旧バージョンを含む Azure DevOps Server(オンプレミス)の利用に適している点が説明されています。

主な機能

  1. 01プロジェクト、ワークアイテム、リポジトリの参照と管理
  2. 02ワークアイテム、ブランチ、プルリクエストの作成と更新
  3. 03パイプライン実行、ログ、アーティファクトの確認
  4. 04PAT、Azure Identity、Azure CLI による認証
  5. 05Azure DevOps Server(オンプレミス)への対応

活用シーン

  1. 01AI アシスタントによるワークアイテムの参照と更新
  2. 02自然言語によるプルリクエストとステータスチェックの確認
  3. 03パイプライン実行ログとアーティファクトの調査
  4. 04オンプレミスの Azure DevOps Server での MCP 利用

MCP 対応

本プロジェクトは MCP サーバーであり、Azure DevOps の操作を MCP クライアントにツールとして公開します。標準化されたリソース URI によるリポジトリ内容へのアクセスも提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"azure-devops": {
"command": "npx",
"args": [
"-y",
"@tiberriver256/mcp-server-azure-devops"
]
}
}
}
起動コマンドnpx -y @tiberriver256/mcp-server-azure-devops

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@tiberriver256/mcp-server-azure-devops

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

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 に接続するための複数の認証方法をサポートしています。詳しいセットアップ手順、設定例、トラブルシューティングのヒントについては、認証ガイドをご覧ください。

サポートされている認証方法
  1. 個人用アクセストークン(PAT) - シンプルなトークンベースの認証
  2. Azure Identity(DefaultAzureCredential) - Azure Identity SDK を使用した柔軟な認証
  3. Azure CLI - Azure CLI へのログインを使用した認証

各認証方法の設定ファイルの例は、examples ディレクトリで確認できます。

Azure DevOps Server(オンプレミス)でサポートされているのは PAT 認証のみです。Azure Identity と Azure CLI は Azure DevOps Services でサポートされています。

環境変数

環境変数の一覧と説明については、認証ガイドをご覧ください。

主な環境変数は次のとおりです。

VariableDescriptionRequiredDefault
AZURE_DEVOPS_AUTH_METHOD認証方法(pat、azure-identity、または azure-cli)— 大文字と小文字を区別しませんいいえazure-identity
AZURE_DEVOPS_ORG_URLAzure DevOps 組織または Server コレクションの完全な URL(例:https://server:8080/tfs/DefaultCollection)はい-
AZURE_DEVOPS_PAT個人用アクセストークン(PAT 認証用)PAT 認証の場合のみ-
AZURE_DEVOPS_DEFAULT_PROJECT指定がない場合に使用するデフォルトのプロジェクトいいえ-
AZURE_DEVOPS_API_VERSIONREST API を直接呼び出すツールの REST api-version(リリースごとの値)いいえ7.1
AZURE_TENANT_IDAzure AD テナント ID(サービスプリンシパル用)サービスプリンシパルの場合のみ-
AZURE_CLIENT_IDAzure AD アプリケーション ID(サービスプリンシパル用)サービスプリンシパルの場合のみ-
AZURE_CLIENT_SECRETAzure 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 ページの内容をプレーンテキストとして取得します
プルリクエストツール

すべてのツールの包括的なドキュメントについては、ツールドキュメントをご覧ください。

貢献

貢献を歓迎します!貢献ガイドラインについては、CONTRIBUTING.mdをご覧ください。

スター履歴

スター履歴グラフ

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。