mcpField
A
Azure DevOps On-Premises

Azure DevOps On-Premises

ローカル
zwitbaum.github.ioバージョン管理57 週間前に更新

Azure DevOps On-Premises について

Azure DevOps On-Premises は、セルフホスト型 Azure DevOps Server または TFS を利用するチーム向けの MCP サーバーです。ドメイン認証の NTLM に加え、PAT と OAuth に対応し、リポジトリ、プルリクエスト、作業項目、Wiki のツールを提供します。

主な機能

  1. 01NTLM、PAT、OAuth 認証
  2. 02リポジトリとコミット内容の閲覧
  3. 03プルリクエストと行単位の差分確認
  4. 04作業項目の検索と管理
  5. 05Wiki ページの読み取りと更新
  6. 06DevOps データの読み書き

活用シーン

  1. 01AI ツールをオンプレミスの DevOps プロジェクトに接続
  2. 02プルリクエストの議論とファイル変更の確認
  3. 03プロジェクト作業中の作業項目の検索と更新
  4. 04プロジェクト Wiki ドキュメントの検索や保守

MCP 対応

MCP サーバーは、オンプレミスの Azure DevOps と TFS のリポジトリ、プルリクエスト、作業項目、Wiki を閲覧・管理するツールを公開します。NTLM、PAT、OAuth Bearer Token 認証に対応しています。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"zwitbaum-mcp-devops-on-prem": {
"command": "uvx",
"args": [
"mcp-devops-onpremise"
],
"env": {
"DEVOPS_API_URL": "<DEVOPS_API_URL>",
"DEVOPS_USERNAME": "<DEVOPS_USERNAME>",
"DEVOPS_PASSWORD": "<DEVOPS_PASSWORD>",
"DEVOPS_PAT": "<DEVOPS_PAT>",
"DEVOPS_TOKEN": "<DEVOPS_TOKEN>"
}
}
}
}
起動コマンドuvx mcp-devops-onpremise
設定が必要な環境変数
DEVOPS_API_URLFull Azure DevOps Server project URL, e.g. https://server/org/project
DEVOPS_USERNAMENTLM username, usually DOMAIN\username
DEVOPS_PASSWORDシークレットNTLM password
DEVOPS_PATシークレットPersonal Access Token for PAT authentication
DEVOPS_TOKENシークレットOAuth bearer token for bearer-token authentication

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

パッケージ
pypimcp-devops-onpremise2.1.0

ツール

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

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

詳細

MCP DevOps On-Premise

オンプレミスの Azure DevOps 向け Model Context Protocol MCP サーバーです。AI アシスタントがリポジトリの閲覧、プルリクエストのレビュー、作業項目の管理、Wiki の操作を行えます。

License: MIT PyPI - Version

概要

多くの組織では、プロジェクトで TFS や Azure DevOps Server などのオンプレミス型 DevOps ソリューションを使用しています。これらのシステムを最新のエージェント型 AI ツールや LLM と連携させるのは困難な場合があります。Microsoft 公式の Azure DevOps MCP サーバーはこれらの環境をサポートしておらず、今後もサポートされる可能性は低いでしょう。

この MCP サーバーはそのギャップを埋め、オンプレミスの DevOps システムとのスムーズな連携を実現します。

このプロジェクトは活発に開発されており、現在のニーズに応える機能を継続的に追加しています。コミュニティのニーズを重視しています。不足している機能があれば、Issue を送信してください。ユーザーからリクエストされた機能は優先的に扱い、できるだけ早く追加します。

主な利点

