d365-agent-mcpserver-dotnet\n\nC#/.NET implementation of the MCP Server for the Dynamics 365 AI Agent.

by ntrtd

2 stars
190 downloads
Not rated
GitHub

About

.NET Core D365 MCP Server exposing Dynamics 365 tools. Uses .NET OData client.

Details

Author
ntrtd
GitHub stars
2
Downloads
190
Categories
AI

- Defines and implements a suite of MCP tools for D365 operations.
- Uses a generated, type-safe C# OData client to communicate with D365.
- Manages secure authentication via Client Credentials flow and Azure Key Vault.
- Supports multiple Dynamics 365 instances or legal entities per request.
- Exposes D365 capabilities through the standardized MCP interface.
- Packaged as a Docker container for deployment to Azure services.

Clone the repository, set up the .NET SDK, configure the environment for your Dynamics 365 instance and Azure Key Vault for credentials, then run the server. It exposes MCP tools such as getCustomerDetails, createSalesOrder, simulateInvoicePostToD365, and getPurchaseOrderStatus. Clients (e.g., the d365-agent-orchestrator) send CallTool requests to this server.

Dynamics 365 AI Agent - D365 MCP Server (.NET) (d365-agent-mcpserver-dotnet)

This repository contains the source code for the .NET Core implementation of the Dynamics 365 Model Context Protocol (MCP) Server. This server is a key component of the D365 AI Agent system, responsible for exposing Dynamics 365 business logic and data operations as standardized MCP tools.

Overview

The d365-agent-mcpserver-dotnet acts as a dedicated gateway to Dynamics 365. It receives MCP tool execution requests from clients (primarily the d365-agent-orchestrator via the d365-agent-mcpclient-ts library) and translates them into operations against the D365 OData API.

Key Features & Responsibilities

MCP Tool Implementation: Defines and implements a suite of MCP tools that encapsulate specific Dynamics 365 operations (e.g., getCustomerDetails, createSalesOrder, simulateInvoicePostToD365, getPurchaseOrderStatus).
D365 OData Interaction: Utilizes a generated, type-safe C# OData client (from the d365-agent-odataclient-dotnet repository) to perform all communications with the Dynamics 365 OData endpoints.
D365 Authentication: Manages secure authentication (typically Client Credentials flow) with Dynamics 365, retrieving necessary credentials from Azure Key Vault.
Multi-Instance Support: Designed to handle requests targeting multiple Dynamics 365 instances or legal entities, based on parameters passed in the MCP tool calls.
Standardized Interface: Exposes D365 capabilities via the Model Context Protocol, allowing any MCP-compliant client to discover and use its tools.
Error Handling: Implements robust error handling for D365 operations and communicates errors back via standard MCP error responses.
Containerization: Packaged as a Docker container for deployment to Azure services like Azure Container Apps (ACA) or Azure Kubernetes Service (AKS).

Technology Stack

.NET Core / ASP.NET Core (for hosting the MCP server endpoint)
C#
D365 Agent C# MCP SDK (from submodules/csharp-sdk or a corresponding NuGet package)
Generated D365 OData Client (from d365-agent-odataclient-dotnet)
MSAL.NET (for Azure AD authentication)

Interaction Flow

1. The d365-agent-orchestrator (specifically a LangGraph agent or a CopilotKit action using d365-agent-mcpclient-ts) sends an MCP CallTool request to this server.
2. The d365-agent-mcpserver-dotnet receives the request.
3. It identifies the requested MCP tool and validates parameters.
4. The tool implementation logic uses the generated D365 OData client (d365-agent-odataclient-dotnet) to perform the required operations against the Dynamics 365 OData API (e.g., querying data, creating/updating entities).
5. The result or any error from D365 is packaged into an McpResponse.
6. The McpResponse is sent back to the d365-agent-orchestrator.

Getting Started

(Details to be added - typically involves cloning, .NET SDK setup, configuration for D365 environment and Azure Key Vault, and running the server).
Refer to the implementation.md in this repository for a detailed development plan.

Contribution

(Details on contribution guidelines if applicable)

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.