Your AI assistant finally
knows your X++
Copilot hallucinates X++ methods. It can't see your custom models, your ISV packages, or the 131,295 objects of ApplicationSuite alone. XppAtlas indexes your entire D365 F&O codebase and serves it to any AI agent over MCP — without your code ever leaving your network.
Request a demo Live on your codebase · 15-minute setup# Without: ✗ agent writes SalesTable::exists(salesId) // method doesn't exist — build fails # With XppAtlas: → check_symbol("SalesTable", "exists") ✓ exists: false · nearest_matches: exist ✓ agent writes SalesTable::exist(salesId) // verified — compiles first try
How it works
Everything runs on the developer's machine. No cloud upload, no per-seat agents, no IDE lock-in.
Index your dev box
XppAtlas builds a semantic + full-text + relation-graph index from your own PackagesLocalDirectory — standard Microsoft models, ISV packages, and your customizations, for the exact D365 version installed.
Everything stays local
The index lives on the developer's machine and queries run there too. Nothing is uploaded anywhere — cloud calls are disabled by default and never required.
Agents stop guessing
Claude Code, GitHub Copilot — any MCP-capable agent gets search, call graphs, extension points, and symbol verification. Hallucinations die at the source.
Built for D365 F&O, not adapted to it
General code-search tools see XML blobs. XppAtlas understands tables, forms, data entities, security artifacts, CoC extensions, and how they reference each other.
✓Anti-hallucination symbol check
The agent verifies a method, field, or enum value exists — including inherited and extension members — before writing code that uses it.
✓Semantic + keyword + graph search
Hybrid retrieval over code meaning, exact names, and the relation graph — posting class to table to form, in one query.
✓Extension-point discovery
CoC targets, delegates, data and form events — ranked, with callers and impact radius, so changes land where Microsoft intended.
✓Version-exact index
Built from your own PackagesLocalDirectory, so it always matches the exact build you run — 10.0.47 means 10.0.47. After a Microsoft upgrade, re-index and keep working.
✓Model-level access control
Hide vendor models from contractors. RBAC per model, with relation suppression so hidden code doesn't leak through cross-references.
✓Works with your agent
MCP standard: ready-made registration templates for Claude Code and GitHub Copilot (VS 2022 & VS Code); anything else that speaks MCP connects the same way. No proprietary IDE plugin.
check_symbolverify a method, field, or enum value exists — inherited and extension members includedsemantic_searchsimilarity search over X++ chunks — ask in plain English, get the methods that do itsearch_chunks_regexregex search over indexed source — the grep-equivalent probeexplore_artifactfull profile of an object: chunks, inbound and outbound relations, extensionsbuild_process_blueprinttrace a business process from an entry-point artifactestimate_change_radiuswhich artifacts a change would impact, before you make itrank_extension_pointsrank CoC targets, delegates, and events for an anchorreview_xpp_changereview X++ changes for common compile/runtime risksgenerate_scaffoldX++ stub scaffolds for supported template typesSee it on your codebase
We'll walk you through XppAtlas running against real D365 code — or set it up against yours. Tell us your team size and D365 version.
Request a demo hello@xppatlas.comFAQ
Questions teams ask before a demo.
Is my code uploaded anywhere?
No. Standard, ISV, and custom models are all indexed and queried on the developer's machine — the index is built from your own PackagesLocalDirectory and never leaves it. Your code is embedded with a local model that runs on CPU; cloud embedding APIs are disabled by default and never required. Everything runs offline after install — for fully air-gapped boxes, pre-stage the local embedding model (~400 MB), which otherwise downloads once on first use.
Which IDEs and AI agents does it work with?
XppAtlas is a standard MCP server. Claude Code and GitHub Copilot in Visual Studio 2022 and VS Code ship with ready-made registration templates; any other MCP-capable agent connects the same way. There is no proprietary IDE plugin — you keep your existing setup and add XppAtlas as an MCP server in the agent's configuration.
Does it understand our customizations?
Yes. Your custom and ISV models are indexed from your local PackagesLocalDirectory the same way standard code is: full-text, semantic, and cross-reference. The agent searches across all layers in one query — for example, it can trace a posting flow from your extension through an ISV class down into standard code.
What does setup require?
Python 3.11 or newer on the developer's machine and read access to your PackagesLocalDirectory. One pip install (~3 minutes), then indexing your custom models runs 5–10 minutes, once. XppAtlas reads metadata XML and X++ source from disk — no AOS access, no database access, no changes to your D365 environments.
How do we try it?
Request a demo — we'll walk you through XppAtlas running against real D365 code, or set it up against yours. Tell us your team size and D365 version.