
aaronsb/ado-mcp
Developer toolsこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
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サービスと連携するためのツールを提供しています。
アーキテクチャ
サーバは、多くの原子工具を露出するのではなく、リソースタイプで操作をグループ化するエンティティティティ・ベースのアーキテクチャに従います。 このアプローチは、いくつかの利点を提供します。
- 直観的な組織: ツールは、(プロジェクト、リポジトリ、作業項目など) 上で動作するエンティティティティによって編成されます。
- 引き起こされた用具の計算: 個々のツールの何十もの代わりに、複数の操作を持つエンティティティティメントツールが多数あります。 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:
- Intuitive organization: Tools are organized by the entities they operate on (projects, repositories, work items, etc.)
- Reduced tool count: Instead of dozens of individual tools, we have a handful of entity tools with multiple operations
- Consistent interface: All entity tools follow the same pattern for operations and parameters
- Better error handling: Each entity tool can handle errors specific to its domain
- 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)
インストール
docker run -i --rm -e ADO_ORGANIZATION=your-org -e ADO_PAT=your-pat azure-devops-mcp:local