@slorenzot/mcp-azure
@slorenzot/mcp-azure
Azure DevOps를 위한 MCP(Model Context Protocol) 서버입니다. 호환되는 모든 MCP 클라이언트에서 작업 항목(Work Items), Git 리포지토리, Pull Request, 스프린트, 영역, 댓글 및 첨부 파일과 상호 작용할 수 있습니다.
설치
npm install -g @slorenzot/mcp-azure또는 npx를 직접 사용하세요:
npx @slorenzot/mcp-azure구성
환경 변수
서버는 다음 환경 변수를 사용하여 자동으로 구성됩니다:
변수 | 대안 | 설명 | 필수 |
|
| 조직 URL (예: | 예 |
|
| 개인 액세스 토큰 (Personal Access Token) | 예 |
|
| 프로젝트 이름 | 아니요 |
Claude Desktop 구성
claude_desktop_config.json 파일에 다음 구성을 추가하세요:
{
"mcpServers": {
"azure-devops": {
"command": "npx",
"args": ["-y", "@slorenzot/mcp-azure"],
"env": {
"AZURE_DEVOPS_ORG": "https://dev.azure.com/tu-organizacion",
"AZURE_DEVOPS_PAT": "tu-pat-aqui",
"AZURE_DEVOPS_PROJECT": "tu-proyecto"
}
}
}
}OpenCode 구성
OpenCode는 동일한 MCP를 사용하지만, 구성은 두 가지 방법으로 수행할 수 있습니다:
옵션 1: 환경 변수를 사용한 초기 구성
시스템 또는 OpenCode 구성에서 환경 변수를 설정합니다:
export AZURE_DEVOPS_ORG="https://dev.azure.com/tu-organizacion" export AZURE_DEVOPS_PAT="tu-pat-aqui" export AZURE_DEVOPS_PROJECT="tu-proyecto"또는 OpenCode 구성에 MCP 서버를 추가합니다:
{ "mcpServers": { "azure-devops": { "command": "npx", "args": ["-y", "@slorenzot/mcp-azure"], "env": { "AZURE_DEVOPS_ORG": "https://dev.azure.com/tu-organizacion", "AZURE_DEVOPS_PAT": "tu-pat-aqui", "AZURE_DEVOPS_PROJECT": "tu-proyecto" } } } }
옵션 2: ado_configure를 사용한 동적 구성
OpenCode를 사용하면 ado_configure 명령을 사용하여 세션 중에 직접 연결을 구성할 수 있습니다:
{
"organization": "https://dev.azure.com/tu-organizacion",
"project": "tu-proyecto",
"pat": "tu-pat-aqui"
}이 옵션은 구성 파일을 수정하지 않고 다른 조직이나 프로젝트 간에 전환할 때 유용합니다.
참고: ado_configure를 사용하면 연결은 현재 OpenCode 세션 동안 유지됩니다.
개인 액세스 토큰(PAT) 얻기
Azure DevOps 조직으로 이동합니다.
아바타(오른쪽 상단 모서리)를 클릭합니다.
Personal Access Tokens를 선택합니다.
다음 권한으로 새 토큰을 생성합니다:
Work Items: Read & Write
Code: Read & Write (리포지토리 및 Pull Request 작업용)
Project and Team: Read (선택 사항)
사용 가능한 도구
인증
도구 | 설명 |
| 조직, 프로젝트 및 PAT로 연결 구성 |
작업 항목(Work Items)
도구 | 설명 |
| ID로 작업 항목 가져오기 |
| 새 작업 항목 생성 (User Story, Bug, Task 등) |
| 기존 작업 항목 업데이트 |
| 유형의 사용 가능/필수 필드 가져오기 |
쿼리
도구 | 설명 |
| 특정 스프린트의 작업 항목 쿼리 |
| 특정 영역의 작업 항목 쿼리 |
| 사용자 지정 WIQL 쿼리 실행 |
프로젝트 구조
도구 | 설명 |
| 프로젝트의 반복 주기/스프린트 나열 |
| 프로젝트의 영역 나열 |
Git 리포지토리
도구 | 설명 |
| 프로젝트의 모든 Git 리포지토리 나열 |
| 이름 또는 ID로 특정 리포지토리 세부 정보 가져오기 |
| 리포지토리의 브랜치 나열 |
Pull Requests
도구 | 설명 |
| 선택적 필터(상태, 브랜치, 작성자, 검토자)로 Pull Request 나열 |
| Pull Request의 전체 세부 정보 가져오기 |
| 새 Pull Request 생성 |
| Pull Request 속성 업데이트 (제목, 설명, 초안) |
| 구성 가능한 전략으로 Pull Request 완료(병합) |
| Pull Request 포기 |
Pull Request 검토
도구 | 설명 |
| Pull Request 승인 (투표: 10) |
| Pull Request 거부 (투표: -10) |
| Pull Request의 모든 검토자 및 투표 가져오기 |
| Pull Request에 검토자 추가 |
Pull Request 댓글
도구 | 설명 |
| Pull Request의 모든 댓글 스레드 가져오기 |
| 새 댓글 스레드 생성 (일반 또는 코드) |
| 기존 댓글 스레드에 답글 달기 |
Pull Request 정보
도구 | 설명 |
| Pull Request의 모든 커밋 가져오기 |
| Pull Request에 연결된 작업 항목 가져오기 |
| 댓글 스레드 상태 업데이트 (Fixed, WontFix 등) |
댓글 및 토론
도구 | 설명 |
| 작업 항목에 댓글 추가 (Markdown 지원) |
| 작업 항목의 댓글 가져오기 |
첨부 파일
도구 | 설명 |
| 파일 업로드 및 첨부 파일 URL 반환 |
| 작업 항목에 첨부 파일 추가 |
| 작업 항목의 첨부 파일 나열 |
사용 예시
User Story 생성
{
"title": "Implementar login con OAuth",
"type": "User Story",
"description": "Como usuario quiero poder iniciar sesión con mi cuenta de Google",
"areaPath": "MiProyecto\\Backend",
"iterationPath": "MiProyecto\\Sprint 5",
"fields": {
"Custom.OKR": "Seguridad",
"Custom.Prioridad": "Alta"
}
}사용자 지정 WIQL 쿼리
{
"wiql": "SELECT [System.Id], [System.Title] FROM WorkItems WHERE [System.State] = 'Active' AND [System.AssignedTo] = @Me ORDER BY [System.CreatedDate] DESC",
"getDetails": true
}Markdown으로 댓글 추가
{
"id": 12345,
"comment": "## Análisis completado\n\n- Revisado el código\n- Identificados 3 issues\n\n**Próximo paso:** Corregir validaciones"
}파일 업로드 및 첨부
{
"workItemId": 12345,
"filePath": "/ruta/al/archivo.pdf",
"comment": "Documento de especificaciones",
"name": "Especificaciones Funcionales v2.0"
}기존 첨부 파일 연결
{
"workItemId": 12345,
"attachmentUrl": "https://dev.azure.com/org/proj/_apis/wit/attachments/abc123",
"comment": "Diseño de arquitectura",
"name": "Arquitectura del Sistema"
}리포지토리 나열
{
"includeHidden": false,
"top": 50
}활성 Pull Request 나열
{
"status": "Active",
"top": 20
}Pull Request 생성
{
"repositoryId": "mi-repo",
"sourceRefName": "refs/heads/feature-login",
"targetRefName": "refs/heads/main",
"title": "Implementar login con OAuth",
"description": "Esta PR agrega soporte para login con Google OAuth",
"reviewerIds": ["12345678-1234-1234-1234-1234567890ab"],
"isDraft": false
}Pull Request 승인
{
"pullRequestId": 12345,
"repositoryId": "mi-repo"
}Pull Request 완료(병합)
{
"pullRequestId": 12345,
"repositoryId": "mi-repo",
"mergeStrategy": "Squash",
"deleteSourceBranch": true,
"mergeCommitMessage": "Merge de feature-login"
}코드에 댓글 생성
{
"pullRequestId": 12345,
"repositoryId": "mi-repo",
"content": "Por favor extraer esto en una función separada",
"filePath": "/src/components/Login.tsx",
"startLine": 45,
"endLine": 52
}사용 가능한 프롬프트
서버에는 일반적인 작업을 용이하게 하기 위한 사전 정의된 프롬프트가 포함되어 있습니다:
프롬프트 | 설명 |
| Azure DevOps 연결 가이드 |
| 스프린트 상태 분석 |
| 구조화된 User Story 생성 |
| 일일 스탠드업 보고서 생성 |
| 스프린트 계획 지원 |
| 여러 작업 항목 업데이트 |
| 프로젝트 보고서 생성 |
| 구조화된 버그 보고서 생성 |
리소스
리소스 | URI | 설명 |
연결 상태 |
| 현재 연결 상태 정보 |
개발
요구 사항
Node.js 18+
npm 또는 yarn
로컬 설치
git clone https://github.com/slorenzot/mcp-azure.git
cd mcp-azure
npm install
npm run build사용 가능한 스크립트
npm run build # Compila TypeScript
npm run start # Inicia el servidor
npm run dev # Modo desarrollo con watch라이선스
MIT
작성자
Soulberto Lorenzo - @slorenzot
버전
2.4.1 - Azure DevOps용 34개 도구 사용 가능 (작업 항목, Git 리포지토리, Pull Request 등)
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/soulberto/mcp-azure'
If you have feedback or need assistance with the MCP directory API, please join our Discord server