D365 F&O MCP服务器
54个AI工具,了解D365FO代码库中的每个X++类、表、方法和EDT
 ](https://nodejs.org/) 
*专为在Visual Studio中编写X++的D365FO开发人员而设计,不适用于通用web开发*
______________________________________________________________________
为什么存在
GitHub Copilot擅长C#、Python和JavaScript——这些语言拥有丰富的公共培训数据。X++是不同的。您的D365FO代码库是私有的、高度定制的、深度互联的:数千个CoC扩展层叠在标准Microsoft代码之上,ISV包添加了自己的表和类,自定义EDT驱动了数十种表单的字段验证。Copilot从未见过这些。
结果是AI自信地生成了无法编译的代码:错误的方法签名、缺失的参数、表上不存在的字段、CoC链断裂,因为Copilot不知道已经包装了该方法的扩展。
此MCP服务器通过预索引整个D365FO安装(标准和自定义模型中的数十万个符号)并将其作为54个专用工具暴露给Copilot来解决这个问题。在生成任何X++代码之前,Copilot可以查找精确的方法签名,检查已经存在的CoC扩展,跟踪安全层次结构,查找标签翻译,并了解数据模型的完整形状。结果是代码在第一次尝试时编译并与现有自定义正确集成。
| 没有此服务器 | 有此服务器 |
|---|---|
| 复制人猜测方法签名→ 编译错误 | 从实际代码库中提取的精确签名 |
| “CustTable.validateWrite()有任何CoC包装器吗?”需要手动AOT搜索 | find_coc_extensions 在\ 所有场景的完整分步指南: docs/QUICK_START.md |
先决条件 --通过安装所需软件 d365fo.tools:
Install-D365SupportingSoftware -Name vscode,python,node.jsgit clone https://github.com/dynamics365ninja/d365fo-mcp-server.git
cd d365fo-mcp-server
npm install
# Build the C# bridge (required on Windows D365FO VMs for file create/modify)
cd bridge\D365MetadataBridge
dotnet build -c Release
cd ..\.. # Back to repo root
copy .env.example .env # Set PACKAGES_PATH, CUSTOM_MODELS, LABEL_LANGUAGES, ...
npm run extract-metadata # Extract XML from D365FO packages
npm run build-database # Build SQLite index
npm run devUDE/电动平台工具? 跑npm run select-config而不是设置PACKAGES_PATH手动。
______________________________________________________________________
连接到GitHub Copilot
1. 启用 *Copilot中的MCP服务器* 在 github/设置/复制/功能
2. 在Visual Studio中: 工具→ 选项→ GitHub→ 副驾驶 → check *在代理模式下启用MCP服务器集成*
3. 创建 %USERPROFILE%\.mcp.json (涵盖机器上的所有解决方案,推荐)或放置 .mcp.json 在特定的旁边 .sln 文件:
{
"servers": {
"d365fo-azure": {
"url": "https://your-server.azurewebsites.net/mcp/"
},
"d365fo-local": {
"command": "node",
"args": ["K:\\d365fo-mcp-server\\dist\\index.js"],
"env": {
"MCP_SERVER_MODE": "write-only",
"D365FO_SOLUTIONS_PATH": "K:\\VSProjects\\MySolution",
"D365FO_WORKSPACE_PATH": "K:\\AosService\\PackagesLocalDirectory\\YourPackageName\\YourModelName"
}
}
}
}4. 复制Copilot指令文件,以便Copilot了解D365FO工作流程规则:
# Place .github in a parent folder shared by all your D365FO solutions, e.g.:
Copy-Item -Path ".github" -Destination "C:\source\repos\" -Recurse提示: Visual Studio 2022搜索 .github\copilot-instructions.md 从解决方案文件夹向上,因此公共父目录中的一个副本覆盖了下面的所有解决方案——不需要将其单独复制到每个解决方案中。完整配置选项 (UDE路径、显式projectPath、solutionPath): docs/MCP_CONFIG.md
______________________________________________________________________
Azure部署
在Azure App Service上托管,因此整个团队共享一个实例——没有人需要在本地运行服务器。
| 资源 | 配置 | 每月成本 |
|---|---|---|
| 应用服务基本B3 | 4个vCPU,7 GB RAM | ~52美元 |
| Blob存储 | ~2.5–3.5 GB(符号+标签,不带/带UnitTest型号) | ~3美元 |
| 总计 | 约55美元/月 |
启动时,数据库会自动从Azure Blob存储下载。
安装指南: docs/SETUP.md ·CI/CD管道: docs/PIPELINE.md

______________________________________________________________________
文档
| 文件 | 内容 |
|---|---|
| docs/QUICK_START.md | 在这里开始 --跑步的5个步骤,全部 .mcp.json 参数,日志记录 |
| docs/SETUP.md | 详细的安装、配置、所有部署场景A-F |
| docs/MCP_CONFIG.md | .mcp.json reference--工作区路径、UDE、项目设置、所有环境变量 |
| docs/MCP_TOOLS.md | 所有54个带有参数和示例提示的工具 |
| docs/USAGE_EXAMPLES.md | 实例:搜索、CoC、SysOperation、安全 |
| docs/CUSTOM_EXTENSIONS.md | ISV/自定义模型配置和多模型提取 |
| docs/WORKSPACE_DETECTION.md | 服务器如何自动检测D365FO项目、模型和包路径 |
| docs/ARCHITECTURE.md | 技术架构、双数据库设计、缓存失效 |
| docs/BRIDGE.md | C#元数据桥引用——在Windows虚拟机上所有写入操作都是必需的 |
| docs/SETUP_AZURE.md | 将服务器部署到Azure应用服务(管理员/DevOps指南) |
| docs/PIPELINE.md | 通过Azure DevOps自动提取和部署元数据 |
| docs/TEST.md | 运行测试、测试结构、模拟指南、覆盖率 |
| docs/SQLITE_DEPENDENCY.md | SQLite与C#Bridge——哪些工具使用哪些数据源 |
