Skip to main content
Glama
MuhammadAwaisGill

fno-intelligence-engine

D365 F&O Developer Intelligence Engine

Ein lokaler, offline arbeitender MCP-Server (Model Context Protocol), der KI-Coding-Assistenten (Cursor, Claude Code, GitHub Copilot) auf den echten AOT-Metadaten von Dynamics 365 Finance & Operations verankert – damit sie bei der Generierung von X++-Code keine Feldnamen, Methodensignaturen und Chain-of-Command-Wrapper (CoC) mehr erfinden.

Status: Früher Build, Teil 1 (Metadaten-Erfassung) in Arbeit. Noch kein funktionierender MCP-Server. Siehe Projektstatus unten.

Das Problem

D365 F&O speichert sein gesamtes Anwendungsmodell (Tabellen, Klassen, Formulare, erweiterte Datentypen) als XML unter PackagesLocalDirectory – oft mehrere 500.000 Objekte pro Umgebung. KI-Coding-Assistenten haben diesem XML noch nie gesehen; sie kennen nur die generische X++-Syntax aus dem Training. Bittest du einen, eine Tabelle zu erweitern oder einen Chain-of-Command-Wrapper zu schreiben, und er wird selbstverständlich Feldnamen und Methoden referenzieren, die in deiner Umgebung nicht existieren. Das ist kein prompting Problem – der KI fehlen Daten, nicht Anweisungen.

Related MCP server: Seta MCP

Der Ansatz

  1. Erfassung (in diesem Repo, in Arbeit) – parst rohe AxTable/AxClass-XML mit lxml in strukturiertes, korrektes JSON; RegEx-Ausdrücke extrahieren Chain-of-Command-Muster, die im X++-Quelltext eingebettet sind.

  2. Indexierung (geplant) – lädt die parsed Metadaten in SQLite + FTS5 für lokale Abfragen unter 10ms.

  3. Exposition (geplant) – stellt den Index KI-Agenten als MCP-Tools (get_table_schema, find_coc_methods, usw.) über stdio bereid.

  4. Erweiterte Modulen (geplant) – ein muster-basierter X++- Best-practics-Linter, danm ein modell-übergreifender Abhängigkeitssgraph.

Was derzeit tatsächlich umgesetzt ist

  • schema/table_schema.json – JSON-Schema für parste AxTable-Metadaten, validitert gegen einen echte VendTrans-Export

  • schema/class_schema.json – JSON-Schema für parste AxClass-/CoC-Metadaten. Noch nicht gegen eine vollständige echte Klassendatei validiert (siehe Dateikopf für Details)

  • parse_table.py – funktionierender Parser: AxTable-XML → schema-konformes JSON

  • parse_class.py – auf regulären Ausdrücken basierenter CoC-extraktor. Geschreiben, aber noch nicht gegen echte Klasszendows ausgeführt – behandeln Sie alle regex-Hier as unbeige

  • validate.py – validiert die Ausgabe des Parser gegen die json-Schena

Project status

Dieses Projekt ist eine in Arbeit befindliche solution, die als Lernexperise beim Studium der D365 F&O-Entwicklung enstanden ist. Einige konkrete Fakten, die ehrlich gesagt erwähnenswert sind:

  • Ein ausgereiftes, aktiv gepflegtes Open-Source-Projekt löst das Problem bereits in viel größerem Maßstab: dynamics365ninja/d365fo-mcp-server (26 MCP-Tools, Live-Umgebungsverbindung, Form-Pattern-Engine, sichere Metadaten-Schreiboperationen über Microsofts IMetadataProvider). Dieses Repo erhebt keinen Anspruch darauf, es zu verbessern oder damit zu konkurrieren.

  • Dieses Projekt unterscheidet sich in Umfang und Design, nicht unbedingt in Qualität: Python statt TypeScript, readonly und auf der Basis statischer AOT-XML-Exporte statt einer Live-Umgebungsverbindung, und derzeit nur auf die Erfassungsschicht beschränkt.

  • Der Wert dieses Projekts – ehrlich gesagt – liegt darin, das Problem und den Parsing-/Indizierungsansatz tief genug zu verstehen, um die Designentscheidungen zu erklären –, nicht darin, der Erste oder einzigartig zu sein.

Requirements

  • Python 3.10+

  • lxml

  • jsonschema (zur Schema-Validierung während der Entwicklung)

pip install lxml jsonschema

Testdaten

Testdaten sind XLT-AOT-Exporte aus einer lokalen, offline betriebenen Hyper-V-VM, auf der Microsofts Standard-USMF/DAT-Demo-Daten laufen, botzen plus eines eigenen Modells, das von Grund auf aufgebaut ist und keine Drittanbieter-IP- oder Organisationsdaten enthält. Siehe fixtures/tables/ und fixtures/classes/ – fülle sie lokal mit eigenen Exporten; sie sind in diesem Templa nicht enthalten.

Lizenz

MIT

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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.
    34
    9
    MIT
  • F
    license
    Not graded
    quality
    C
    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.
    86
    11
  • A
    license
    A
    quality
    A
    maintenance
    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.
    23
    1,098
    132
    MIT

View all related MCP servers

Related MCP Connectors

  • Provide your AI coding tools with token-efficient access to up-to-date technical documentation for…

  • Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…

  • Give your AI assistant access to real Helm chart data. No more hallucinated values.yaml files.

View all MCP Connectors

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