项目简介

该项目展示了一个基于Model Context Protocol (MCP) 的服务器,它能作为桥梁连接Microsoft Dynamics 365 Finance & Operations (D365FO) 环境与LLM客户端(如VS Code和GitHub Copilot)。它允许用户通过自然语言命令与D365FO系统进行交互,执行数据查询、操作和元数据分析,从而提供智能辅助功能。

主要功能点

  • D365FO数据访问: 通过OData端点直接查询和操作D365FO的数据实体,实现业务数据的读取和写入。
  • 元数据探索: 发现并探索D365FO的实体架构、字段、枚举值和可用的操作,帮助用户理解系统结构。
  • 实时操作: 对D365FO数据执行创建、读取、更新、删除(CRUD)等实时操作,直接影响业务系统。
  • 智能辅助: 为D365FO的开发、集成和管理任务提供AI驱动的建议和自动化支持,提高工作效率。

安装步骤

  1. 准备开发环境: 确保您已安装Visual Studio Code,并安装了GitHub Copilot扩展且拥有活跃的Copilot订阅。
  2. D365FO环境访问: 确保您拥有一个可访问的D365FO环境。
  3. Azure AD应用注册:
    • 在Azure AD中为您的D365FO环境注册一个应用程序。
    • 记录下您的 Tenant IDClient ID (应用程序ID) 和 Client Secret (客户端密钥) 以备后续使用。
  4. D365FO权限配置: 确保您的Azure AD应用程序已获得在D365FO中访问组织用户的必要权限,并根据需求授予相应的API权限。
  5. 安装Python包管理器: 按照uv安装指南安装'uvx'(一个Python包管理器)。

服务器配置

此MCP服务器设计为通过标准输入输出('stdio')与客户端通信。您需要在MCP客户端(例如VS Code的'.vscode/mcp.json'文件)中配置服务器的启动信息。以下是您需要配置的关键信息和参数说明:

  • 服务器名称 (Server Name): 'd365fo-mcp-server'
  • 连接类型 (Type): 'stdio' (表示服务器通过标准输入/输出流与客户端进行通信)
  • 启动命令 (Command): 'uvx' (用于执行Python包的工具)
  • 命令参数 (Arguments):
    • '--from d365fo-client@latest': 指示'uvx'从'd365fo-client'包的最新版本中加载所需组件。
    • 'd365fo-mcp-server': 指定要作为MCP服务器启动的模块或脚本的名称。
  • 环境变量 (Environment Variables):
    • 'D365FO_CLIENT_ID': 您的Azure AD应用程序的客户端ID。
    • 'D365FO_CLIENT_SECRET': 您的Azure AD应用程序的客户端密钥。
    • 'D365FO_TENANT_ID': 您的Azure AD租户ID。

基本使用方法

配置完成后,请重启VS Code。您可以通过以下方式与D365FO环境进行交互:

  1. 打开命令面板: 在VS Code中按下 'Ctrl+Shift+P'。
  2. 输入自然语言命令: 在命令面板或GitHub Copilot聊天窗口中,输入您希望执行的任务,例如:
    • 环境发现: “Show me information about my D365FO environment” (显示D365FO环境详情)
    • 实体探索: “Find all customer-related entities” (查找所有与客户相关的实体)
    • 数据查询: “Get the top 10 customers by credit limit” (获取信用额度最高的10位客户)
    • 数据操作: “Create a new customer record” (创建一条新的客户记录)
    • 元数据分析: “Analyze sales order entities and their relationships” (分析销售订单实体及其关系)

服务器将处理这些请求,与D365FO进行交互,并将结果返回到VS Code中。

信息

分类

商业系统