この MCP サーバーの最も重要な機能の一つは、NTLM 認証のサポートです。NTLM は、ユーザーが Windows ドメインの認証情報を使って直接または VPN 経由で認証する、多くのオンプレミス環境やエンタープライズ環境で必要とされます。Azure DevOps 向けのほとんどの MCP サーバーは、トークンベースの認証を使うクラウドホスト型の Azure DevOps Services のみを対象としており、こうした環境には接続できません。

  • 他の認証方式が使えないオンプレミス環境や VPN ベースの構成向けに、NTLM 認証(Windows ドメインの認証情報)をサポートします。
  • 利用可能な場合は、代替手段として PAT 認証と OAuth ベアラートークン認証を使用できます。
  • GitHub Copilot、Claude Desktop、Cursor、Windsurf などの MCP 対応 AI ツールから、オンプレミスの DevOps システムに安全にアクセスできます。
  • 機密データを外部サービスに公開することなく、制限された環境やオフライン環境でも動作します。
  • DevOps の UI と同様に、追加行と削除行が明確に示されたコミット差分を取得します。
  • コード変更とあわせてプロジェクトのドキュメントを維持・追跡するのに役立ちます。
  • 作業項目の管理やコードレビューのプロセスなど、一般的なタスクを自動化します。

はじめに

前提条件

Python 3.10+ と uv が必要です。まだインストールしていない場合は、インストールガイドを参照してください。

クイックインストール

以下のボタンのいずれかをクリックすると、IDE に直接インストールできます。認証情報の入力を求められます。

VS Code にインストール VS Code Insiders にインストール Cursor にインストール

その他のプラットフォームについては、Getting Started ガイドの手動インストールを参照してください。

手動インストール

MCP サーバーは、次の AI ツールに手動でインストールできます:VS Code、Visual Studio、Cursor、Goose、LM Studio、Amp、Claude Code、Claude Desktop、Codex、Gemini CLI、OpenCode、Qodo Gen、Warp、Windsurf、GitHub Copilot CLI、GitHub Copilot Coding Agent など。

手順の詳細については、Getting Started ガイドの手動インストールを参照してください。

設定

DEVOPS_API_URL には、プロジェクトの完全な URL を指定する必要があります:

https://<your-devops-server>/<organization>/<project>

サーバーは 3 種類の認証方法に対応しています。どの方法を使えばよいかわからない場合は、オンプレミス/VPN 環境で最も一般的な NTLM から始めてください。

方法説明
NTLM(ユーザー名+パスワード)オンプレミス/VPN 環境で最も一般的です。通常、最初に試す設定として最も簡単で、ほかの方法で問題が発生した場合の最適な代替手段です。
PAT(Personal Access Token)PAT が有効で、使用が許可されている場合に使います。トークンには有効期限があり、ポリシーによってトークンベースの認証がブロックされることがあります。利点:設定にアカウントのパスワードを保存する必要がありません。
OAuth Bearer TokenCI/CD パイプライン向けの高度なオプションです。DevOps Server で OAuth 2.0 が設定されており、管理者が定義したトークンソースが必要です。

各方法の詳しい設定手順については、Getting Started ガイドの認証を参照してください。

NTLM(ユーザー名+パスワード)
{
  "mcpServers": {
    "devops-onprem": {
      "command": "uvx",
      "args": ["mcp-devops-onpremise@latest"],
      "env": {
        "DEVOPS_API_URL": "https://your-devops-server/your-organization/your-project",
        "DEVOPS_USERNAME": "DOMAIN\\your-username",
        "DEVOPS_PASSWORD": "your-password"
      }
    }
  }
}
PAT を使用する場合
{
  "mcpServers": {
    "devops-onprem": {
      "command": "uvx",
      "args": ["mcp-devops-onpremise@latest"],
      "env": {
        "DEVOPS_API_URL": "https://your-devops-server/your-organization/your-project",
        "DEVOPS_PAT": "your-personal-access-token"
      }
    }
  }
}

永続インストールを使用した場合は、"command": "uvx" を "command": "mcp-devops-onpremise" に置き換え、"args" の行を削除してください。

更新

すべての設定例では mcp-devops-onpremise@latest を使用しています。これにより、uvx は実行のたびに最新バージョンを自動的に取得します。

永続インストールとリリースノートについては、Getting Started ガイドの更新をご覧ください。

利用可能なツール

