Dynamics 365 AI代理-D365 MCP服务器(.NET)(D365代理mcpserver)
此存储库包含的源代码。NET Core实现的Dynamics 365模型上下文协议(MCP)服务器。该服务器是D365 AI Agent系统的关键组件,负责将Dynamics 365业务逻辑和数据操作作为标准化的MCP工具公开。
概述
这 d365-agent-mcpserver-dotnet 充当Dynamics 365的专用网关。它接收来自客户端的MCP工具执行请求(主要是 d365-agent-orchestrator 通过 d365-agent-mcpclient-ts 库),并将它们转换为针对D365 OData API的操作。
主要特征和责任
- MCP工具实施: 定义并实现了一套MCP工具,这些工具封装了特定的Dynamics 365操作(例如。,
getCustomerDetails,createSalesOrder,simulateInvoicePostToD365,getPurchaseOrderStatus). - D365 OData交互: 使用生成的、类型安全的C#OData客户端(来自
d365-agent-odataclient-dotnet存储库)以执行与Dynamics 365 OData端点的所有通信。 - D365身份验证: 使用Dynamics 365管理安全身份验证(通常是客户端凭据流),从Azure密钥库检索必要的凭据。
- 多实例支持: 设计用于根据MCP工具调用中传递的参数处理针对多个Dynamics 365实例或法律实体的请求。
- 标准化接口: 通过模型上下文协议公开D365功能,允许任何符合MCP的客户端发现和使用其工具。
- 错误处理: 对D365操作实施稳健的错误处理,并通过标准MCP错误响应将错误传达回来。
- 集装箱化: 打包为Docker容器,用于部署到Azure服务,如Azure容器应用程序(ACA)或Azure Kubernetes服务(AKS)。
技术栈
- .NET核心/ASP。NET核心 (用于托管MCP服务器端点)
- C
- D365代理C#MCP SDK (从
submodules/csharp-sdk或相应的NuGet包) - 生成的D365 OData客户端 (从
d365-agent-odataclient-dotnet) - MSAL。网 (用于Azure AD身份验证)
交互流程
- 这
d365-agent-orchestrator(特别是LangGraph代理或CopilotKit操作,使用d365-agent-mcpclient-ts)发送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密钥库的配置以及运行服务器)。 请参阅 implementation.md 在这个存储库中查看详细的开发计划。
贡献
(捐款指南的详细信息(如适用))
