项目简介
该项目展示了一个基于Model Context Protocol (MCP) 的服务器,它能作为桥梁连接Microsoft Dynamics 365 Finance & Operations (D365FO) 环境与LLM客户端(如VS Code和GitHub Copilot)。它允许用户通过自然语言命令与D365FO系统进行交互,执行数据查询、操作和元数据分析,从而提供智能辅助功能。
主要功能点
- D365FO数据访问: 通过OData端点直接查询和操作D365FO的数据实体,实现业务数据的读取和写入。
- 元数据探索: 发现并探索D365FO的实体架构、字段、枚举值和可用的操作,帮助用户理解系统结构。
- 实时操作: 对D365FO数据执行创建、读取、更新、删除(CRUD)等实时操作,直接影响业务系统。
- 智能辅助: 为D365FO的开发、集成和管理任务提供AI驱动的建议和自动化支持,提高工作效率。
安装步骤
- 准备开发环境: 确保您已安装Visual Studio Code,并安装了GitHub Copilot扩展且拥有活跃的Copilot订阅。
- D365FO环境访问: 确保您拥有一个可访问的D365FO环境。
- Azure AD应用注册:
- 在Azure AD中为您的D365FO环境注册一个应用程序。
- 记录下您的 Tenant ID、Client ID (应用程序ID) 和 Client Secret (客户端密钥) 以备后续使用。
- D365FO权限配置: 确保您的Azure AD应用程序已获得在D365FO中访问组织用户的必要权限,并根据需求授予相应的API权限。
- 安装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环境进行交互:
- 打开命令面板: 在VS Code中按下 'Ctrl+Shift+P'。
- 输入自然语言命令: 在命令面板或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中。
信息
分类
商业系统