azure-devops-mcp

by RyanCardin15
Verified

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 계정

설정

  1. 저장소를 복제합니다.
    git clone <repository-url> cd AzureDevOps
  2. 종속성 설치:
    npm install
  3. 환경 변수를 구성합니다( .env 파일을 만들거나 직접 설정):Azure DevOps Services(클라우드):
    AZURE_DEVOPS_ORG_URL=https://dev.azure.com/your-organization AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN=your-personal-access-token AZURE_DEVOPS_PROJECT=your-default-project AZURE_DEVOPS_IS_ON_PREMISES=false
    Azure DevOps Server(온-프레미스):
    AZURE_DEVOPS_ORG_URL=https://your-server/tfs AZURE_DEVOPS_PROJECT=your-default-project AZURE_DEVOPS_IS_ON_PREMISES=true AZURE_DEVOPS_COLLECTION=your-collection AZURE_DEVOPS_API_VERSION=6.0 # Adjust based on your server version # Authentication (choose one): # For PAT authentication: AZURE_DEVOPS_AUTH_TYPE=pat AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN=your-personal-access-token # For NTLM authentication: AZURE_DEVOPS_AUTH_TYPE=ntlm AZURE_DEVOPS_USERNAME=your-username AZURE_DEVOPS_PASSWORD=your-password AZURE_DEVOPS_DOMAIN=your-domain # For Basic authentication: AZURE_DEVOPS_AUTH_TYPE=basic AZURE_DEVOPS_USERNAME=your-username AZURE_DEVOPS_PASSWORD=your-password
  4. 프로젝트를 빌드하세요:
    npm run build
    TypeScript 오류가 발생했지만 계속 진행하려는 경우:
    npm run build:ignore-errors
  5. 서버를 시작합니다:
    npm run start

구성

개인 액세스 토큰(PAT)

Azure DevOps Services(클라우드)의 경우 적절한 권한이 있는 개인 액세스 토큰을 만들어야 합니다.

  1. Azure DevOps 조직으로 이동
  2. 오른쪽 상단의 프로필 아이콘을 클릭하세요
  3. "개인 액세스 토큰"을 선택하세요
  4. "새로운 토큰"을 클릭하세요
  5. 이름을 지정하고 적절한 범위를 선택하세요.
    • 작업 항목: 읽기 및 쓰기
    • 코드: 읽기 및 쓰기
    • 프로젝트 및 팀: 읽기 및 쓰기
    • 빌드: 읽기
    • 출시: 읽기

Azure DevOps Server(온-프레미스)의 경우 세 가지 인증 옵션이 있습니다.

  1. 개인 액세스 토큰(PAT):
    • 클라우드 설정과 유사하지만 온프레미스 인스턴스에 PAT를 생성합니다.
    • AZURE_DEVOPS_AUTH_TYPE=pat 설정
  2. NTLM 인증:
    • Windows 도메인 자격 증명을 사용하세요
    • AZURE_DEVOPS_AUTH_TYPE=ntlm 설정하세요
    • 사용자 이름, 비밀번호, 도메인을 제공하세요
  3. 기본 인증:
    • 귀하의 지역 자격 증명을 사용하세요
    • 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/orghttps://서버/tfs
수집필요하지 않음필수의
인증 방법PAT만PAT, NTLM, 기본
API 버전최신(자동)사양이 필요할 수 있습니다
연결항상 인터넷공기 간격이 가능합니다

구성 예

.env.cloud.example 또는 .env.on-premises.example .env 로 복사하고 필요에 따라 값을 업데이트합니다.

환경 변수

다음 환경 변수를 사용하여 서버를 구성할 수 있습니다.

변하기 쉬운설명필수의기본
AZURE_DEVOPS_ORG_URLAzure 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 환경 변수를 사용하면 사용 가능한 도구 메서드를 제한할 수 있습니다. 이 설정은 선택 사항이며, 지정하지 않으면 모든 도구가 활성화됩니다.

형식: 공백 없이 쉼표로 구분된 메서드 이름 목록입니다.

예:

ALLOWED_TOOLS=listWorkItems,getWorkItemById,searchWorkItems,createWorkItem

이렇게 하면 지정된 작업 항목 메서드만 활성화되고 다른 모든 메서드는 비활성화됩니다.

용법

서버가 실행되면 MCP 프로토콜을 사용하여 서버와 상호 작용할 수 있습니다. 서버는 다양한 Azure DevOps 기능을 위한 여러 도구를 제공합니다.

사용 가능한 도구

참고: 기본적으로 index.ts 파일에는 일부 도구만 등록되어 초기 구현을 간소화합니다. 추가 도구를 등록하는 방법에 대한 자세한 내용은 도구 등록 섹션을 참조하세요.