プルリクエスト
ツール説明読み取り専用
devops_pull_request_getID でプルリクエストを取得します。リンクされた作業項目と、差分の比較に使用するコミット SHA も含まれます✅
devops_pull_request_writeプルリクエストの作成または更新、レビュアーの更新、または PR への投票を行います❌
devops_pull_request_list_threads削除されていないコメントスレッドと、そのテキストコメントを階層形式で一覧表示します✅
devops_pull_request_list_thread_comments特定のスレッド内にある、削除されていないテキストコメントを一覧表示します✅
devops_pull_request_create_comment最初のコメントを含む新しいスレッドを作成します(全般的なコメント、またはファイル/行へのインラインコメント)❌
devops_pull_request_reply_comment既存のコメントスレッドに返信します❌
devops_pull_request_update_threadコメントスレッドのステータスを更新します❌
devops_pull_request_update_comment既存のコメントのテキストを更新します❌
devops_pull_request_delete_commentプルリクエストのスレッドからコメントを削除します❌
リポジトリ
ツール説明読み取り専用
devops_repository_listプロジェクト内のすべてのリポジトリを一覧表示します✅
devops_repository_get名前または ID でリポジトリの詳細を取得します✅
devops_repository_commit_changes特定のコミットで変更されたファイルを一覧表示します✅
devops_repository_diffs_commits2 つのコミット間の差分(変更されたファイルパス)を取得します✅
devops_repository_item_content特定のコミットまたはブランチにあるファイルの生の内容を取得します✅
devops_get_item_content_diff2 つのコミット間でファイルの行単位のテキスト差分を取得します(追加行には +、削除行には - が付きます)✅
作業項目
ツール説明読み取り専用
devops_work_item_get数値 ID で作業項目(PBI、バグ、タスク)を取得します。主要フィールド、添付ファイル(ファイルとインライン画像)、リンクされた項目(作業項目、プルリクエスト、コミット)を含むコンパクトなオブジェクトを返します✅
devops_work_item_attachment_getGUID で作業項目の添付ファイルをダウンロードします。ローカルに保存するか、Base64 エンコードされた内容を返します✅
devops_work_item_type_get名前(例:Bug、User Story)で作業項目の種類の定義を取得します✅
devops_work_item_query_by_wiqlWIQL(Work Item Query Language)クエリを実行し、一致する作業項目を返します✅
devops_work_item_create型指定フィールドを使用して新しい作業項目を作成します。既定の形式は Html です❌
devops_work_item_updateJSON Patch(add / replace / remove)を使用して、作業項目のフィールドを更新します❌
devops_work_item_delete作業項目を削除します。既定ではごみ箱に移動します。完全に削除するには destroy=True を使用してください(プロジェクトの権限が必要です)❌
devops_work_item_undeleteごみ箱から、論理削除された作業項目を復元します❌
devops_work_item_link_update2 つの作業項目間の関連リンク(親、子、関連、後続、先行など)を追加または削除します❌
devops_work_item_artifact_link_update作業項目の成果物リンク(Pull Request、Build、Commit、Branch、Changeset)を追加または削除します❌
devops_work_item_comment_listページサイズと形式を指定して、作業項目のコメントを一覧表示します✅
devops_work_item_comment_add作業項目にコメントを追加します❌
devops_work_item_comment_update作業項目の既存のコメントを更新します❌
devops_work_item_comment_delete作業項目のコメントを削除します❌
検索
ツール説明読み取り専用
devops_code_searchリポジトリ、パス、ブランチのフィルターを任意で指定してソースコードを検索します✅
devops_work_item_searchエリア、種類、状態、担当者のフィルターを任意で指定して作業項目を検索します✅
devops_wiki_searchWiki フィルターを任意で指定して Wiki ページを検索します✅
Wiki
ツール説明読み取り専用
devops_wiki_page_getWiki ID とページ ID を指定して、Wiki ページのメタデータと任意のコンテンツを取得します✅
devops_wiki_page_create_or_update指定した親ページの下に Wiki ページを作成または更新します❌
devops_wiki_page_updateID を指定して既存の Wiki ページを更新します❌
devops_wiki_page_deleteID を指定して既存の Wiki ページを削除します❌

開発

# Install dev dependencies
uv sync --group dev

# Run linting
uv run ruff check src/
uv run black --check src/

# Run tests
uv run pytest tests/

コメント

MCP は初めてですか?

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

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