d365-agent-mcpserver-dotnet\n\nC#/.NET implementation of the MCP Server for the Dynamics 365 AI Agent.
@ntrtd
.NET Core D365 MCP Server exposing Dynamics 365 tools. Uses .NET OData client.
Overview
What is d365-agent-mcpserver-dotnet?
d365-agent-mcpserver-dotnet is a .NET Core implementation of the Model Context Protocol (MCP) server for Dynamics 365. It acts as a gateway, receiving MCP tool execution requests and translating them into operations against the Dynamics 365 OData API. It is intended for developers building AI agents or orchestrators that need standardized, programmatic access to D365 business logic and data.
How to use d365-agent-mcpserver-dotnet?
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.
Key features of d365-agent-mcpserver-dotnet
- 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.
Use cases of d365-agent-mcpserver-dotnet
- An AI assistant queries customer details from Dynamics 365 on demand.
- A workflow automation creates sales orders directly in D365 via MCP calls.
- A reporting tool retrieves purchase order statuses from different legal entities.
- A simulation service tests invoice posting logic against D365 APIs.
FAQ from d365-agent-mcpserver-dotnet
What are the main dependencies and runtime requirements?
The server requires .NET Core / ASP.NET Core, the D365 Agent C# MCP SDK, a generated D365 OData client, and MSAL.NET for authentication. It is containerized with Docker for deployment on Azure Container Apps or AKS.
How does the server authenticate with Dynamics 365?
It uses the Client Credentials OAuth flow, retrieving credentials (client ID, client secret) from Azure Key Vault to authenticate against your Azure AD tenant.
Does d365-agent-mcpserver-dotnet support multiple D365 instances?
Yes. It is designed to handle requests targeting multiple Dynamics 365 instances or legal entities, based on parameters passed in the MCP tool calls.
How does the server communicate errors back to the client?
It implements robust error handling for D365 operations and sends errors back via standard MCP error responses, ensuring the client receives clear failure information.
Is the server deployed as a container?
Yes. It is packaged as a Docker container for deployment to Azure services like Azure Container Apps (ACA) or Azure Kubernetes Service (AKS).