mcpField
M
MCP For Azure DevOps Boards

MCP For Azure DevOps Boards

ローカル
github.com/danielealbanoクラウド・インフラ615 週間前に更新

MCP For Azure DevOps Boards について

Azure DevOps Boards向けのRust製MCPサーバーです。AIクライアントから作業項目、チーム、ボードを扱うユーザー向けで、WIQLクエリとLLM向けの簡潔なJSON出力に対応します。

主な機能

  1. 01作業項目の作成・更新・検索
  2. 02チーム、ボード、ボード項目の一覧取得
  3. 03WIQLクエリの実行
  4. 04簡潔なJSON出力
  5. 05標準的なAzure認証方式の利用

活用シーン

  1. 01Azure DevOpsの作業項目の管理
  2. 02プロジェクトのチームやボード情報の取得
  3. 03WIQLによる作業項目の検索
  4. 04Azure CLIの認証情報を使った組織へのアクセス

MCP 対応

Azure DevOpsの組織、プロジェクト、作業項目、チーム、ボードを操作するツールをMCPクライアントに公開します。既定ではstdioで通信し、HTTPサーバーとしても実行できます。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

Azure DevOps Boards 向け MCP

CI - PR - Build & Test CD - Tag - Build & Release

README の画像

Rust で記述された、Azure DevOps Boards および Work Items とやり取りするための Model Context Protocol(MCP)サーバーです。

機能

  • Work Item の管理:Work Item の作成、更新、取得、クエリを実行できます。

  • ボードとの連携:チームやボードの一覧表示、ボード項目の取得ができます。

  • WIQL のサポート:カスタム WIQL クエリを実行できます。

  • 出力の簡素化:LLM での利用に最適化された JSON 出力(トークン使用量を削減)。

インストール

お好みの AI(MCP)クライアントの設定方法については、MCP Configuration のセクションをご確認ください。

macOS(Homebrew)
brew tap danielealbano/mcp-tools
brew install mcp-for-azure-devops-boards

バイナリのパスは /opt/homebrew/bin/mcp-for-azure-devops-boards です。

Windows(Scoop)
scoop bucket add mcp-tools https://github.com/danielealbano/scoop-mcp-tools
scoop install mcp-for-azure-devops-boards

バイナリのパスは %USERPROFILE%\scoop\apps\mcp-for-azure-devops-boards\current\mcp-for-azure-devops-boards.exe です。

設定
設定説明CLI フラグ環境変数
サーバーモードstdio の代わりに HTTP サーバーとして実行します--serverN/A
ポートHTTP サーバーのポート(デフォルト:3000)--portN/A

注:--server が指定されていない場合、ソフトウェアは stdio モードで実行されます。

認証

このサーバーは、Azure DevOps にクエリを実行するため、標準の Azure 認証メカニズムを利用します。リクエストごとに、以下の認証情報ソースを記載順に試し、トークンを返す最初のソースを使用して、Azure DevOps REST API の Bearer トークン(スコープ 499b84ac-1321-427f-aa17-267ca6975798/.default)を取得します。

  1. 環境変数(クライアントシークレット) — AZURE_TENANT_ID、AZURE_CLIENT_ID、AZURE_CLIENT_SECRET がすべて設定されている場合にのみ使用されます。一部だけが設定されている場合は、警告を表示してスキップします。
  2. Azure CLI — az login セッションを使用して、Azure DevOps スコープの az account get-access-token を実行します。
  3. Azure Developer CLI — azd auth login セッションを使用します。
  4. マネージド ID — Azure でホストされるデプロイ向けです。Azure 外ではこの確認に到達できないため、2 秒のタイムアウトが設定され、その後スキップされます。これにより、認証の試行がハングしないようにします。

すべてのソースで失敗した場合、最後に試したソースのエラーだけでなく、各ソースの失敗理由を列挙したエラーが返されるため、失敗の原因を正確に確認できます(たとえば、Azure CLI の同意エラーと「PATH に azd が見つからない」というエラーが併記されます)。

ローカル開発では、Azure CLI でサインインする方法(以下)が最も簡単です。対象の Azure DevOps 組織へのアクセス権を持つ状態で、あらかじめ az login を実行しておく必要があります。

Azure CLI のインストール

Azure CLI がインストールされていない場合:

macOS(Homebrew):

brew install azure-cli

Windows(Scoop):

scoop install azure-cli

Windows(Chocolatey):

choco install azure-cli

その他のインストール方法については、Azure CLI の公式インストールガイドをご覧ください。

ログイン

認証するには、次を実行します:

az login

使用方法

Stdio モード(デフォルト)

