D365 F&O Server
БесплатноНе проверенEnables AI-assisted X++ development for Dynamics 365 Finance and Operations by pre-indexing the entire codebase and providing 54 specialized tools for metadata
Описание
Enables AI-assisted X++ development for Dynamics 365 Finance and Operations by pre-indexing the entire codebase and providing 54 specialized tools for metadata lookup, code generation, and best practice validation.
README
26 AI tools that know every X++ class, table, form, and EDT in your D365FO codebase
License: MIT Node.js TypeScript Tests
Grounded AI development for Dynamics 365 Finance & Operations — works with GitHub Copilot and Claude Code
Install in VS Code Install in VS Code Insiders Add to Cursor
One-click install connects to an already-deployed server — VS Code asks for the URL, Cursor installs a placeholder to edit. Visual Studio & Claude Code: see Quick Start.
Why
AI assistants excel at C#, Python, and JavaScript. X++ is different: your D365FO codebase is private, deeply customized, and invisible to every model — so AI confidently generates code that doesn't compile.
This server pre-indexes your entire D365FO installation (580 000+ symbols across standard, ISV, and custom models) and exposes it as 26 specialized MCP tools. Every signature, every CoC wrapper, every label, every form pattern — verified against your real metadata before the AI writes a single line.
| Task | Without this server | With this server |
|---|---|---|
| Method signatures | Guessed → compile errors | Exact, from your codebase |
| Existing CoC wrappers | Manual AOT search | extension_info(mode="coc") in < 50 ms |
| New forms | Hand-written XML, broken patterns | Cloned from reference forms, validated against the pattern catalog |
| Labels | Hardcoded strings | Right @SYS/@MODULE key found instantly |
| Security chains | Hours of manual tracing | Role → Duty → Privilege → Entry Point in one call |
| Generated code | Hallucinated fields and types | Every reference proven against the index, gated before write |
Capabilities
| Feature | Description |
|---|---|
| 🔍 Full-codebase intelligence | 580K+ symbols indexed: classes, tables, forms, EDTs, enums, labels (20M+ rows), security artifacts — FTS5 search in < 10 ms |
| 🛡️ Grounded generation | Fail-closed gates: prepare issues grounding tokens, validate_code(mode="references") proves every identifier, validate_code(mode="syntax") enforces best practices — hallucinated code never reaches disk |
| 🧩 Form pattern engine | Complete catalog of Microsoft form patterns and sub-patterns: recommends the right pattern, clones reference forms with datasource re-binding, deterministically expands patterns that have no reference form, auto-repairs a form's missing required controls, validates structure and blocks invalid writes |
| ✍️ Safe metadata writes | C# bridge uses Microsoft's own IMetadataProvider — no string-replacement XML corruption, automatic .rnrproj registration, one-call undo |
| 🏗️ SDLC integration | MSBuild compilation with structured diagnostics, DB sync, xppbp best practices, SysTestRunner — all from chat |
| 📐 X++ knowledge base | Queryable rules: select grammar, CoC authoring, financial dimensions, the posting engine (LedgerVoucher), number sequences, SysExtension, Electronic Reporting, AX2012→D365FO migration — prevents deprecated APIs |
Pattern-grounded form development
Forms are the hardest artifact to generate correctly — each pattern dictates required containers, ordering, and allowed sub-patterns. The form pattern engine makes it a guided pipeline:
flowchart LR
A["object_patterns<br/>(domain=form, action=analyze)"] --> B["object_patterns<br/>(domain=form, action=spec)"]
B --> C["generate_object<br/>objectType=form, cloneFrom"]
C --> D["object_patterns<br/>(domain=form, action=validate) FP001–FP010"]
D -->|clean| E["d365fo_file<br/>(action=create) write + project"]
D -->|errors| C
Structural violations (wrong order, missing container, disallowed control) block the write — recommendations only warn. Mined pattern statistics from your own environment ground every suggestion in reality.
Quick Start
Pick your path:
| Path | Who | Install effort |
|---|---|---|
| A — Azure client | Team member, server already deployed | .mcp.json only — 2 minutes |
| B — Hybrid (recommended for teams) | Azure search + local writes on your VM | Clone + build, no indexing |
| C/E — Local | Single developer, everything on the VM | Clone + build + index (~15 min) |
Full walkthrough with all scenarios: docs/QUICK_START.md
Interactive setup (recommended)
After cloning and npm install, the management CLI walks you through everything else — scenario selection, C# bridge build, .env configuration, index build — and prints the .mcp.json block to paste:
git clone https://github.com/dynamics365ninja/d365fo-mcp-server.git K:\d365fo-mcp-server
cd K:\d365fo-mcp-server
npm install
npm run setup # first-time setup wizard
npm run doctor # health check — verifies Node, build, index, bridge
Day-to-day management runs through the same CLI (npx d365fo-mcp or npm run cli --): start, update, index, and instance add/list/run/rebuild/upgrade for multi-instance setups. Every command works non-interactively with arguments, or asks with predefined choices when run bare.
Manual setup
# Local / hybrid install (on the D365FO VM)
git clone https://github.com/dynamics365ninja/d365fo-mcp-server.git K:\d365fo-mcp-server
cd K:\d365fo-mcp-server
npm install
cd bridge\D365MetadataBridge; dotnet build -c Release; cd ..\.. # C# bridge — required for writes
npm run build
# Local only — build the metadata index (skip for hybrid)
copy .env.example .env # set PACKAGES_PATH, CUSTOM_MODELS
npm run extract-metadata
npm run build-database
UDE / Power Platform Tools? Run
npm run select-configinstead of editingPACKAGES_PATH.
Connect GitHub Copilot
- Enable MCP servers in Copilot at github.com/settings/copilot/features
- Visual Studio → Tools → Options → GitHub → Copilot → Enable MCP server integration in agent mode
- Create
%USERPROFILE%\.mcp.json:
{
"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:\\repos\\MySolution\\projects",
"D365FO_WORKSPACE_PATH": "K:\\AosService\\PackagesLocalDirectory\\YourPackage\\YourModel"
}
}
}
}
- Copy the instruction files into a parent folder of your solutions (one copy covers everything beneath it):
Copy-Item -Path ".github" -Destination "C:\source\repos\" -Recurse
All options: docs/MCP_CONFIG.md
Connect Claude Code
claude mcp add-json --scope user d365fo-mcp-tools '{"type":"http","url":"https://your-server.azurewebsites.net/mcp/","alwaysLoad":true}'
Copy-Item "K:\d365fo-mcp-server\CLAUDE.template.md" "C:\source\repos\CLAUDE.md"
Stdio variant and troubleshooting: docs/CLAUDE_CODE_SETUP.md
Verify
Open the AI chat (Copilot Agent Mode / Claude Code) and ask:
What tables contain "CustAccount" field?
A search tool call returning results from your codebase = you're connected.
Azure Deployment
One shared instance for the whole team — the metadata index lives in Blob Storage and downloads automatically on startup.
Deployment guide: docs/SETUP_AZURE.md · CI/CD automation: docs/PIPELINES.md
Documentation
| Getting started | Reference | Operations |
|---|---|---|
| Quick Start — 5 steps to running | All 26 tools | Azure deployment |
| Setup scenarios A–F | .mcp.json reference | DevOps pipelines |
| Claude Code setup | Architecture | Testing |
| Usage examples — real tool chains | C# Bridge | Custom / ISV models |
| Workspace detection | SQLite vs Bridge | |
| Backlog — deferred work & ideas |
License
MIT
Установка D365 F&O Server
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/dynamics365ninja/d365fo-mcp-serverFAQ
D365 F&O Server MCP бесплатный?
Да, D365 F&O Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для D365 F&O Server?
Нет, D365 F&O Server работает без API-ключей и переменных окружения.
D365 F&O Server — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить D365 F&O Server в Claude Desktop, Claude Code или Cursor?
Открой D365 F&O Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare D365 F&O Server with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
