Cursor Azure DevOps MCP Server について
Cursor Azure DevOps MCP Serverは、Azure DevOpsのプロジェクトデータをCursorのAIワークフローにつなぎます。作業項目、リポジトリ、プルリクエスト、テスト管理に対応し、大きな応答は必要な項目を残して切り詰めます。
主な機能
- 01プロジェクトと作業項目の取得
- 02リポジトリとプルリクエストの参照
- 03プルリクエストの変更とコメントの確認
- 04テスト計画、スイート、ケースへのアクセス
- 05重要な項目を保った大きな応答の切り詰め
- 06設定済みデフォルトプロジェクトの利用
活用シーン
- 01Cursorから作業項目を確認
- 02プルリクエストの差分とスレッドを確認
- 03プルリクエストへのコメント追加
- 04テスト計画とケースの参照
MCP 対応
このMCP サーバーは、Azure DevOpsのプロジェクト、作業項目、リポジトリ、プルリクエスト、テスト管理データをツールとして公開します。コマンドモードまたはSSEモードでCursorに接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Cursor Azure DevOps MCP サーバー
Azure DevOps と Cursor IDE を連携するための Model Context Protocol(MCP)サーバーです。このツールを使うと、Cursor 内の Claude AI が Azure DevOps とやり取りし、プロジェクト、作業項目、リポジトリ、プルリクエストにアクセスできます。
機能
- Azure DevOps のプロジェクトを取得
- ID で作業項目を取得
- 複数の作業項目を取得
- プロジェクト内のリポジトリを一覧表示
- リポジトリのプルリクエストを取得
- プルリクエストの詳細とスレッドを表示
- 作業項目の添付ファイルを取得(画像、PDF、その他のファイル)
- メタデータ(メンションやリアクションを含む)付きの作業項目のコメントを取得
- プルリクエストの詳細なコード変更を取得(変更前後のファイル内容を表示)
- プルリクエストにコメントを作成(既存のコメントへの返信にも対応)
- テスト計画の管理:
- プロジェクト内のすべてのテスト計画を一覧表示
- ID でテスト計画の詳細を取得
- テスト計画内のテストスイートを一覧表示
- ID でテストスイートの詳細を取得
- テストスイート内のテストケースを一覧表示
- スマートなレスポンス処理:
- AI モデルの制限内に収まるよう、大きなレスポンスを自動的に切り詰める
- 切り詰めたレスポンスでも重要なフィールドを保持
- 切り詰めの状態と元のサイズに関するメタデータを提供
- プロジェクト設定:
- 設定からデフォルトのプロジェクトを指定可能
- プロジェクトが指定されていない場合は設定にフォールバック
- プロジェクト情報が不足している場合の適切なエラー処理
変更履歴
バージョン 1.0.3
追加
- テスト計画の管理に対応:
- 新しいツール:
azure_devops_test_plans- プロジェクト内のすべてのテスト計画を一覧表示 - 新しいツール:
azure_devops_test_plan- ID でテスト計画を取得 - 新しいツール:
azure_devops_test_suites- テスト計画内のすべてのテストスイートを一覧表示 - 新しいツール:
azure_devops_test_suite- ID でテストスイートを取得 - 新しいツール:
azure_devops_test_cases- テストスイート内のすべてのテストケースを一覧表示
- 新しいツール:
強化
- レスポンスサイズの管理:
- インテリジェントなレスポンスの切り詰めを追加(デフォルトで最大 50KB)
- 切り詰めたレスポンスでも重要なフィールドを保持
- レスポンスに切り詰めに関するメタデータを追加
- プロジェクト設定:
- 設定からデフォルトのプロジェクトを指定できる機能を追加
- すべてのテスト関連メソッドでプロジェクトパラメーターの処理を改善
- プロジェクト情報が不足している場合の適切なエラー処理を追加
修正
- TypeScript の要件に準拠するよう、テストスイートメソッドのパラメーター順序を修正
- テスト関連の API 呼び出しにおけるエラー処理を改善
- 大きなテストスイートレスポンスのフォーマットを修正
インストール
グローバルインストール
npm install -g cursor-azure-devops-mcp
ローカルインストール
npm install cursor-azure-devops-mcp
設定
サーバーは複数のソースから設定できます。優先順位は次のとおりです。
- コマンドライン引数
- VSCode/Cursor IDE の設定
- 環境変数 /
.envファイル - デフォルト値
コマンドライン引数
コマンドライン引数を使用してサーバーを設定できます。
npx cursor-azure-devops-mcp --azure-org-url=https://dev.azure.com/your-organization --azure-token=your-token --azure-project=YourProject
利用可能なオプション:
| オプション | エイリアス | 説明 |
|---|---|---|
--azure-org-url | --org | Azure DevOps の組織 URL |
--azure-token | --token | Azure DevOps の個人用アクセストークン |
--azure-project | --project | 既定の Azure DevOps プロジェクト名 |
--port | -p | サーバーのポート(HTTP モード用) |
--host | -h | サーバーのホスト名(HTTP モード用) |
--log-level | --log | ログレベル(error、warn、info、debug) |
--help | -? | ヘルプを表示 |
VSCode/Cursor IDE の設定
VSCode または Cursor IDE の設定でサーバーを設定できます。
- グローバル設定:
~/.vscode/settings.jsonまたは~/.cursor/settings.json - ワークスペース設定:
.vscode/settings.jsonまたは.cursor/settings.json
設定例:
{
"azureDevOps.organization": "your-organization",
"azureDevOps.token": "your-personal-access-token",
"azureDevOps.project": "YourProject",
"cursor-azure-devops-mcp": {
"port": 3000,
"logLevel": "info"
}
}
環境変数
プロジェクトのルートに .env ファイルを作成し、次の変数を設定します。
AZURE_DEVOPS_ORG_URL=https://dev.azure.com/your-organization
AZURE_DEVOPS_TOKEN=your-personal-access-token
AZURE_DEVOPS_PROJECT=YourProject
PORT=3000
LOG_LEVEL=info
用意されている .env.example ファイルをコピーすることもできます。
cp .env.example .env
次に、Azure DevOps の認証情報をファイルに入力します。
使い方
npx で実行する
この MCP サーバーを使う最も簡単な方法は、npx を使用することです。
npx cursor-azure-devops-mcp
Cursor IDE での設定(バージョン 0.46.9 以降)
Cursor IDE では、コマンドモードと SSE モードの 2 つの方法で MCP サーバーに接続できます。
オプション 1:コマンドモード(推奨)
コマンドモードでは、Cursor から直接プロセスとして MCP サーバーを実行します。最も信頼性の高い方法であり、最初に選ぶことをおすすめします。
-
Cursor IDE を開きます
-
[Settings]>[Features]>[MCP Servers]に移動します
-
[Add New MCP Server]をクリックします
-
サーバー名を入力します(例:「Azure DevOps」)
-
ドロップダウンから「command」を選択します
-
サーバーを実行するコマンドを入力します。
cursor-azure-devops-mcpグローバルにインストールしていない場合は、npx を使用できます。
npx cursor-azure-devops-mcp -
[Add]をクリックします
重要:コマンドモードでは、システムの環境変数、または現在の作業ディレクトリにある .env ファイルの環境変数がサーバーで自動的に使用されます。.env ファイルに Azure DevOps の認証情報が正しく設定されていることを確認してください。
コマンドモードのトラブルシューティング:
「server.setRequestHandler is not a function」などのエラーが発生した場合は、次の点を確認してください。
- パッケージの最新バージョンがインストールされていることを確認します
- パッケージを再インストールしてみます:
npm install -g cursor-azure-devops-mcp - .env ファイルに Azure DevOps の認証情報が正しく設定されていることを確認します
オプション 2:SSE モード(代替)
注:SSE モードは接続の問題が発生しやすいため、問題が起きた場合はコマンドモードを使用してください。
SSE モードでは、Server-Sent Events を使用して HTTP サーバーに接続します。
-
まず、SSE をサポートする HTTP サーバーを起動します。
npm run sse-serverまたは
npx cursor-azure-devops-mcp-sseこれにより、既定ではポート 3000 でサーバーが起動します。
-
Cursor IDE を開きます
-
[Settings]>[Features]>[MCP Servers]に移動します
-
[Add New MCP Server]をクリックします
-
サーバー名を入力します(例:「Azure DevOps SSE」)
-
ドロップダウンから「sse」を選択します
-
SSE エンドポイント URL を入力します。
http://localhost:3000/sse -
[Add]をクリックします
Windows ユーザー向け
Windows を使用していて、コマンドモードで問題が発生する場合は、次の形式を試してください。
cmd /k npx cursor-azure-devops-mcp
mcp.json のインストール
{
"azure-devops": {
"command": "cmd",
"args": [
"/c",
"npx",
"cursor-azure-devops-mcp",
"--azure-org-url",
"https://your-organization.visualstudio.com",
"--azure-token",
"your-personal-access-token",
"--azure-project",
"your-project"
]
}
}
コードでの使用
const { McpServer } = require('@modelcontextprotocol/sdk/server/mcp.js');
const { registerTools } = require('cursor-azure-devops-mcp');
const azureDevOpsService = require('cursor-azure-devops-mcp/lib/azure-devops-service');
// Create MCP server
const server = new McpServer({
name: 'cursor-azure-devops-mcp',
version: '1.0.0'
});
// Register Azure DevOps tools with the server
registerTools(server, azureDevOpsService);
// Connect to your transport of choice
// ...
利用可能なツール
| ツール名 | 説明 | 必須パラメーター |
|---|---|---|
azure_devops_projects | すべてのプロジェクトを取得します | なし |
azure_devops_work_item | 特定の作業項目を取得します | id(数値) |
azure_devops_work_items | 複数の作業項目を取得します | ids(数値の配列) |
azure_devops_repositories | プロジェクトのリポジトリを取得します | project(文字列) |
azure_devops_pull_requests | リポジトリのプルリクエストを取得します | repositoryId(文字列)、project(文字列) |
azure_devops_pull_request_by_id | 特定のプルリクエストを取得します | repositoryId(文字列)、pullRequestId(数値)、project(文字列) |
azure_devops_pull_request_threads | プルリクエストのスレッドを取得します | repositoryId(文字列)、pullRequestId(数値)、project(文字列) |
azure_devops_work_item_attachments | 作業項目の添付ファイルを取得します | id(数値) |
azure_devops_work_item_comments | 作業項目のコメントを取得します | id(数値) |
azure_devops_pull_request_changes | PR の詳細なコード変更を取得します | repositoryId(文字列)、pullRequestId(数値)、project(文字列) |
azure_devops_pull_request_file_content | プルリクエスト内の特定ファイルの内容を取得します | repositoryId(文字列)、pullRequestId(数値)、filePath(文字列)、objectId(文字列)、project(文字列)、任意:returnPlainText(ブール値)、startPosition(数値)、length(数値) |
azure_devops_branch_file_content | ブランチからファイルの内容を直接取得します | repositoryId(文字列)、branchName(文字列)、filePath(文字列)、project(文字列)、任意:returnPlainText(ブール値)、startPosition(数値)、length(数値) |
azure_devops_create_pr_comment | プルリクエストにコメントを作成します | repositoryId(文字列)、pullRequestId(数値)、project(文字列)、content(文字列)、その他の任意パラメーター |
azure_devops_test_plans | プロジェクトのすべてのテスト計画を一覧表示します | project(文字列) |
azure_devops_test_plan | ID でテスト計画を取得します | project(文字列)、testPlanId(数値) |
azure_devops_test_suites | テスト計画のすべてのテストスイートを一覧表示します | project(文字列)、testPlanId(数値) |
azure_devops_test_suite | ID でテストスイートを取得します | project(文字列)、testPlanId(数値)、testSuiteId(数値) |
azure_devops_test_cases | テストスイートのすべてのテストケースを一覧表示します | project(文字列)、testPlanId(数値)、testSuiteId(数値) |
テスト管理ツール
テスト管理ツールを使うと、Azure DevOps のテスト計画、テストスイート、テストケースに包括的にアクセスできます。
- プロジェクトの自動処理:すべてのテストツールで、設定の既定プロジェクトを使用できます
- 応答のスマートな切り詰め:重要な情報を保持したまま、AI モデルの制限に収まるよう、大きな応答は自動的に切り詰められます
- メタデータの保持:応答が切り詰められても、ID、名前、関連情報などの重要なメタデータは保持されます
- エラー処理:詳細なエラーメッセージを含む、包括的なエラー処理を提供します
使用例:
プロジェクト内のすべてのテスト計画を一覧表示する:
{
"project": "YourProject"
}
特定のテストスイートを取得する:
{
"project": "YourProject",
"testPlanId": 185735,
"testSuiteId": 186771
}
スイート内のテストケースを一覧表示する:
{
"project": "YourProject",
"testPlanId": 185735,
"testSuiteId": 186771
}
テスト管理ツールを使用する場合は、次の手順に従ってください。
- まず、
azure_devops_test_plansを使用してプロジェクトのテスト計画を取得します - 特定のテスト計画 ID を使用して、
azure_devops_test_suitesでテストスイートを取得します - 最後に、
azure_devops_test_casesを使用して特定のスイートのテストケースを取得します
必要に応じて、応答形式には切り詰めに関するメタデータが含まれます。
{
"items": [...],
"totalCount": 100,
"isTruncated": true,
"truncatedCount": 80,
"message": "Response was truncated. Showing 20 of 100 items."
}
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。