AA

aaronsb/ado-mcp

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

17 stars 8 forks 品質 57 トレンド 21MIT

Azure DevOps MCP サーバー

概要

このMCP(Model Context Protocol)サーバーは、AIアシスタントを通じてAzure DevOpsサービスと連携するためのツールを提供しています。 サーバは、多くの原子工具を露出するのではなく、リソースタイプで操作をグループ化するエンティティティティ・ベースのアーキテクチャに従います。 このアプローチは、いくつかの利点を提供します。 1。 : ツールは、(プロジェクト、リポジトリ、作業項目など)上で動作するエンティティティティによって編成されます。 2。 : 個々のツールの数十の代わりに、複数の操作を持つエンティティティメントツールの便利な3を持っています。 : すべてのエンティティティツールは、操作とパラメータの同じパターンに従います。 4。 : 各エンティティティティツールは、そのドメインに固有のエラーを処理することができます。 5: ユーザーは、各エンティティティのための利用可能な操作を簡単に見つけることができます。 - : 各ツールは、主要なAzure DevOpsエンティティティ(プロジェクト、リポジトリ、作業項目など)を表し、複数の操作(リスト、取得、作成など)を提供します.

概要(AI 翻訳)

このMCP(Model Context Protocol)サーバーは、AIアシスタントを通じてAzure DevOpsサービスと連携するためのツールを提供しています。

アーキテクチャ

サーバは、多くの原子工具を露出するのではなく、リソースタイプで操作をグループ化するエンティティティティ・ベースのアーキテクチャに従います。 このアプローチは、いくつかの利点を提供します。

  1. 直観的な組織: ツールは、(プロジェクト、リポジトリ、作業項目など) 上で動作するエンティティティティによって編成されます。
  2. 引き起こされた用具の計算: 個々のツールの何十もの代わりに、複数の操作を持つエンティティティティメントツールが多数あります。 3.Consistentインターフェイス:すべてのエンティティティツールは、操作とパラメータの同じパターンに従う 4。Betterエラー処理: 各エンティティティツールは、ドメイン固有のエラーを処理することができます 5。より簡単な発見:ユーザーは、各組織の利用可能な操作を簡単に見つけることができます

###アーキテクチャ図

コンポーネント構造

##キーコンポーネント

-Entity Tools: 各ツールは、主要なAzure DevOpsエンティティティティティティティ(プロジェクト、リポジトリ、作業項目など)を表し、複数の操作(リスト、取得、作成など)を提供します。

  • ツールレジストリ:組織ツールの登録と実行の管理

このページは 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 のガイドから始めましょう →