Skip to main content
Glama
Wootz

Azure DevOps On-Prem MCP Server

by Wootz

Azure DevOps オンプレミス展開 MCP サーバー

npm version

Azure DevOps Server 2022(オンプレミス展開) 向けの Model Context Protocol (MCP) サーバーです。AI アシスタントが 30 個のツールを通じて、オンプレミスの Azure DevOps Server と対話できるようにします。

設定

MCP 対応クライアントの設定ファイルに以下を追加します:

{
  "mcpServers": {
    "azure-devops-onprem": {
      "command": "npx",
      "args": ["-y", "@wootz/ado-onprem-mcp"],
      "env": {
        "ADO_SERVER_URL": "https://tfs.company.com/DefaultCollection",
        "ADO_PAT_TOKEN": "your-pat-token-here",
        "ADO_PROJECT": "MyProject", // 可選,設定後所有工具預設操作此專案
        "NODE_TLS_REJECT_UNAUTHORIZED": "0" // 使用自簽憑證
      }
    }
  }
}

環境変数の説明:

  • ADO_SERVER_URL:必須。完全なコレクションパス(例:https://tfs.company.com/DefaultCollection

  • ADO_PAT_TOKEN:必須。個人用アクセストークン

  • ADO_PROJECT:任意。デフォルトのプロジェクト名。設定すると、すべてのツールが project パラメータ未指定時に自動的にこのプロジェクトを使用します。 同じプロジェクト名を明示的に指定した場合は正常に実行され、他のプロジェクトを指定した場合はブロックされます。 WIQL クエリに [System.TeamProject] 条件が含まれていない場合、この条件が自動的に注入され、プロジェクトをまたいだデータの参照を防ぎます。

  • NODE_TLS_REJECT_UNAUTHORIZED:必須。自己署名証明書をサポートするために "0" に設定します(オンプレミス展開環境で一般的)

⚠️ セキュリティ上の注意NODE_TLS_REJECT_UNAUTHORIZED=0 は SSL 証明書の検証をスキップします。内部ネットワークのオンプレミス展開環境でのみ使用してください。公開ネットワーク環境では使用しないでください。

個人用アクセストークン (PAT) の生成

  1. Azure DevOps Server にアクセス:https://your-server/DefaultCollection

  2. 右上のプロフィールアイコン → セキュリティ → 個人用アクセストークンをクリック

  3. 新しいトークンを作成し、以下のスコープを設定:

    • コード:読み取りと書き込み(Pull Request と Git 操作用)

    • 作業項目:読み取りと書き込み(作業項目操作用)

    • プロジェクトとチーム:読み取り(プロジェクトと Sprint 情報用)

    • ビルド:読み取りと実行(Build/Pipeline 操作用)

Related MCP server: Azure DevOps MCP Server

システム要件

  • Node.js >= 20.0.0

  • Azure DevOps Server 2022(オンプレミス展開版)

  • 有効な個人用アクセストークン (PAT)

利用可能なツール

Core(1 個のツール)

  • mcp_ado_core_list_projects - すべてのプロジェクトを一覧表示

Work Items(11 個のツール)

  • mcp_ado_work_items_get - 作業項目の詳細情報を取得

  • mcp_ado_work_items_create - 新しい作業項目を作成

  • mcp_ado_work_items_update - 作業項目を更新

  • mcp_ado_work_items_delete - 作業項目を削除

  • mcp_ado_work_items_query_by_wiql - 作業項目をクエリ(WIQL)

  • mcp_ado_work_items_add_comment - コメントを追加

  • mcp_ado_work_items_get_comments - コメントを取得

  • mcp_ado_work_items_add_link - 作業項目リンクを追加

  • mcp_ado_work_items_get_updates - リビジョン履歴を取得

  • mcp_ado_work_items_batch_get - 作業項目を一括取得

  • mcp_ado_work_items_batch_create - 作業項目を一括作成(同一バッチ内の親子階層をサポート)

Repositories(10 個のツール)

Pull Requests

  • mcp_ado_repos_list_pull_requests - Pull Requests を一覧表示

  • mcp_ado_repos_get_pull_request - PR の詳細情報を取得

  • mcp_ado_repos_create_pull_request - Pull Request を作成

  • mcp_ado_repos_update_pull_request - Pull Request を更新(ステータス、タイトル)

  • mcp_ado_repos_get_pr_threads - PR のレビュー議論を取得

  • mcp_ado_repos_create_pr_thread - PR にレビューコメントを追加

Git

  • mcp_ado_repos_list_repositories - プロジェクト配下のすべての Repository を一覧表示

  • mcp_ado_repos_list_branches - Repository のすべての Branch を一覧表示

  • mcp_ado_repos_get_item - ファイルの内容を取得(Branch 指定をサポート)

  • mcp_ado_repos_get_commits - Commit 記録を取得(Branch / パス / 作成者でフィルタリング可能)

Builds(5 個のツール)

  • mcp_ado_builds_list_definitions - Build Definitions を一覧表示(Pipeline 一覧)

  • mcp_ado_builds_list - Builds を一覧表示(ステータス / 結果 / Branch フィルタリングをサポート)

  • mcp_ado_builds_get - 特定の Build の詳細を取得

  • mcp_ado_builds_queue - 新しい Build をトリガー(Queue)

  • mcp_ado_builds_get_logs - Build Log の一覧または指定した Log の内容を取得

Work / Sprint(3 個のツール)

  • mcp_ado_work_list_iterations - Sprint / Iteration を一覧表示(past / current / future フィルタリングをサポート)

  • mcp_ado_work_get_iteration_work_items - 指定した Sprint 内のすべての作業項目を取得

  • mcp_ado_work_list_backlogs - Backlog レベルを一覧表示(Epics / Features / Stories)

合計:30 個のツール

完全なツール定義とパラメータの説明は、ソースコードの src/tools/ ディレクトリを参照してください。

使用例

自然言語で AI アシスタントと対話し、さまざまな Azure DevOps 操作を実行できます:

プロジェクトと作業項目の表示

  • 「すべてのプロジェクトを一覧表示して」

  • 「作業項目 #1234 を表示して」

  • 「MyProject で自分に割り当てられた作業項目をクエリして」

  • 「進行中ステータスのすべてのバグを一覧表示して」

  • 「最近 7 日間に変更された作業項目を表示して」

作業項目の作成と更新

  • 「MyProject にタイトル「ログインページエラー」のバグを作成して」

  • 「タイトル「ログアウト機能の追加」の User Story を作成して、john@company.com に割り当てて」

  • 「作業項目 #5678 を更新して、ステータスを完了に変更して」

  • 「作業項目 #1234 の優先度を 1 に設定して」

  • 「作業項目 #1234 にコメントを追加:問題の再現を確認しました」

  • 「タイトル「単体テストの追加」の Task を作成して、親を #5787 にして」

  • 「1 つの Feature とその配下の 3 つの Task を一度に作成して」

作業項目の関連付けの管理

  • 「作業項目 #100 を #200 にリンクして、タイプは Related で」

  • 「作業項目 #6320 を #5787 の配下にぶら下げて」

  • 「作業項目 #1234 のすべてのコメントを表示して」

  • 「作業項目 #5678 の変更履歴を確認して」

  • 「作業項目 #999 のすべての関連項目を一覧表示して」

Repository と Git 操作

  • 「MyProject 配下のすべての repository を一覧表示して」

  • 「MainRepo のすべての branch を一覧表示して」

  • 「main branch 上の src/app.ts のファイル内容を取得して」

  • 「MainRepo の最近 10 件の commit 記録を表示して」

  • 「MainRepo のすべてのアクティブな pull request を一覧表示して」

  • 「pull request #123 の詳細情報を表示して」

  • 「feature/new-api から develop への PR を作成して、タイトルは「API エンドポイントの追加」で」

  • 「PR #789 を更新して、ステータスを完了に変更して」

  • 「PR #456 のすべてのレビュー議論を取得して」

  • 「PR #123 にレビューコメントを追加:async/await の使用を推奨します」

Build / Pipeline 操作

  • 「MyProject のすべての pipeline 定義を一覧表示して」

  • 「MyProject の最近失敗した build を表示して」

  • 「build #456 の詳細情報を取得して」

  • 「definition ID が 12 の build を main branch でトリガーして」

  • 「build #789 の log 一覧を表示して」

完全なワークフロー例

複数の操作を組み合わせて、完全なワークフローを実行できます:

バグの報告と修正

  1. 「MyProject にタイトル「ログインページが読み込めない」のバグを作成して」

  2. 「このバグを developer@company.com に割り当てて」

  3. 「コメントを追加:Chrome ブラウザで発生、Firefox では正常」

  4. 「この問題を修正するために bugfix/login から main への pull request を作成して」

  5. 「PR に説明を追加:CSS の読み込み順序の問題を修正しました」

機能開発の追跡

  1. 「User Story を作成:ユーザープロフィールページの実装」

  2. 「Task を作成:プロフィール UI の設計、上記の User Story にリンク」

  3. 「別の Task を作成:プロフィール API の実装、同じ User Story にリンク」

  4. 「完了したら、関連するすべての作業項目のステータスを完了に更新して」

現在の Sprint ステータスの確認

  1. 「MyProject の現在の sprint のすべての作業項目を一覧表示して」

  2. 「未完了の task を表示して」

  3. 「次の sprint の iteration ID を表示して」

開発

プロジェクトのビルド

pnpm install
pnpm run build

ウォッチモード

pnpm run watch

テストの実行

pnpm test

Linter の実行

pnpm run lint

プロジェクト構成

src/
├── index.ts             # CLI 入口點
├── auth.ts              # PAT 認證
├── server.ts            # MCP 伺服器設定
├── tools.ts             # 工具註冊
├── tools/
│   ├── core.ts          # 專案管理 (1 個工具)
│   ├── work-items.ts    # 工作項目 (11 個工具)
│   ├── repositories.ts  # Git 與 Pull Requests (10 個工具)
│   ├── builds.ts        # Build / Pipeline (5 個工具)
│   └── work.ts          # Sprint / Backlog (3 個工具)
├── utils.ts             # 回應輔助函式
├── logger.ts            # Winston 日誌
└── version.ts           # 版本資訊

特徴

  • オンプレミス展開専用:Azure DevOps Server 2022 向けに設計

  • コレクション型 URLhttps://{server}/{collection} 形式をサポート

  • PAT 認証:個人用アクセストークンのみを使用、Azure CLI は不要

  • 軽量:最小限の依存関係、シンプルな構成

  • 完全な機能:作業項目、Pull Request、Git、Build Pipeline、Sprint 計画をカバー

  • 階層とバッチ:親子関連をサポートし、作業項目ツリー全体を一度に作成可能

  • 簡潔なレスポンス:冗長な identity オブジェクトを自動的にトリミング、fields で必要なフィールドを指定可能

ライセンス

MIT License

Related MCP Connectors

Related MCP Servers