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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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.
    47
    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.
    287
    12
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MuhammadAwaisGill/fno-intelligence-engine'

If you have feedback or need assistance with the MCP directory API, please join our Discord server