これは、Claude Desktop や Cursor などの MCP クライアント向けの標準モードです。ネットワーク経由で認証情報が共有されないため、セキュリティ上、このモードを推奨します。

path/to/mcp-for-azure-devops-boards
HTTP サーバーモード

HTTP サーバー(SSE)として実行することもできます。このモードでは、サーバーが 0.0.0.0(すべてのインターフェース)でリッスンすることに注意してください。

path/to/mcp-for-azure-devops-boards --server --port 3000
MCP の設定

注:プロセスが認証情報を取得できるよう、ターミナルで az login を実行してください。

--install を使ったクイックセットアップ

お使いのクライアントに MCP サーバーを登録する最も簡単な方法です。

mcp-for-azure-devops-boards --install <target>

有効なターゲットと、それぞれが設定を書き込む場所:

ターゲット設定ファイルスコープ
claude-code~/.claude.jsonグローバル(ホーム)
claude-desktopmacOS:~/Library/Application Support/Claude/claude_desktop_config.json
Linux:~/.config/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
グローバル(ユーザーごと)
cursor~/.cursor/mcp.jsonグローバル(ホーム)
vscode.vscode/mcp.jsonワークスペース(現在のディレクトリ)
codex~/.codex/config.tomlグローバル(ホーム)
gemini-cli~/.gemini/settings.jsonグローバル(ホーム)

コマンドはバイナリのパスを自動検出し、適切な設定ファイルの場所を特定して、想定される形式でエントリを書き込みます。既存の設定は保持されます。

手動設定
Claude Code

設定ファイル:~/.claude.json

{
  "mcpServers": {
    "mcp-for-azure-devops-boards": {
      "command": "/opt/homebrew/bin/mcp-for-azure-devops-boards"
    }
  }
}

Windows(Scoop):コマンドのパスを %USERPROFILE%\\scoop\\apps\\mcp-for-azure-devops-boards\\current\\mcp-for-azure-devops-boards.exe に置き換えてください。

Claude Desktop

設定ファイルの場所:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux:~/.config/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "mcp-for-azure-devops-boards": {
      "command": "/opt/homebrew/bin/mcp-for-azure-devops-boards"
    }
  }
}

Windows(Scoop):コマンドのパスを %USERPROFILE%\\scoop\\apps\\mcp-for-azure-devops-boards\\current\\mcp-for-azure-devops-boards.exe に置き換えてください。

Cursor

設定ファイル:~/.cursor/mcp.json

{
  "mcpServers": {
    "mcp-for-azure-devops-boards": {
      "command": "/opt/homebrew/bin/mcp-for-azure-devops-boards"
    }
  }
}

Windows(Scoop):コマンドのパスを %USERPROFILE%\\scoop\\apps\\mcp-for-azure-devops-boards\\current\\mcp-for-azure-devops-boards.exe に置き換えてください。

VS Code

設定ファイル:.vscode/mcp.json(ワークスペースレベル)

{
  "servers": {
    "mcp-for-azure-devops-boards": {
      "type": "stdio",
      "command": "/opt/homebrew/bin/mcp-for-azure-devops-boards"
    }
  }
}

Windows(Scoop):コマンドのパスを %USERPROFILE%\\scoop\\apps\\mcp-for-azure-devops-boards\\current\\mcp-for-azure-devops-boards.exe に置き換えてください。

gemini-cli

設定ファイル:~/.gemini/settings.json

{
  "mcpServers": {
    "mcp-for-azure-devops-boards": {
      "command": "/opt/homebrew/bin/mcp-for-azure-devops-boards"
    }
  }
}

Windows(Scoop):コマンドのパスを %USERPROFILE%\\scoop\\apps\\mcp-for-azure-devops-boards\\current\\mcp-for-azure-devops-boards.exe に置き換えてください。

Codex CLI

設定ファイル:~/.codex/config.toml

[mcp_servers.mcp-for-azure-devops-boards]
command = "/opt/homebrew/bin/mcp-for-azure-devops-boards"

Windows(Scoop):コマンドのパスを %USERPROFILE%\\scoop\\apps\\mcp-for-azure-devops-boards\\current\\mcp-for-azure-devops-boards.exe に置き換えてください。

利用可能なツール

このソフトウェアは現在開発中です。ツールとそのパラメーターは変更される場合があります。

サーバーは、MCP クライアント向けに以下のツールを公開します。

ツール名の一般的な構成は azdo_VERB_WHAT です(例:azdo_list_teams、azdo_get_work_item)。

検出
  • azdo_list_organizations:認証済みユーザーがアクセスできる Azure DevOps 組織をすべて一覧表示します。
    • 必須:なし(認証済みユーザーの認証情報を使用)
  • azdo_list_projects:Azure DevOps 組織内のすべてのプロジェクトを一覧表示します。
    • 必須:organization
