How simoafdel-ctrl/dynamics-365-finance-operations works
This repository is a D365 Finance & Operations MCP server, with an accompanying C# metadata bridge and management CLI. The principal workflow is an MCP client request entering the server, being dispatched to a tool, and using indexed metadata, workspace files, or (when available) the live bridge to produce analysis or changes. Other major product capabilities include knowledge guidance, project/SDLC operations, and configurable object naming; the README specifically documents the fork’s prefix-first convention. Relationships below rely on the README and SOURCE INDEX references; unsampled subsystems are shown as capabilities without speculative internal call links.
Main entry points: context.ts Shared Context · toolHandler.ts Tool Dispatch · index.ts Server Entry · hybridSearch.ts Hybrid Search
Components 22
MCP Runtime
- Server Entry
src/index.ts - MCP Transport
src/server/transport.ts - Tool Dispatch
src/tools/toolHandler.ts - Shared Context
src/types/context.ts
Metadata Access
- Search & Analysis
src/tools/analysis - Symbol Index
src/metadata/symbolIndex.ts - Metadata Parsing
src/metadata/xmlParser.ts - Workspace Scan
src/workspace/workspaceScanner.ts - Hybrid Search
src/workspace/hybridSearch.ts - Bridge Client
src/bridge/bridgeClient.ts - Bridge Runtime
bridge/D365MetadataBridge/Program.cs - Bridge Dispatch
bridge/D365MetadataBridge/Protocol/RequestDispatcher.cs - Live Metadata Reads
bridge/D365MetadataBridge/Services/MetadataReadService.cs - Metadata Writes
bridge/D365MetadataBridge/Services/MetadataWriteService.cs
Authoring & Guidance
- Object Generation
src/tools/generateObject.ts - Knowledge Tools
src/tools/knowledge - Naming Rules
src/utils/modelClassifier.ts
Project Operations
- SDLC Tools
src/tools/sdlc
Configuration
- Runtime Configuration
src/utils/configManager.ts - Settings
src/config/settings.ts - Management CLI
src/cli/index.ts
Other components
- MCP Client
Connections 21
- MCP Client → Server Entry: requests tools
README.md - Server Entry → MCP Transport: starts transport
src/index.ts - Tool Dispatch → Search & Analysis: dispatches
src/tools/toolHandler.ts - Tool Dispatch → Object Generation: dispatches
src/tools/toolHandler.ts - Tool Dispatch → Knowledge Tools: dispatches
src/tools/toolHandler.ts - Tool Dispatch → SDLC Tools: dispatches
src/tools/toolHandler.ts - Shared Context → Symbol Index: provides index
src/types/context.ts - Shared Context → Metadata Parsing: provides parser
src/types/context.ts - Shared Context → Workspace Scan: provides scanner
src/types/context.ts - Shared Context → Hybrid Search: provides search
src/types/context.ts - Shared Context → Bridge Client: provides bridge
src/types/context.ts - Hybrid Search → Symbol Index: searches index
src/workspace/hybridSearch.ts - Hybrid Search → Workspace Scan: searches workspace
src/workspace/hybridSearch.ts - Bridge Client → Bridge Runtime: starts process
src/bridge/bridgeClient.ts - Bridge Runtime → Bridge Dispatch: dispatches requests
bridge/D365MetadataBridge/Program.cs - Bridge Dispatch → Live Metadata Reads: routes reads
bridge/D365MetadataBridge/Program.cs - Bridge Dispatch → Metadata Writes: routes writes
bridge/D365MetadataBridge/Program.cs - Server Entry → Runtime Configuration: loads config
src/index.ts - Runtime Configuration → Settings: uses settings
src/utils/configManager.ts - Object Generation → Naming Rules: applies naming
- Management CLI → Runtime Configuration: manages settings