d365-agent-mcpserver-dotnet\n\nC#/.NET implementation of the MCP Server for the Dynamics 365 AI Agent.
LocalAbout d365-agent-mcpserver-dotnet\n\nC#/.NET implementation of the MCP Server for the Dynamics 365 AI Agent.
d365-agent-mcpserver-dotnet is a .NET MCP server that maps Dynamics 365 business operations to typed tools for querying and updating data. It is designed for MCP clients in the D365 AI Agent system and supports requests targeting multiple instances or legal entities.
Key features
- 01Dynamics 365 operation tools
- 02Typed OData client access
- 03Azure Key Vault credentials
- 04Multiple instance and entity support
- 05Docker container deployment
Use cases
- 01Querying customer or purchase order details
- 02Creating sales orders
- 03Simulating invoice posting
- 04Routing operations to a D365 instance
MCP support
The server exposes Dynamics 365 operations as MCP tools for compatible clients. It handles tool requests, calls the D365 OData API, and returns results or standard MCP errors.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEDynamics 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-dotnetrepository) 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-sdkor a corresponding NuGet package) - Generated D365 OData Client (from
d365-agent-odataclient-dotnet) - MSAL.NET (for Azure AD authentication)
Interaction Flow
- The
d365-agent-orchestrator(specifically a LangGraph agent or a CopilotKit action usingd365-agent-mcpclient-ts) sends an MCPCallToolrequest to this server. - The
d365-agent-mcpserver-dotnetreceives the request. - It identifies the requested MCP tool and validates parameters.
- 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). - The result or any error from D365 is packaged into an
McpResponse. - The
McpResponseis sent back to thed365-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)
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.