Private beta — Dynamics 365 F&O

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
agent session — with and without XppAtlas
# 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.

116 MCP tools — the ones agents reach for first
check_symbolverify a method, field, or enum value exists — inherited and extension members included
semantic_searchsimilarity search over X++ chunks — ask in plain English, get the methods that do it
search_chunks_regexregex search over indexed source — the grep-equivalent probe
explore_artifactfull profile of an object: chunks, inbound and outbound relations, extensions
build_process_blueprinttrace a business process from an entry-point artifact
estimate_change_radiuswhich artifacts a change would impact, before you make it
rank_extension_pointsrank CoC targets, delegates, and events for an anchor
review_xpp_changereview X++ changes for common compile/runtime risks
generate_scaffoldX++ stub scaffolds for supported template types
🔒

Your code never leaves your network

Standard, ISV, and custom models are indexed and queried locally on each developer's machine — the index is built from your own PackagesLocalDirectory and stays there. Your code is embedded with a local model that runs on CPU; cloud embedding APIs are disabled by default and never required. Air-gapped environments supported.

See 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.com

FAQ

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.