AA

aaronsb/ado-mcp

Developer tools

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

17 stars 8 forks 품질 57 트렌드 21MIT

Azure DevOps MCP 서버

개요

이 MCP (Model Context Protocol) 서버는 AI 조수를 통해 Azure DevOps 서비스와 상호 작용하는 도구를 제공합니다. 서버는 많은 원자 도구를 exposing 보다는 오히려 자원 유형에 의하여 그룹 가동에 근거한 건축술을 따릅니다. 이 접근법은 몇 가지 이점을 제공합니다: 1.: 공구는 (프로젝트, 저장소, 일 품목, 등)에 작동되는 entities에 의해 조직됩니다 2. : 개별 도구의 수십 개 대신 다중 작업 3. : 모든 엔티티티티 도구는 작업 및 매개 변수에 대한 동일한 패턴을 따릅니다. : 각 엔티티티티 도구는 도메인 5.에 특정 오류를 처리 할 수 있습니다 : 사용자는 각 엔티티티에 대한 사용 가능한 작업을 쉽게 찾을 수 있습니다. - : 각 도구는 Azure DevOps entity (projects, repositories, work items, etc.)를 대표하며 여러 작업을 제공합니다. (list, get, create, etc.

개요(AI 번역)

이 MCP (Model Context Protocol) 서버는 AI 조수를 통해 Azure DevOps 서비스와 상호 작용하는 도구를 제공합니다.

건축

서버는 많은 원자 도구를 exposing 보다는 오히려 자원 유형에 의하여 그룹 가동에 근거한 건축술을 따릅니다. 이 접근법은 몇 가지 이점을 제공합니다:

  1. ** 직관적 인 조직 ** : 도구는 (프로젝트, 저장소, 작업 항목 등)에서 작동되는 엔티티티티에 의해 조직됩니다.
  2. **Reduced 공구 조사 **: 수십 개의 개별 도구 대신, 우리는 여러 작업과 함께 엔터프라이즈 도구의 손이 있습니다.
  3. ** 일관된 인터페이스 ** : 모든 엔터프라이즈 도구는 작업 및 매개 변수에 대한 동일한 패턴을 따릅니다.
  4. ** 오류 처리 ** : 각 엔티티티 도구는 도메인에 특정 오류를 처리 할 수 있습니다. 5.Easier discovery: 사용자는 각 법인에 대해 쉽게 사용할 수 있는 작업을 발견할 수 있습니다.

건축 다이어그램

부품 구조

키 구성 요소

  • Entity Tools: 각 도구는 Azure DevOps entity(projects, repositories, work items, etc.)를 나타냅니다. -Tool Registry: 기업 도구의 등록 및 실행 관리

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요.

README

원문 README의 일부입니다. 원문 보기.

Azure DevOps MCP Server

This MCP (Model Context Protocol) server provides tools for interacting with Azure DevOps services through AI assistants.

Architecture

The server follows an entity-based architecture that groups operations by resource type rather than exposing many atomic tools. This approach provides several benefits:

  1. Intuitive organization: Tools are organized by the entities they operate on (projects, repositories, work items, etc.)
  2. Reduced tool count: Instead of dozens of individual tools, we have a handful of entity tools with multiple operations
  3. Consistent interface: All entity tools follow the same pattern for operations and parameters
  4. Better error handling: Each entity tool can handle errors specific to its domain
  5. Easier discovery: Users can easily discover available operations for each entity

Architecture Diagram

flowchart TB
    Client[AI Assistant] -->|MCP Request| Server[MCP Server]
    Server -->|MCP Response| Client
    
    subgraph "Azure DevOps MCP Server"
        Server --> RequestHandler[Request Handler]
        RequestHandler --> ToolRegistry[Tool Registry]
        ToolRegistry --> EntityTools[Entity Tools]
        EntityTools --> ApiClient[API Client]
        ApiClient --> ErrorUtils[Error Utilities]
        ApiClient --> PaginationUtils[Pagination Utilities]
        ApiClient -->|HTTP Request| AzureDevOps[Azure DevOps API]
        AzureDevOps -->|HTTP Response| ApiClient
        ConfigManager[Configuration Manager] --> ApiClient
    end
    
    classDef primary fill:#4285F4,stroke:#0D47A1,color:white
    classDef secondary fill:#34A853,stroke:#0D652D,color:white
    classDef utility fill:#FBBC05,stroke:#866A00,color:white
    classDef external fill:#EA4335,stroke:#980905,color:white
    
    class Server,RequestHandler primary
    class ToolRegistry,EntityTools,ApiClient secondary
    class ErrorUtils,PaginationUtils,ConfigManager utility
    class Client,AzureDevOps external

Component Structure

classDiagram
    class EntityTool {
        +name: string
        +description: string
        +operations: Record~string, Function~
        +schemas: Record~string, ZodSchema~
        +getDefinition(): ToolDefinition
        +execute(args: unknown): Promise~any~
        #registerOperation(operation, handler, schema, description)
    }
    
    class ADOApiClient {
        +config: ADOApiConfig
        +connection: WebApi
        +getCoreApi()
        +getWorkItemTrackingApi()
        +getGitApi()
        +getPipelineApi()
        +handleError(error, context)
    }
    
    class ToolRegistry {
        +registerTool(tool: Tool)
        +getTool(name: string): Tool
        +getToolDefinitions(): ToolDefinition[]
    }
    
    class ErrorUtils {
        +createError(code, message, context)
        +handleApiError(error, source, operation)
GitHub에서 전체 README 보기

설치

docker run -i --rm -e ADO_ORGANIZATION=your-org -e ADO_PAT=your-pat azure-devops-mcp:local
MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →