d365-agent-mcpserver-dotnet\n\nC#/.NET implementation of the MCP Server for the Dynamics 365 AI Agent. について
d365-agent-mcpserver-dotnetは、Dynamics 365の業務操作をデータ照会・更新用の型付きツールとして提供する.NET製MCPサーバーです。D365 AI AgentシステムのMCPクライアント向けで、複数のインスタンスや法人への要求に対応します。
主な機能
- 01Dynamics 365操作ツール
- 02型付きODataクライアント連携
- 03Azure Key Vaultからの認証情報取得
- 04複数インスタンス・法人対応
- 05Dockerコンテナでのデプロイ
活用シーン
- 01顧客や発注書の詳細を照会
- 02販売注文の作成
- 03請求書転記のシミュレーション
- 04D365インスタンスへの操作振り分け
MCP 対応
互換クライアント向けにDynamics 365の操作をMCPツールとして公開します。ツール要求を受けてD365 OData APIを呼び出し、結果または標準MCPエラーを返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Dynamics 365 AI Agent - D365 MCP Server (.NET) (d365-agent-mcpserver-dotnet)
このリポジトリには、Dynamics 365 Model Context Protocol(MCP)サーバーの.NET Core 実装のソースコードが含まれています。このサーバーは D365 AI Agent システムの主要コンポーネントであり、Dynamics 365 のビジネスロジックとデータ操作を標準化された MCP ツールとして公開します。
概要
d365-agent-mcpserver-dotnet は Dynamics 365 専用のゲートウェイとして機能します。クライアント(主に d365-agent-mcpclient-ts ライブラリを介した d365-agent-orchestrator)から MCP ツールの実行リクエストを受け取り、D365 OData API に対する操作に変換します。
主な機能と役割
- MCP ツールの実装: 特定の Dynamics 365 操作(例:
getCustomerDetails、createSalesOrder、simulateInvoicePostToD365、getPurchaseOrderStatus)をカプセル化する一連の MCP ツールを定義し、実装します。 - D365 OData との通信:
d365-agent-odataclient-dotnetリポジトリから生成された、型安全な C# OData クライアントを使用して、Dynamics 365 OData エンドポイントとのすべての通信を行います。 - D365 認証: Dynamics 365 との安全な認証(通常はクライアント資格情報フロー)を管理し、Azure Key Vault から必要な資格情報を取得します。
- 複数インスタンスのサポート: MCP ツール呼び出しで渡されるパラメーターに基づき、複数の Dynamics 365 インスタンスまたは法人を対象とするリクエストを処理できるよう設計されています。
- 標準化されたインターフェイス: Model Context Protocol を介して D365 の機能を公開し、MCP に準拠するすべてのクライアントがツールを検出して使用できるようにします。
- エラー処理: D365 操作の堅牢なエラー処理を実装し、標準の MCP エラーレスポンスを介してエラーを返します。
- コンテナー化: Azure Container Apps(ACA)や Azure Kubernetes Service(AKS)などの Azure サービスにデプロイするため、Docker コンテナーとしてパッケージ化されています。
技術スタック
- .NET Core / ASP.NET Core(MCP サーバーエンドポイントのホスティング用)
- C#
- D365 Agent C# MCP SDK(
submodules/csharp-sdkまたは対応する NuGet パッケージから) - 生成された D365 OData クライアント(
d365-agent-odataclient-dotnetから) - MSAL.NET(Azure AD 認証用)
処理の流れ
d365-agent-orchestrator(具体的には、LangGraph エージェント、またはd365-agent-mcpclient-tsを使用する CopilotKit アクション)が、このサーバーに MCPCallToolリクエストを送信します。d365-agent-mcpserver-dotnetがリクエストを受信します。- 要求された MCP ツールを特定し、パラメーターを検証します。
- ツールの実装ロジックが、生成された D365 OData クライアント(
d365-agent-odataclient-dotnet)を使用して、Dynamics 365 OData API に対して必要な操作(データのクエリ、エンティティの作成/更新など)を実行します。 - D365 からの結果またはエラーを
McpResponseに格納します。 McpResponseがd365-agent-orchestratorに返されます。
はじめに
(詳細は後日追加予定です。通常は、リポジトリのクローン、.NET SDK のセットアップ、D365 環境と Azure Key Vault の設定、サーバーの実行が含まれます。)
詳細な開発計画については、このリポジトリの implementation.md を参照してください。
貢献
(該当する場合は、貢献ガイドラインの詳細を記載します)
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。