Azure DevOps MCP 서버
Azure DevOps와 통합을 제공하는 MCP(Model Context Protocol) 서버로, AI 어시스턴트가 Azure DevOps 작업 항목, 풀 리퀘스트 및 위키와 상호 작용할 수 있도록 합니다.
특징
- 작업 항목 관리(생성, 목록, 가져오기)
- 풀 리퀘스트 작업(생성, 목록, 가져오기, 주석, 차이점)
- 위키 페이지 관리(생성, 편집)
설정
- 종속성 설치:
지엑스피1
- 환경 변수 구성(.env 파일 생성):
AZURE_DEVOPS_ORG_URL=https://dev.azure.com/your-org
AZURE_DEVOPS_PAT=your-personal-access-token
AZURE_DEVOPS_PROJECT=default-project
AZURE_DEVOPS_REPOSITORY=default-repo
- 서버를 빌드하세요:
설치
MCP 설정에 서버 구성을 추가합니다.
VSCode의 경우
~/.vscode/cline_mcp_settings.json
에 추가:
{
"mcpServers": {
"azure-devops": {
"command": "node",
"args": ["/path/to/azure-devops-mcp/build/index.js"],
"env": {
"AZURE_DEVOPS_ORG_URL": "your-org-url",
"AZURE_DEVOPS_PAT": "your-pat",
"AZURE_DEVOPS_PROJECT": "your-project",
"AZURE_DEVOPS_REPOSITORY": "your-repo"
},
"disabled": false,
"autoApprove": []
}
}
}
클로드 데스크탑용
추가:
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- 윈도우:
%APPDATA%/Claude/claude_desktop_config.json
사용 가능한 도구
작업 항목
작업_항목_목록
프로젝트의 작업 항목을 나열합니다.
{
"project": string, // Required
"types"?: string[], // Optional: Filter by work item types
"states"?: string[], // Optional: Filter by states
"assignedTo"?: string // Optional: Filter by assigned user
}
작업_항목_받기
특정 작업 항목에 대한 세부 정보를 얻으세요.
{
"project": string, // Required
"id": number // Required: Work item ID
}
작업_항목_생성
새로운 작업 항목을 만듭니다.
{
"project": string, // Required
"type": string, // Required: e.g., "Task", "Bug"
"title": string, // Required
"description"?: string, // Optional
"assignedTo"?: string // Optional
}
풀 리퀘스트
리스트_풀_리퀘스트
저장소에 풀 리퀘스트를 나열합니다.
{
"status"?: "active" | "completed" | "abandoned" // Optional
}
get_pull_request
특정 풀 리퀘스트의 세부 정보를 가져옵니다.
{
"pullRequestId": number // Required
}
풀 요청 생성
새로운 풀 리퀘스트를 만듭니다.
{
"title": string, // Required
"description": string, // Required
"sourceBranch": string, // Required
"targetBranch": string, // Required
"reviewers"?: string[] // Optional: Array of reviewer email addresses
}
풀 요청 주석 생성
풀 리퀘스트에 댓글을 추가합니다.
{
"pullRequestId": number, // Required
"content": string, // Required
"threadId"?: number, // Optional: For replies
"filePath"?: string, // Optional: For file comments
"lineNumber"?: number, // Optional: For line comments
"status"?: "active"|"fixed"|"pending"|"wontfix"|"closed" // Optional: Thread status
}
get_pull_request_diff
풀 리퀘스트에 대한 diff를 받으세요.
{
"pullRequestId": number, // Required
"filePath"?: string, // Optional: Specific file to get diff for
"iterationId"?: number // Optional: Specific iteration to get diff for
}
위키
위키페이지 만들기
새로운 위키 페이지를 만드세요.
{
"project": string, // Required
"wiki": string, // Required
"path": string, // Required
"content": string // Required
}
위키페이지 편집
기존 위키 페이지를 편집합니다.
{
"project": string, // Required
"wiki": string, // Required
"path": string, // Required
"content": string, // Required
"etag": string // Required: For concurrency control
}
개발
환경 변수를 사용하여 개발 모드에서 실행:
메모
도구 인수에 명시적으로 지정하지 않는 한, project
및 repository
매개변수는 환경 구성의 기본값을 사용합니다.