예: 작업 항목 나열

{ "tool": "listWorkItems", "params": { "query": "SELECT [System.Id], [System.Title], [System.State] FROM WorkItems WHERE [System.State] = 'Active' ORDER BY [System.CreatedDate] DESC" } }

예: 작업 항목 만들기

{ "tool": "createWorkItem", "params": { "workItemType": "User Story", "title": "Implement new feature", "description": "As a user, I want to be able to export reports to PDF.", "assignedTo": "john@example.com" } }

예: 저장소 목록

{ "tool": "listRepositories", "params": { "projectId": "MyProject" } }

예: 풀 리퀘스트 생성

{ "tool": "createPullRequest", "params": { "repositoryId": "repo-guid", "sourceRefName": "refs/heads/feature-branch", "targetRefName": "refs/heads/main", "title": "Add new feature", "description": "This PR adds the export to PDF feature" } }

건축학

이 프로젝트는 다음과 같이 구성됩니다.

  • 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 파일에 도구를 명시적으로 등록해야 합니다. 기본적으로 초기 구현을 관리하기 쉽도록 모든 도구 중 일부만 등록됩니다.

더 많은 도구를 등록하려면:

  1. src/index.ts 파일을 엽니다
  2. 기존 도구 패턴을 따라 새로운 도구 등록을 추가합니다.
  3. 서버를 빌드하고 다시 시작합니다.

도구 등록에 대한 포괄적인 가이드는 저장소의 TOOL_REGISTRATION.md 파일에서 제공됩니다.

참고: 도구를 등록할 때, 특히 열거형 값의 경우 올바른 매개변수 유형을 사용하도록 주의하십시오. Interfaces 디렉터리의 유형 정의는 각 매개변수에 대해 예상되는 유형을 정의합니다. 잘못된 유형을 사용하면(예: 열거형 값에 z.string() 대신 z.enum() 사용하는 경우) 빌드 중에 TypeScript 오류가 발생합니다.

새로운 도구 등록의 예:

server.tool("searchCode", "Search for code in repositories", { searchText: z.string().describe("Text to search for"), repositoryId: z.string().optional().describe("ID of the repository") }, async (params, extra) => { const result = await gitTools.searchCode(params); return { content: result.content, rawData: result.rawData, isError: result.isError }; } );

문제 해결

일반적인 문제

인증 오류

  • 개인 액세스 토큰이 유효하고 필요한 권한이 있는지 확인하세요.
  • 조직 URL이 올바른지 확인하세요

빌드 중 TypeScript 오류

  • npm run build:ignore-errors 사용하여 TypeScript 오류를 우회합니다.
  • 누락되었거나 잘못된 유형 정의를 확인하세요

런타임 오류

  • 지정된 Azure DevOps 프로젝트가 존재하고 액세스 가능한지 확인하세요.

기여하다

참여를 환영합니다! 참여 방법은 다음과 같습니다.

  1. 저장소를 포크하세요
  2. 기능 브랜치를 생성합니다( git checkout -b feature/amazing-feature )
  3. 변경 사항을 커밋하세요( git commit -m 'Add some amazing feature' )
  4. 브랜치에 푸시( git push origin feature/amazing-feature )
  5. 풀 리퀘스트 열기

귀하의 코드가 린팅을 통과하고 적절한 테스트를 포함하고 있는지 확인하세요.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

이 서버는 Azure DevOps 서비스와 상호 작용하기 위한 편리한 API를 제공하여 AI 어시스턴트 및 기타 도구가 작업 항목, 코드 저장소, 보드, 스프린트 등을 관리할 수 있도록 합니다. 모델 컨텍스트 프로토콜(Model Context Protocol)을 기반으로 구축되어 Azure DevOps와 통신하기 위한 표준화된 인터페이스를 제공합니다.

  1. Overview
    1. Demo
      1. Features
        1. Work Item Tools
        2. Boards & Sprints Tools
        3. Project Tools
        4. Git Tools
        5. Testing Capabilities Tools
        6. DevSecOps Tools
        7. Artifact Management Tools
        8. AI-Assisted Development Tools
      2. Installation
        1. Installing via Smithery
        2. Prerequisites
        3. Setup
      3. Configuration
        1. Personal Access Token (PAT)
        2. Azure DevOps Services vs. Azure DevOps Server
        3. Environment Variables
      4. Usage
        1. Available Tools
        2. Example: List Work Items
        3. Example: Create a Work Item
        4. Example: List Repositories
        5. Example: Create a Pull Request
      5. Architecture
        1. Service Layer
        2. Tools Layer
      6. Tool Registration
        1. Troubleshooting
          1. Common Issues
        2. Contributing
          ID: z7mxfcinp8