Skip to main content
Glama
MuhammadAwaisGill

fno-intelligence-engine

D365 F&O Developer Intelligence Engine

A local, offline MCP (Model Context Protocol) server that grounds AI coding assistants (Cursor, Claude Code, GitHub Copilot) on real Dynamics 365 Finance & Operations AOT metadata — so they stop hallucinating field names, method signatures, and Chain of Command (CoC) wrappers when generating X++ code.

Status: early build, Part 1 (metadata ingestion) in progress. Not yet a working MCP server. See Project Status below.

The problem

D365 F&O stores its entire application model (tables, classes, forms, extended data types) as XML under PackagesLocalDirectory — often 500,000+ objects per environment. AI coding assistants have never seen this XML; they only know generic X++ syntax from training. Ask one to extend a table or write a Chain of Command wrapper, and it will confidently reference fields and methods that don't exist in your environment. This isn't a prompting problem — the AI is missing data, not instructions.

Related MCP server: Seta MCP

The approach

  1. Ingestion (this repo, in progress) — parse raw AxTable/AxClass XML into structured, correct JSON using lxml, with regex extraction for Chain of Command patterns embedded in X++ source text.

  2. Indexing (planned) — load parsed metadata into SQLite + FTS5 for sub-10ms local lookups.

  3. Exposure (planned) — expose the index to AI agents as MCP tools (get_table_schema, find_coc_methods, etc.) over stdio.

  4. Advanced modules (planned) — a pattern-based X++ best-practices linter, then a cross-model dependency graph.

What's actually built right now

  • schema/table_schema.json — JSON Schema for parsed AxTable metadata, validated against a real VendTrans table export

  • schema/class_schema.json — JSON Schema for parsed AxClass / Chain of Command metadata. Not yet validated against a full real class file (see file header for details)

  • parse_table.py — working parser: AxTable XML → schema-conformant JSON

  • parse_class.py — regex-based CoC extractor. Written but not yet run against real class bytes — treat every regex here as unproven

  • validate.py — validates parser output against the JSON Schema

Project status

This project is a work in progress, built as a learning exercise while studying D365 F&O development. Some concrete facts worth stating plainly:

  • A mature, actively maintained open-source project already solves this problem at a larger scope: dynamics365ninja/d365fo-mcp-server (26 MCP tools, live environment connection, form pattern engine, safe metadata writes via Microsoft's IMetadataProvider). This repo does not claim to improve on it or compete with it.

  • This project differs in scope and design, not necessarily in quality: Python instead of TypeScript, read-only and built against static AOT XML exports rather than a live environment connection, and currently limited to the ingestion layer only.

  • The value of this project, honestly stated, is in understanding the problem and the parsing/indexing approach deeply enough to explain the design decisions — not in being first or unique.

Requirements

  • Python 3.10+

  • lxml

  • jsonschema (for schema validation during development)

pip install lxml jsonschema

Fixtures

Fixtures are AOT XML exports from a local, offline Hyper-V VM running Microsoft's standard USMF/DAT demo data, plus a custom model built from scratch with no third-party or organizational IP. See fixtures/tables/ and fixtures/classes/ — populate these locally with your own exports; they are not included in this template.

License

MIT

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to explore metadata, query data, and perform write operations across multiple Microsoft Dynamics 365 Finance & Operations environments. It features specialized tools for OData execution and data analysis with built-in read-only safety for production environments.
    20
    10
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to search and analyze Microsoft Dynamics 365 Finance & Operations artifacts, read local source code, and generate context-aware solutions through natural language.
    40
    12
    -