作業項目

注:すべての作業項目ツールでは、organization と project パラメーターが必要です。

  • azdo_create_work_item:新しい作業項目を作成します。
    • 必須:organization、project、work_item_type、title
    • 任意:description、assigned_to、area_path、iteration_path、state、board_column、board_row、priority、severity、story_points、effort、remaining_work、tags、activity、parent_id、start_date、target_date、acceptance_criteria、repro_steps、fields(カスタムフィールド用の JSON 文字列)。
  • azdo_update_work_item:既存の作業項目を更新します。
    • 必須:organization、project、id
    • 任意:作成時に指定できるすべてのフィールド。
  • azdo_get_work_item:特定の作業項目の詳細を取得します。
    • 必須:organization、project、id
    • 任意:include_latest_n_comments(含める最近のコメント数。すべて含める場合は -1)
  • azdo_get_work_items:ID を指定して複数の作業項目を取得します。
    • 必須:organization、project、ids(作業項目 ID の配列)
    • 任意:include_latest_n_comments(含める最近のコメント数。すべて含める場合は -1)
  • azdo_query_work_items:構造化されたフィルターを使って作業項目を検索します。
    • 必須:organization、project
    • 任意のフィルター:area_path、iteration_path、created_date_from/to、modified_date_from/to。
    • 含める項目:include_board_column、include_board_row、include_work_item_type、include_state、include_assigned_to、include_tags。
    • 除外する項目:exclude_board_column、exclude_board_row、exclude_work_item_type、exclude_state、exclude_assigned_to、exclude_tags。
    • 任意:include_latest_n_comments(含める最近のコメント数。すべて含める場合は -1)
  • azdo_query_work_items_by_wiql:WIQL(作業項目クエリ言語)のクエリを直接実行します。
    • 必須:organization、project、query
    • 任意:include_latest_n_comments(含める最近のコメント数。すべて含める場合は -1)
  • azdo_add_comment:作業項目にコメントを追加します。
    • 必須:organization、project、work_item_id、text
  • azdo_link_work_items:2 つの作業項目間に関係を作成します。
    • 必須:organization、project、source_id、target_id、link_type(Parent、Child、Related、Duplicate、Dependency)。
ボードとチーム

注:すべてのボードおよびチームツールでは、organization と project パラメーターが必要です。

  • azdo_list_teams:プロジェクト内のすべてのチームを一覧表示します。
    • 必須:organization、project
  • azdo_get_team:特定のチームの詳細を取得します。
    • 必須:organization、project、team_id
  • azdo_list_team_boards:特定のチームのボードを一覧表示します。
    • 必須:organization、project、team_id
  • azdo_get_team_board:特定のボードの詳細を取得します。
    • 必須:organization、project、team_id、board_id
  • azdo_list_work_item_types:プロジェクトで利用可能なすべての作業項目の種類を一覧表示します。
    • 必須:organization、project
  • azdo_list_tags:プロジェクトで使用されているすべてのタグを一覧表示します。
    • 必須:organization、project
  • azdo_get_team_current_iteration:チームの現在のアクティブなイテレーション/スプリントを取得します。
    • 必須:organization、project、team_id
  • azdo_get_team_iterations:チームのすべてのイテレーション/スプリントを取得します。
    • 必須:organization、project、team_id

コントリビューション

コントリビューションを歓迎します!

  1. リポジトリをフォークします。
  2. 機能追加またはバグ修正用の新しいブランチを作成します(git checkout -b feature/amazing-feature)。
  3. 変更をコミットします。
  4. ブランチにプッシュします。
  5. プルリクエストを作成します。
ソースからビルドする
前提条件
  • Rust(最新の安定版)
  • Azure CLI(ローカル認証に必要)
手順
  1. リポジトリをクローンします:

    git clone https://github.com/danielealbano/mcp-for-azure-devops-boards.git
    cd mcp-for-azure-devops-boards
    
  2. プロジェクトをビルドします:

    cargo build --release
    
ツール
  • テストの実行:cargo test
  • コードスタイルの確認:cargo fmt --check
  • リント:cargo clippy

免責事項

このプロジェクトは、Microsoft との提携、承認、またはスポンサーシップを受けていません。Azure、Azure DevOps、および関連する商標は、それぞれの所有者に帰属します。このソフトウェアは、Azure、Microsoft Graph、その他のサービスとの連携に、Microsoft の標準サービス API を使用しています。

ライセンス

このプロジェクトは MIT License の下でライセンスされています。詳細については、LICENSE.md ファイルをご覧ください。

コメント

MCP は初めてですか?

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

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