remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
The server provides tools for interacting with Git repositories in Azure DevOps, including listing repositories, branches, commits, creating pull requests, and more.
Node.js is listed as a prerequisite for running the server, but it's not what the server integrates with.
The MCP server is built with TypeScript, but it doesn't integrate with TypeScript as a service.
Azure DevOps MCP 통합
MCP(Model Context Protocol) 서버를 통해 작업 항목, 저장소, 프로젝트, 보드 및 스프린트에 원활하게 액세스할 수 있는 Azure DevOps를 위한 강력한 통합입니다.
개요
이 서버는 Azure DevOps 서비스와 상호 작용하기 위한 편리한 API를 제공하여 AI 어시스턴트 및 기타 도구가 작업 항목, 코드 저장소, 보드, 스프린트 등을 관리할 수 있도록 지원합니다. 모델 컨텍스트 프로토콜(Model Context Protocol)을 기반으로 구축되어 Azure DevOps와 통신하기 위한 표준화된 인터페이스를 제공합니다.
데모
특징
통합은 8가지 주요 도구 범주로 구성됩니다.
작업 항목 도구
- WIQL 쿼리를 사용하여 작업 항목 나열
- ID로 작업 항목 세부 정보 가져오기
- 작업 항목 검색
- 최근 업데이트된 작업 항목 가져오기
- 할당된 작업 항목을 받으세요
- 새 작업 항목 만들기
- 기존 작업 항목 업데이트
- 작업 항목에 주석 추가
- 작업 항목 상태 업데이트
- 작업 항목 할당
- 작업 항목 간 링크 생성
- 대량 작업 항목 생성/업데이트
보드 및 스프린트 도구
- 팀 보드 받기
- 보드 컬럼 가져오기
- 보드 아이템 받기
- 보드에서 카드 이동
- 스프린트를 받으세요
- 현재 스프린트를 가져옵니다
- 스프린트 작업 항목 가져오기
- 스프린트 용량 확보
- 팀원을 모집합니다
프로젝트 도구
- 프로젝트 목록
- 프로젝트 세부 정보 받기
- 새로운 프로젝트 만들기
- 지역 가져오기
- 반복을 얻으세요
- 영역 만들기
- 반복을 만듭니다
- 프로세스 템플릿 가져오기
- 작업 항목 유형 가져오기
- 작업 항목 유형 필드 가져오기
Git 도구
- 저장소 목록
- 저장소 세부 정보 가져오기
- 저장소 생성
- 지점 목록
- 검색 코드
- 저장소 탐색
- 파일 내용 가져오기
- 커밋 기록 가져오기
- 풀 리퀘스트 목록
- 풀 리퀘스트 생성
- 풀 리퀘스트 세부 정보 받기
- 풀 리퀘스트 코멘트 받기
- 풀 리퀘스트 승인
- 풀 리퀘스트 병합
테스트 기능 도구
- 자동화된 테스트 실행
- 테스트 자동화 상태 가져오기
- 테스트 에이전트 구성
- 테스트 데이터 생성기 만들기
- 테스트 환경 관리
- 테스트 불안정성 분석 받기
- 테스트 갭 분석 받기
- 테스트 영향 분석 실행
- 테스트 상태 대시보드 가져오기
- 테스트 최적화 실행
- 탐색 세션 만들기
- 탐색적 테스트 결과 기록
- 결과를 작업 항목으로 변환
- 탐색적 테스트 통계 가져오기
DevSecOps 도구
- 보안 검사 실행
- 보안 검사 결과 받기
- 보안 취약점 추적
- 보안 규정 준수 보고서 생성
- SARIF 결과 통합
- 규정 준수 검사 실행
- 규정 준수 상태 가져오기
- 규정 준수 보고서 만들기
- 보안 정책 관리
- 보안 인식 추적
- 비밀을 회전하다
- 비밀 사용 감사
- 볼트 통합 구성
아티팩트 관리 도구
- 아티팩트 피드 목록
- 패키지 버전 가져오기
- 패키지 게시
- 패키지 홍보
- 패키지 버전 삭제
- 컨테이너 이미지 나열
- 컨테이너 이미지 태그 가져오기
- 컨테이너 이미지 스캔
- 컨테이너 정책 관리
- 유니버설 패키지 관리
- 패키지 다운로드 보고서 생성
- 패키지 종속성 확인
AI 지원 개발 도구
- AI 기반 코드 검토 받기
- 코드 최적화 제안
- 코드 냄새 식별
- 예측 버그 분석 받기
- 개발자 생산성 지표 가져오기
- 예측 노력 추정치를 얻으세요
- 코드 품질 추세 파악
- 작업 항목 개선 제안
- 자동화 기회 제안
- 지능형 알림 만들기
- 빌드 실패 예측
- 테스트 선택 최적화
설치
Smithery를 통해 설치
Smithery를 통해 Claude Desktop에 azuredevops-mcp를 자동으로 설치하려면 다음을 수행합니다.
지엑스피1
필수 조건
- Node.js(v16 이상)
- TypeScript(v4 이상)
- PAT(개인 액세스 토큰) 또는 적절한 온프레미스 자격 증명이 있는 Azure DevOps 계정
설정
- 저장소를 복제합니다.Copy
- 종속성 설치:Copy
- 환경 변수를 구성합니다(
.env
파일을 만들거나 직접 설정):Azure DevOps Services(클라우드):Azure DevOps Server(온-프레미스):CopyCopy - 프로젝트를 빌드하세요:TypeScript 오류가 발생했지만 계속 진행하려는 경우:CopyCopy
- 서버를 시작합니다:Copy
구성
개인 액세스 토큰(PAT)
Azure DevOps Services(클라우드)의 경우 적절한 권한이 있는 개인 액세스 토큰을 만들어야 합니다.
- Azure DevOps 조직으로 이동
- 오른쪽 상단의 프로필 아이콘을 클릭하세요
- "개인 액세스 토큰"을 선택하세요
- "새로운 토큰"을 클릭하세요
- 이름을 지정하고 적절한 범위를 선택하세요.
- 작업 항목: 읽기 및 쓰기
- 코드: 읽기 및 쓰기
- 프로젝트 및 팀: 읽기 및 쓰기
- 빌드: 읽기
- 출시: 읽기
Azure DevOps Server(온-프레미스)의 경우 세 가지 인증 옵션이 있습니다.
- 개인 액세스 토큰(PAT):
- 클라우드 설정과 유사하지만 온프레미스 인스턴스에 PAT를 생성합니다.
AZURE_DEVOPS_AUTH_TYPE=pat
설정
- NTLM 인증:
- Windows 도메인 자격 증명을 사용하세요
AZURE_DEVOPS_AUTH_TYPE=ntlm
설정하세요- 사용자 이름, 비밀번호, 도메인을 제공하세요
- 기본 인증:
- 귀하의 지역 자격 증명을 사용하세요
AZURE_DEVOPS_AUTH_TYPE=basic
설정- 사용자 이름과 비밀번호를 제공하세요
Azure DevOps Services 대 Azure DevOps Server
이 통합은 클라우드 호스팅 Azure DevOps Services와 온프레미스 Azure DevOps Server를 모두 지원합니다.
Azure DevOps 서비스(클라우드)
- 조직 URL 및 PAT를 사용한 간단한 설정
- 기본 구성에는
https://dev.azure.com/your-organization
형식이 필요합니다. - 항상 PAT 인증을 사용합니다
.env.cloud.example
에 제공된 샘플 구성 파일
Azure DevOps 서버(온프레미스)
- 서버 URL, 수집 및 인증에 대한 추가 구성이 필요합니다.
- URL 형식은 서버 설정에 따라 달라집니다:
https://your-server/tfs
- 컬렉션 이름을 지정해야 합니다.
- 다양한 인증 방식(PAT, NTLM, 기본) 지원
- 이전 서버 버전의 경우 API 버전 사양이 필요할 수 있습니다.
.env.on-premises.example
에 제공된 샘플 구성 파일
주요 차이점
특징 | Azure DevOps 서비스 | Azure DevOps 서버 |
---|---|---|
URL 형식 | https://dev.azure.com/org | https://서버/tfs |
수집 | 필요하지 않음 | 필수의 |
인증 방법 | PAT만 | PAT, NTLM, 기본 |
API 버전 | 최신(자동) | 사양이 필요할 수 있습니다 |
연결 | 항상 인터넷 | 공기 간격이 가능합니다 |
구성 예
.env.cloud.example
또는 .env.on-premises.example
.env
로 복사하고 필요에 따라 값을 업데이트합니다.
환경 변수
다음 환경 변수를 사용하여 서버를 구성할 수 있습니다.
변하기 쉬운 | 설명 | 필수의 | 기본 |
---|---|---|---|
AZURE_DEVOPS_ORG_URL | Azure DevOps 조직 또는 서버의 URL | 예 | - |
AZURE_DEVOPS_프로젝트 | 사용할 기본 프로젝트 | 예 | - |
AZURE_DEVOPS는 온프레미스에 있습니다 | Azure DevOps Server를 사용하는지 여부 | 아니요 | 거짓 |
AZURE_DEVOPS_컬렉션 | 온프레미스용 컬렉션 이름 | 아니요* | - |
AZURE_DEVOPS_API_버전 | 온프레미스용 API 버전 | 아니요 | - |
AZURE_DEVOPS_인증_유형 | 인증 유형(pat/ntlm/basic) | 아니요 | 가볍게 두드리기 |
AZURE_DEVOPS_개인_액세스_토큰 | 개인 액세스 토큰 | 아니요** | - |
AZURE_DEVOPS_사용자 이름 | NTLM/기본 인증을 위한 사용자 이름 | 아니요** | - |
AZURE_DEVOPS_비밀번호 | NTLM/기본 인증을 위한 비밀번호 | 아니요** | - |
AZURE_DEVOPS_도메인 | NTLM 인증을 위한 도메인 | 아니요 | - |
허용된 도구 | 도구 방법을 활성화하기 위한 쉼표로 구분된 목록 | 아니요 | 모든 도구 |
* AZURE_DEVOPS_IS_ON_PREMISES=true
인 경우 필수입니다. ** 선택한 인증 유형에 따라 필수입니다.
ALLOWED_TOOLS를 사용한 도구 필터링
ALLOWED_TOOLS
환경 변수를 사용하면 사용 가능한 도구 메서드를 제한할 수 있습니다. 이 설정은 선택 사항이며, 지정하지 않으면 모든 도구가 활성화됩니다.
형식: 공백 없이 쉼표로 구분된 메서드 이름 목록입니다.
예:
이렇게 하면 지정된 작업 항목 메서드만 활성화되고 다른 모든 메서드는 비활성화됩니다.
용법
서버가 실행되면 MCP 프로토콜을 사용하여 서버와 상호 작용할 수 있습니다. 서버는 다양한 Azure DevOps 기능을 위한 여러 도구를 제공합니다.
사용 가능한 도구
참고: 기본적으로
index.ts
파일에는 일부 도구만 등록되어 초기 구현을 간소화합니다. 추가 도구를 등록하는 방법에 대한 자세한 내용은 도구 등록 섹션을 참조하세요.
예: 작업 항목 나열
예: 작업 항목 만들기
예: 저장소 목록
예: 풀 리퀘스트 생성
건축학
이 프로젝트는 다음과 같이 구성됩니다.
src/
Interfaces/
: 매개변수 및 응답에 대한 유형 정의Services/
: Azure DevOps API와 상호 작용하기 위한 서비스 클래스Tools/
: 클라이언트에게 기능을 노출하는 도구 구현index.ts
: 도구를 등록하고 서버를 시작하는 주요 진입점config.ts
: 구성 처리
서비스 계층
서비스 계층은 Azure DevOps API와의 직접 통신을 처리합니다.
WorkItemService
: 작업 항목 작업BoardsSprintsService
: 보드 및 스프린트 작업ProjectService
: 프로젝트 관리 운영GitService
: Git 저장소 작업TestingCapabilitiesService
: 기능 테스트 작업DevSecOpsService
: DevSecOps 작업ArtifactManagementService
: 아티팩트 관리 작업AIAssistedDevelopmentService
: AI 지원 개발 작업
도구 레이어
도구 계층은 서비스를 래핑하고 MCP 프로토콜에 대한 일관된 인터페이스를 제공합니다.
WorkItemTools
: 작업 항목 작업을 위한 도구BoardsSprintsTools
: 보드 및 스프린트 작업을 위한 도구ProjectTools
: 프로젝트 관리 작업을 위한 도구GitTools
: Git 작업을 위한 도구TestingCapabilitiesTools
: 기능 작업을 테스트하기 위한 도구DevSecOpsTools
: DevSecOps 운영을 위한 도구ArtifactManagementTools
: 아티팩트 관리 작업을 위한 도구AIAssistedDevelopmentTools
: AI 지원 개발 작업을 위한 도구
도구 등록
MCP 서버는 index.ts
파일에 도구를 명시적으로 등록해야 합니다. 기본적으로 초기 구현을 관리하기 쉽도록 모든 도구 중 일부만 등록됩니다.
더 많은 도구를 등록하려면:
src/index.ts
파일을 엽니다- 기존 도구 패턴을 따라 새로운 도구 등록을 추가합니다.
- 서버를 빌드하고 다시 시작합니다.
도구 등록에 대한 포괄적인 가이드는 저장소의 TOOL_REGISTRATION.md
파일에서 제공됩니다.
참고: 도구를 등록할 때, 특히 열거형 값의 경우 올바른 매개변수 유형을 사용하도록 주의하십시오.
Interfaces
디렉터리의 유형 정의는 각 매개변수에 대해 예상되는 유형을 정의합니다. 잘못된 유형을 사용하면(예: 열거형 값에z.string()
대신z.enum()
사용하는 경우) 빌드 중에 TypeScript 오류가 발생합니다.
새로운 도구 등록의 예:
문제 해결
일반적인 문제
인증 오류
- 개인 액세스 토큰이 유효하고 필요한 권한이 있는지 확인하세요.
- 조직 URL이 올바른지 확인하세요
빌드 중 TypeScript 오류
npm run build:ignore-errors
사용하여 TypeScript 오류를 우회합니다.- 누락되었거나 잘못된 유형 정의를 확인하세요
런타임 오류
- 지정된 Azure DevOps 프로젝트가 존재하고 액세스 가능한지 확인하세요.
기여하다
참여를 환영합니다! 참여 방법은 다음과 같습니다.
- 저장소를 포크하세요
- 기능 브랜치를 생성합니다(
git checkout -b feature/amazing-feature
) - 변경 사항을 커밋하세요(
git commit -m 'Add some amazing feature'
) - 브랜치에 푸시(
git push origin feature/amazing-feature
) - 풀 리퀘스트 열기
귀하의 코드가 린팅을 통과하고 적절한 테스트를 포함하고 있는지 확인하세요.
You must be authenticated.
Tools
이 서버는 Azure DevOps 서비스와 상호 작용하기 위한 편리한 API를 제공하여 AI 어시스턴트 및 기타 도구가 작업 항목, 코드 저장소, 보드, 스프린트 등을 관리할 수 있도록 합니다. 모델 컨텍스트 프로토콜(Model Context Protocol)을 기반으로 구축되어 Azure DevOps와 통신하기 위한 표준화된 인터페이스를 제공합니다.
- Overview
- Demo
- Features
- Installation
- Configuration
- Usage
- Architecture
- Tool Registration
- Troubleshooting
- Contributing