d365fo-mcp 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -92
- package/bridge/D365MetadataBridge/D365MetadataBridge.csproj +116 -0
- package/bridge/D365MetadataBridge/Models/Models.cs +879 -0
- package/bridge/D365MetadataBridge/Program.cs +448 -0
- package/bridge/D365MetadataBridge/Protocol/BridgeProtocol.cs +178 -0
- package/bridge/D365MetadataBridge/Protocol/RequestDispatcher.cs +1107 -0
- package/bridge/D365MetadataBridge/Services/CrossReferenceService.cs +686 -0
- package/bridge/D365MetadataBridge/Services/FormAuthoringDefaults.cs +66 -0
- package/bridge/D365MetadataBridge/Services/MetadataReadService.cs +1761 -0
- package/bridge/D365MetadataBridge/Services/MetadataWriteService.cs +3672 -0
- package/dist/bridge/bridgeAdapter.d.ts +14 -1
- package/dist/bridge/bridgeAdapter.js +28 -6
- package/dist/bridge/bridgeClient.d.ts +11 -0
- package/dist/bridge/bridgeClient.js +17 -4
- package/dist/cli/bridgePath.d.ts +3 -0
- package/dist/cli/bridgePath.js +27 -0
- package/dist/cli/commands/connect.d.ts +32 -0
- package/dist/cli/commands/connect.js +250 -0
- package/dist/cli/commands/doctor.js +91 -11
- package/dist/cli/commands/indexCmd.js +17 -5
- package/dist/cli/commands/instance.js +4 -0
- package/dist/cli/commands/setup.js +80 -8
- package/dist/cli/commands/update.d.ts +15 -0
- package/dist/cli/commands/update.js +71 -19
- package/dist/cli/context.d.ts +96 -9
- package/dist/cli/context.js +164 -17
- package/dist/cli/exec.d.ts +9 -0
- package/dist/cli/exec.js +17 -0
- package/dist/cli/index.js +20 -1
- package/dist/cli/mcpJson.js +7 -4
- package/dist/cli/npmRegistry.d.ts +27 -0
- package/dist/cli/npmRegistry.js +83 -0
- package/dist/cli/target.js +3 -3
- package/dist/cli/ui.d.ts +5 -5
- package/dist/cli/ui.js +10 -9
- package/dist/config/settings.js +11 -0
- package/dist/index.js +3 -2
- package/dist/metadata/labelParser.d.ts +4 -1
- package/dist/metadata/labelParser.js +11 -3
- package/dist/metadata/symbolIndex.d.ts +30 -7
- package/dist/metadata/symbolIndex.js +89 -30
- package/dist/metadata/types.d.ts +1 -1
- package/dist/metadata/xmlParser.js +10 -2
- package/dist/scripts/build-database.js +6067 -0
- package/dist/scripts/build-fts.js +4004 -0
- package/dist/scripts/extract-metadata.js +3477 -0
- package/dist/scripts/symbolCountsWorker.js +22 -0
- package/dist/server/mcpServer.js +2 -1
- package/dist/server/toolSchemas/d365foFile.js +6 -1
- package/dist/server/toolSchemas/prepare.js +1 -1
- package/dist/tools/codeGen.js +4 -3
- package/dist/tools/createD365File.d.ts +20 -2
- package/dist/tools/createD365File.js +245 -42
- package/dist/tools/createdArtifactLedger.d.ts +49 -0
- package/dist/tools/createdArtifactLedger.js +56 -0
- package/dist/tools/d365foFileOpSpecs.d.ts +55 -0
- package/dist/tools/d365foFileOpSpecs.js +142 -1
- package/dist/tools/edtInfo.d.ts +1 -2
- package/dist/tools/edtInfo.js +103 -1
- package/dist/tools/generateD365Xml.js +8 -0
- package/dist/tools/generateSmartForm.js +6 -1
- package/dist/tools/getLabelInfo.js +4 -1
- package/dist/tools/modifyD365File.d.ts +33 -0
- package/dist/tools/modifyD365File.js +305 -17
- package/dist/tools/prepareCreate.d.ts +2 -0
- package/dist/tools/prepareCreate.js +1 -1
- package/dist/tools/queryViewXml.d.ts +25 -8
- package/dist/tools/queryViewXml.js +61 -18
- package/dist/tools/resolveReferences.js +4 -1
- package/dist/tools/runBpCheck.d.ts +12 -0
- package/dist/tools/runBpCheck.js +57 -9
- package/dist/tools/search.d.ts +18 -0
- package/dist/tools/search.js +55 -3
- package/dist/tools/searchLabels.js +35 -7
- package/dist/tools/securityArtifactInfo.js +16 -1
- package/dist/tools/serviceXml.d.ts +39 -0
- package/dist/tools/serviceXml.js +110 -0
- package/dist/tools/undoLastModification.d.ts +3 -9
- package/dist/tools/undoLastModification.js +67 -0
- package/dist/tools/updateSymbolIndex.d.ts +14 -0
- package/dist/tools/updateSymbolIndex.js +38 -4
- package/dist/tools/validateXpp.d.ts +2 -0
- package/dist/tools/validateXpp.js +121 -0
- package/dist/tools/xppKnowledge.js +14 -8
- package/dist/utils/axTablePropertyOrder.d.ts +60 -0
- package/dist/utils/axTablePropertyOrder.js +146 -0
- package/dist/utils/exactMatchRanking.d.ts +31 -0
- package/dist/utils/exactMatchRanking.js +48 -0
- package/dist/utils/extractManifest.d.ts +11 -1
- package/dist/utils/fieldControlTypes.d.ts +14 -0
- package/dist/utils/fieldControlTypes.js +33 -0
- package/dist/utils/formPatternTemplates.d.ts +15 -0
- package/dist/utils/formPatternTemplates.js +11 -3
- package/dist/utils/labelReference.d.ts +34 -0
- package/dist/utils/labelReference.js +72 -0
- package/dist/utils/loadEnv.js +38 -2
- package/dist/utils/smartXmlBuilder.js +36 -39
- package/dist/version.d.ts +2 -0
- package/dist/version.js +18 -0
- package/package.json +11 -3
- package/dist/bridge/bridgeAdapter.d.ts.map +0 -1
- package/dist/bridge/bridgeAdapter.js.map +0 -1
- package/dist/bridge/bridgeClient.d.ts.map +0 -1
- package/dist/bridge/bridgeClient.js.map +0 -1
- package/dist/bridge/bridgeTypes.d.ts.map +0 -1
- package/dist/bridge/bridgeTypes.js.map +0 -1
- package/dist/bridge/debouncedRefresh.d.ts.map +0 -1
- package/dist/bridge/debouncedRefresh.js.map +0 -1
- package/dist/bridge/index.d.ts.map +0 -1
- package/dist/bridge/index.js.map +0 -1
- package/dist/cli/commands/config.d.ts.map +0 -1
- package/dist/cli/commands/config.js.map +0 -1
- package/dist/cli/commands/doctor.d.ts.map +0 -1
- package/dist/cli/commands/doctor.js.map +0 -1
- package/dist/cli/commands/indexCmd.d.ts.map +0 -1
- package/dist/cli/commands/indexCmd.js.map +0 -1
- package/dist/cli/commands/instance.d.ts.map +0 -1
- package/dist/cli/commands/instance.js.map +0 -1
- package/dist/cli/commands/setup.d.ts.map +0 -1
- package/dist/cli/commands/setup.js.map +0 -1
- package/dist/cli/commands/start.d.ts.map +0 -1
- package/dist/cli/commands/start.js.map +0 -1
- package/dist/cli/commands/update.d.ts.map +0 -1
- package/dist/cli/commands/update.js.map +0 -1
- package/dist/cli/context.d.ts.map +0 -1
- package/dist/cli/context.js.map +0 -1
- package/dist/cli/envFile.d.ts.map +0 -1
- package/dist/cli/envFile.js.map +0 -1
- package/dist/cli/exec.d.ts.map +0 -1
- package/dist/cli/exec.js.map +0 -1
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/instances.d.ts.map +0 -1
- package/dist/cli/instances.js.map +0 -1
- package/dist/cli/mcpJson.d.ts.map +0 -1
- package/dist/cli/mcpJson.js.map +0 -1
- package/dist/cli/settingsPrompt.d.ts.map +0 -1
- package/dist/cli/settingsPrompt.js.map +0 -1
- package/dist/cli/settingsStore.d.ts.map +0 -1
- package/dist/cli/settingsStore.js.map +0 -1
- package/dist/cli/target.d.ts.map +0 -1
- package/dist/cli/target.js.map +0 -1
- package/dist/cli/ui.d.ts.map +0 -1
- package/dist/cli/ui.js.map +0 -1
- package/dist/cli/xppConfig.d.ts.map +0 -1
- package/dist/cli/xppConfig.js.map +0 -1
- package/dist/config/configFile.d.ts.map +0 -1
- package/dist/config/configFile.js.map +0 -1
- package/dist/config/settings.d.ts.map +0 -1
- package/dist/config/settings.js.map +0 -1
- package/dist/database/download.d.ts.map +0 -1
- package/dist/database/download.js.map +0 -1
- package/dist/eval/audit/knowledgeAudit.d.ts +0 -66
- package/dist/eval/audit/knowledgeAudit.d.ts.map +0 -1
- package/dist/eval/audit/knowledgeAudit.js +0 -117
- package/dist/eval/audit/knowledgeAudit.js.map +0 -1
- package/dist/eval/audit/knowledgeAuditCli.d.ts +0 -17
- package/dist/eval/audit/knowledgeAuditCli.d.ts.map +0 -1
- package/dist/eval/audit/knowledgeAuditCli.js +0 -83
- package/dist/eval/audit/knowledgeAuditCli.js.map +0 -1
- package/dist/eval/audit/knowledgeRefs.d.ts +0 -37
- package/dist/eval/audit/knowledgeRefs.d.ts.map +0 -1
- package/dist/eval/audit/knowledgeRefs.js +0 -150
- package/dist/eval/audit/knowledgeRefs.js.map +0 -1
- package/dist/eval/audit/symbolLookup.d.ts +0 -23
- package/dist/eval/audit/symbolLookup.d.ts.map +0 -1
- package/dist/eval/audit/symbolLookup.js +0 -80
- package/dist/eval/audit/symbolLookup.js.map +0 -1
- package/dist/eval/coverage/coverage.d.ts +0 -65
- package/dist/eval/coverage/coverage.d.ts.map +0 -1
- package/dist/eval/coverage/coverage.js +0 -136
- package/dist/eval/coverage/coverage.js.map +0 -1
- package/dist/eval/coverage/coverageCli.d.ts +0 -13
- package/dist/eval/coverage/coverageCli.d.ts.map +0 -1
- package/dist/eval/coverage/coverageCli.js +0 -106
- package/dist/eval/coverage/coverageCli.js.map +0 -1
- package/dist/eval/coverage/sources.d.ts +0 -17
- package/dist/eval/coverage/sources.d.ts.map +0 -1
- package/dist/eval/coverage/sources.js +0 -40
- package/dist/eval/coverage/sources.js.map +0 -1
- package/dist/eval/coverage/taxonomy.d.ts +0 -59
- package/dist/eval/coverage/taxonomy.d.ts.map +0 -1
- package/dist/eval/coverage/taxonomy.js +0 -400
- package/dist/eval/coverage/taxonomy.js.map +0 -1
- package/dist/eval/improver/caseMining.d.ts +0 -55
- package/dist/eval/improver/caseMining.d.ts.map +0 -1
- package/dist/eval/improver/caseMining.js +0 -64
- package/dist/eval/improver/caseMining.js.map +0 -1
- package/dist/eval/improver/caseMiningCli.d.ts +0 -10
- package/dist/eval/improver/caseMiningCli.d.ts.map +0 -1
- package/dist/eval/improver/caseMiningCli.js +0 -50
- package/dist/eval/improver/caseMiningCli.js.map +0 -1
- package/dist/eval/improver/cli.d.ts +0 -11
- package/dist/eval/improver/cli.d.ts.map +0 -1
- package/dist/eval/improver/cli.js +0 -73
- package/dist/eval/improver/cli.js.map +0 -1
- package/dist/eval/improver/cluster.d.ts +0 -47
- package/dist/eval/improver/cluster.d.ts.map +0 -1
- package/dist/eval/improver/cluster.js +0 -0
- package/dist/eval/improver/cluster.js.map +0 -1
- package/dist/eval/improver/corpusIO.d.ts +0 -26
- package/dist/eval/improver/corpusIO.d.ts.map +0 -1
- package/dist/eval/improver/corpusIO.js +0 -50
- package/dist/eval/improver/corpusIO.js.map +0 -1
- package/dist/eval/improver/fixBrief.d.ts +0 -34
- package/dist/eval/improver/fixBrief.d.ts.map +0 -1
- package/dist/eval/improver/fixBrief.js +0 -69
- package/dist/eval/improver/fixBrief.js.map +0 -1
- package/dist/eval/improver/fixBriefCli.d.ts +0 -11
- package/dist/eval/improver/fixBriefCli.d.ts.map +0 -1
- package/dist/eval/improver/fixBriefCli.js +0 -46
- package/dist/eval/improver/fixBriefCli.js.map +0 -1
- package/dist/eval/improver/flakeDetection.d.ts +0 -50
- package/dist/eval/improver/flakeDetection.d.ts.map +0 -1
- package/dist/eval/improver/flakeDetection.js +0 -0
- package/dist/eval/improver/flakeDetection.js.map +0 -1
- package/dist/eval/improver/flakeDetectionCli.d.ts +0 -8
- package/dist/eval/improver/flakeDetectionCli.d.ts.map +0 -1
- package/dist/eval/improver/flakeDetectionCli.js +0 -27
- package/dist/eval/improver/flakeDetectionCli.js.map +0 -1
- package/dist/eval/improver/heldout.d.ts +0 -44
- package/dist/eval/improver/heldout.d.ts.map +0 -1
- package/dist/eval/improver/heldout.js +0 -52
- package/dist/eval/improver/heldout.js.map +0 -1
- package/dist/eval/improver/knowledgeFeedback.d.ts +0 -56
- package/dist/eval/improver/knowledgeFeedback.d.ts.map +0 -1
- package/dist/eval/improver/knowledgeFeedback.js +0 -88
- package/dist/eval/improver/knowledgeFeedback.js.map +0 -1
- package/dist/eval/improver/knowledgeFeedbackCli.d.ts +0 -8
- package/dist/eval/improver/knowledgeFeedbackCli.d.ts.map +0 -1
- package/dist/eval/improver/knowledgeFeedbackCli.js +0 -28
- package/dist/eval/improver/knowledgeFeedbackCli.js.map +0 -1
- package/dist/eval/improver/report.d.ts +0 -36
- package/dist/eval/improver/report.d.ts.map +0 -1
- package/dist/eval/improver/report.js +0 -61
- package/dist/eval/improver/report.js.map +0 -1
- package/dist/eval/improver/reportCli.d.ts +0 -7
- package/dist/eval/improver/reportCli.d.ts.map +0 -1
- package/dist/eval/improver/reportCli.js +0 -27
- package/dist/eval/improver/reportCli.js.map +0 -1
- package/dist/eval/oracle/actualArtifactResolution.d.ts +0 -49
- package/dist/eval/oracle/actualArtifactResolution.d.ts.map +0 -1
- package/dist/eval/oracle/actualArtifactResolution.js +0 -73
- package/dist/eval/oracle/actualArtifactResolution.js.map +0 -1
- package/dist/eval/oracle/cli.d.ts +0 -30
- package/dist/eval/oracle/cli.d.ts.map +0 -1
- package/dist/eval/oracle/cli.js +0 -179
- package/dist/eval/oracle/cli.js.map +0 -1
- package/dist/eval/oracle/diff.d.ts +0 -26
- package/dist/eval/oracle/diff.d.ts.map +0 -1
- package/dist/eval/oracle/diff.js +0 -51
- package/dist/eval/oracle/diff.js.map +0 -1
- package/dist/eval/oracle/index.d.ts +0 -81
- package/dist/eval/oracle/index.d.ts.map +0 -1
- package/dist/eval/oracle/index.js +0 -55
- package/dist/eval/oracle/index.js.map +0 -1
- package/dist/eval/oracle/normalize.d.ts +0 -85
- package/dist/eval/oracle/normalize.d.ts.map +0 -1
- package/dist/eval/oracle/normalize.js +0 -321
- package/dist/eval/oracle/normalize.js.map +0 -1
- package/dist/eval/oracle/score.d.ts +0 -26
- package/dist/eval/oracle/score.d.ts.map +0 -1
- package/dist/eval/oracle/score.js +0 -15
- package/dist/eval/oracle/score.js.map +0 -1
- package/dist/eval/oracle/systest.d.ts +0 -30
- package/dist/eval/oracle/systest.d.ts.map +0 -1
- package/dist/eval/oracle/systest.js +0 -98
- package/dist/eval/oracle/systest.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/knowledge/formPatterns/catalog/subPatterns/customFilters.d.ts.map +0 -1
- package/dist/knowledge/formPatterns/catalog/subPatterns/customFilters.js.map +0 -1
- package/dist/knowledge/formPatterns/catalog/subPatterns/fields.d.ts.map +0 -1
- package/dist/knowledge/formPatterns/catalog/subPatterns/fields.js.map +0 -1
- package/dist/knowledge/formPatterns/catalog/subPatterns/panels.d.ts.map +0 -1
- package/dist/knowledge/formPatterns/catalog/subPatterns/panels.js.map +0 -1
- package/dist/knowledge/formPatterns/catalog/subPatterns/toolbar.d.ts.map +0 -1
- package/dist/knowledge/formPatterns/catalog/subPatterns/toolbar.js.map +0 -1
- package/dist/knowledge/formPatterns/catalog/subPatterns/workspaceSections.d.ts.map +0 -1
- package/dist/knowledge/formPatterns/catalog/subPatterns/workspaceSections.js.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/common.d.ts.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/common.js.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/detailsMaster.d.ts.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/detailsMaster.js.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/detailsTransaction.d.ts.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/detailsTransaction.js.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/dialog.d.ts.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/dialog.js.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/factBox.d.ts.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/factBox.js.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/listPage.d.ts.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/listPage.js.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/lookup.d.ts.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/lookup.js.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/simpleDetails.d.ts.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/simpleDetails.js.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/simpleList.d.ts.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/simpleList.js.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/simpleListDetails.d.ts.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/simpleListDetails.js.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/tableOfContents.d.ts.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/tableOfContents.js.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/task.d.ts.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/task.js.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/wizard.d.ts.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/wizard.js.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/workspace.d.ts.map +0 -1
- package/dist/knowledge/formPatterns/catalog/topLevel/workspace.js.map +0 -1
- package/dist/knowledge/formPatterns/crossCheck.d.ts.map +0 -1
- package/dist/knowledge/formPatterns/crossCheck.js.map +0 -1
- package/dist/knowledge/formPatterns/index.d.ts.map +0 -1
- package/dist/knowledge/formPatterns/index.js.map +0 -1
- package/dist/knowledge/formPatterns/methodStubs.d.ts.map +0 -1
- package/dist/knowledge/formPatterns/methodStubs.js.map +0 -1
- package/dist/knowledge/formPatterns/types.d.ts.map +0 -1
- package/dist/knowledge/formPatterns/types.js.map +0 -1
- package/dist/metadata/enhancedParser.d.ts.map +0 -1
- package/dist/metadata/enhancedParser.js.map +0 -1
- package/dist/metadata/formPatternMiner.d.ts.map +0 -1
- package/dist/metadata/formPatternMiner.js.map +0 -1
- package/dist/metadata/labelParser.d.ts.map +0 -1
- package/dist/metadata/labelParser.js.map +0 -1
- package/dist/metadata/symbolCountsWorker.d.ts.map +0 -1
- package/dist/metadata/symbolCountsWorker.js.map +0 -1
- package/dist/metadata/symbolIndex.d.ts.map +0 -1
- package/dist/metadata/symbolIndex.js.map +0 -1
- package/dist/metadata/types.d.ts.map +0 -1
- package/dist/metadata/types.js.map +0 -1
- package/dist/metadata/xmlParser.d.ts.map +0 -1
- package/dist/metadata/xmlParser.js.map +0 -1
- package/dist/metadata/xppDeclaration.d.ts.map +0 -1
- package/dist/metadata/xppDeclaration.js.map +0 -1
- package/dist/middleware/apiKeyAuth.d.ts.map +0 -1
- package/dist/middleware/apiKeyAuth.js.map +0 -1
- package/dist/middleware/rateLimiter.d.ts.map +0 -1
- package/dist/middleware/rateLimiter.js.map +0 -1
- package/dist/prompts/codeReview.d.ts.map +0 -1
- package/dist/prompts/codeReview.js.map +0 -1
- package/dist/prompts/index.d.ts.map +0 -1
- package/dist/prompts/index.js.map +0 -1
- package/dist/prompts/systemInstructions.d.ts.map +0 -1
- package/dist/prompts/systemInstructions.js.map +0 -1
- package/dist/resources/classResource.d.ts.map +0 -1
- package/dist/resources/classResource.js.map +0 -1
- package/dist/resources/index.d.ts.map +0 -1
- package/dist/resources/index.js.map +0 -1
- package/dist/server/mcpServer.d.ts.map +0 -1
- package/dist/server/mcpServer.js.map +0 -1
- package/dist/server/serverMode.d.ts.map +0 -1
- package/dist/server/serverMode.js.map +0 -1
- package/dist/server/toolAnnotations.d.ts.map +0 -1
- package/dist/server/toolAnnotations.js.map +0 -1
- package/dist/server/toolSchemas/analyzeCode.d.ts.map +0 -1
- package/dist/server/toolSchemas/analyzeCode.js.map +0 -1
- package/dist/server/toolSchemas/batchGetInfo.d.ts.map +0 -1
- package/dist/server/toolSchemas/batchGetInfo.js.map +0 -1
- package/dist/server/toolSchemas/buildD365foProject.d.ts.map +0 -1
- package/dist/server/toolSchemas/buildD365foProject.js.map +0 -1
- package/dist/server/toolSchemas/d365foFile.d.ts.map +0 -1
- package/dist/server/toolSchemas/d365foFile.js.map +0 -1
- package/dist/server/toolSchemas/extensionInfo.d.ts.map +0 -1
- package/dist/server/toolSchemas/extensionInfo.js.map +0 -1
- package/dist/server/toolSchemas/findReferences.d.ts.map +0 -1
- package/dist/server/toolSchemas/findReferences.js.map +0 -1
- package/dist/server/toolSchemas/generateObject.d.ts.map +0 -1
- package/dist/server/toolSchemas/generateObject.js.map +0 -1
- package/dist/server/toolSchemas/getKnowledge.d.ts.map +0 -1
- package/dist/server/toolSchemas/getKnowledge.js.map +0 -1
- package/dist/server/toolSchemas/getMethod.d.ts.map +0 -1
- package/dist/server/toolSchemas/getMethod.js.map +0 -1
- package/dist/server/toolSchemas/getObjectInfo.d.ts.map +0 -1
- package/dist/server/toolSchemas/getObjectInfo.js.map +0 -1
- package/dist/server/toolSchemas/getWorkspaceInfo.d.ts.map +0 -1
- package/dist/server/toolSchemas/getWorkspaceInfo.js.map +0 -1
- package/dist/server/toolSchemas/index.d.ts.map +0 -1
- package/dist/server/toolSchemas/index.js.map +0 -1
- package/dist/server/toolSchemas/labels.d.ts.map +0 -1
- package/dist/server/toolSchemas/labels.js.map +0 -1
- package/dist/server/toolSchemas/objectPatterns.d.ts.map +0 -1
- package/dist/server/toolSchemas/objectPatterns.js.map +0 -1
- package/dist/server/toolSchemas/prepare.d.ts.map +0 -1
- package/dist/server/toolSchemas/prepare.js.map +0 -1
- package/dist/server/toolSchemas/reviewWorkspaceChanges.d.ts.map +0 -1
- package/dist/server/toolSchemas/reviewWorkspaceChanges.js.map +0 -1
- package/dist/server/toolSchemas/runBpCheck.d.ts.map +0 -1
- package/dist/server/toolSchemas/runBpCheck.js.map +0 -1
- package/dist/server/toolSchemas/runSystestClass.d.ts.map +0 -1
- package/dist/server/toolSchemas/runSystestClass.js.map +0 -1
- package/dist/server/toolSchemas/search.d.ts.map +0 -1
- package/dist/server/toolSchemas/search.js.map +0 -1
- package/dist/server/toolSchemas/securityInfo.d.ts.map +0 -1
- package/dist/server/toolSchemas/securityInfo.js.map +0 -1
- package/dist/server/toolSchemas/suggestEdt.d.ts.map +0 -1
- package/dist/server/toolSchemas/suggestEdt.js.map +0 -1
- package/dist/server/toolSchemas/triggerDbSync.d.ts.map +0 -1
- package/dist/server/toolSchemas/triggerDbSync.js.map +0 -1
- package/dist/server/toolSchemas/undoLastModification.d.ts.map +0 -1
- package/dist/server/toolSchemas/undoLastModification.js.map +0 -1
- package/dist/server/toolSchemas/updateSymbolIndex.d.ts.map +0 -1
- package/dist/server/toolSchemas/updateSymbolIndex.js.map +0 -1
- package/dist/server/toolSchemas/validateCode.d.ts.map +0 -1
- package/dist/server/toolSchemas/validateCode.js.map +0 -1
- package/dist/server/toolSchemas/validateObjectNaming.d.ts.map +0 -1
- package/dist/server/toolSchemas/validateObjectNaming.js.map +0 -1
- package/dist/server/toolSchemas/verifyD365foProject.d.ts.map +0 -1
- package/dist/server/toolSchemas/verifyD365foProject.js.map +0 -1
- package/dist/server/transport.d.ts.map +0 -1
- package/dist/server/transport.js.map +0 -1
- package/dist/tools/analyzeCode.d.ts.map +0 -1
- package/dist/tools/analyzeCode.js.map +0 -1
- package/dist/tools/analyzeCompleteness.d.ts.map +0 -1
- package/dist/tools/analyzeCompleteness.js.map +0 -1
- package/dist/tools/analyzeExtensionPoints.d.ts.map +0 -1
- package/dist/tools/analyzeExtensionPoints.js.map +0 -1
- package/dist/tools/analyzePatterns.d.ts.map +0 -1
- package/dist/tools/analyzePatterns.js.map +0 -1
- package/dist/tools/apiUsagePatterns.d.ts.map +0 -1
- package/dist/tools/apiUsagePatterns.js.map +0 -1
- package/dist/tools/batchGetInfo.d.ts.map +0 -1
- package/dist/tools/batchGetInfo.js.map +0 -1
- package/dist/tools/batchSearch.d.ts.map +0 -1
- package/dist/tools/batchSearch.js.map +0 -1
- package/dist/tools/buildProject.d.ts.map +0 -1
- package/dist/tools/buildProject.js.map +0 -1
- package/dist/tools/classInfo.d.ts.map +0 -1
- package/dist/tools/classInfo.js.map +0 -1
- package/dist/tools/codeGen.d.ts.map +0 -1
- package/dist/tools/codeGen.js.map +0 -1
- package/dist/tools/completion.d.ts.map +0 -1
- package/dist/tools/completion.js.map +0 -1
- package/dist/tools/configKeyInfo.d.ts.map +0 -1
- package/dist/tools/configKeyInfo.js.map +0 -1
- package/dist/tools/createD365File.d.ts.map +0 -1
- package/dist/tools/createD365File.js.map +0 -1
- package/dist/tools/createLabel.d.ts.map +0 -1
- package/dist/tools/createLabel.js.map +0 -1
- package/dist/tools/d365foErrorHelp.d.ts.map +0 -1
- package/dist/tools/d365foErrorHelp.js.map +0 -1
- package/dist/tools/d365foFile.d.ts.map +0 -1
- package/dist/tools/d365foFile.js.map +0 -1
- package/dist/tools/d365foFileOpSpecs.d.ts.map +0 -1
- package/dist/tools/d365foFileOpSpecs.js.map +0 -1
- package/dist/tools/dataEntityInfo.d.ts.map +0 -1
- package/dist/tools/dataEntityInfo.js.map +0 -1
- package/dist/tools/dataEntityXml.d.ts.map +0 -1
- package/dist/tools/dataEntityXml.js.map +0 -1
- package/dist/tools/dbSync.d.ts.map +0 -1
- package/dist/tools/dbSync.js.map +0 -1
- package/dist/tools/edtInfo.d.ts.map +0 -1
- package/dist/tools/edtInfo.js.map +0 -1
- package/dist/tools/enumInfo.d.ts.map +0 -1
- package/dist/tools/enumInfo.js.map +0 -1
- package/dist/tools/extensionInfo.d.ts.map +0 -1
- package/dist/tools/extensionInfo.js.map +0 -1
- package/dist/tools/extensionSearch.d.ts.map +0 -1
- package/dist/tools/extensionSearch.js.map +0 -1
- package/dist/tools/extensionStrategyAdvisor.d.ts.map +0 -1
- package/dist/tools/extensionStrategyAdvisor.js.map +0 -1
- package/dist/tools/findCocExtensions.d.ts.map +0 -1
- package/dist/tools/findCocExtensions.js.map +0 -1
- package/dist/tools/findEventHandlers.d.ts.map +0 -1
- package/dist/tools/findEventHandlers.js.map +0 -1
- package/dist/tools/findReferences.d.ts.map +0 -1
- package/dist/tools/findReferences.js.map +0 -1
- package/dist/tools/formInfo.d.ts.map +0 -1
- package/dist/tools/formInfo.js.map +0 -1
- package/dist/tools/formPattern.d.ts.map +0 -1
- package/dist/tools/formPattern.js.map +0 -1
- package/dist/tools/generateD365Xml.d.ts.map +0 -1
- package/dist/tools/generateD365Xml.js.map +0 -1
- package/dist/tools/generateFindMethods.d.ts.map +0 -1
- package/dist/tools/generateFindMethods.js.map +0 -1
- package/dist/tools/generateMetadata.d.ts.map +0 -1
- package/dist/tools/generateMetadata.js.map +0 -1
- package/dist/tools/generateObject.d.ts.map +0 -1
- package/dist/tools/generateObject.js.map +0 -1
- package/dist/tools/generateRelationXpp.d.ts.map +0 -1
- package/dist/tools/generateRelationXpp.js.map +0 -1
- package/dist/tools/generateSmart.d.ts.map +0 -1
- package/dist/tools/generateSmart.js.map +0 -1
- package/dist/tools/generateSmartForm.d.ts.map +0 -1
- package/dist/tools/generateSmartForm.js.map +0 -1
- package/dist/tools/generateSmartReport.d.ts.map +0 -1
- package/dist/tools/generateSmartReport.js.map +0 -1
- package/dist/tools/generateSmartTable.d.ts.map +0 -1
- package/dist/tools/generateSmartTable.js.map +0 -1
- package/dist/tools/generateTableFields.d.ts.map +0 -1
- package/dist/tools/generateTableFields.js.map +0 -1
- package/dist/tools/generateTableRelation.d.ts.map +0 -1
- package/dist/tools/generateTableRelation.js.map +0 -1
- package/dist/tools/getFormPatternSpec.d.ts.map +0 -1
- package/dist/tools/getFormPatternSpec.js.map +0 -1
- package/dist/tools/getFormPatterns.d.ts.map +0 -1
- package/dist/tools/getFormPatterns.js.map +0 -1
- package/dist/tools/getKnowledge.d.ts.map +0 -1
- package/dist/tools/getKnowledge.js.map +0 -1
- package/dist/tools/getLabelInfo.d.ts.map +0 -1
- package/dist/tools/getLabelInfo.js.map +0 -1
- package/dist/tools/getMethod.d.ts.map +0 -1
- package/dist/tools/getMethod.js.map +0 -1
- package/dist/tools/getMethodSource.d.ts.map +0 -1
- package/dist/tools/getMethodSource.js.map +0 -1
- package/dist/tools/getObjectInfo.d.ts.map +0 -1
- package/dist/tools/getObjectInfo.js.map +0 -1
- package/dist/tools/getTablePatterns.d.ts.map +0 -1
- package/dist/tools/getTablePatterns.js.map +0 -1
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/labels.d.ts.map +0 -1
- package/dist/tools/labels.js.map +0 -1
- package/dist/tools/macroInfo.d.ts.map +0 -1
- package/dist/tools/macroInfo.js.map +0 -1
- package/dist/tools/mapInfo.d.ts.map +0 -1
- package/dist/tools/mapInfo.js.map +0 -1
- package/dist/tools/mapXml.d.ts.map +0 -1
- package/dist/tools/mapXml.js.map +0 -1
- package/dist/tools/menuItemInfo.d.ts.map +0 -1
- package/dist/tools/menuItemInfo.js.map +0 -1
- package/dist/tools/methodSignature.d.ts.map +0 -1
- package/dist/tools/methodSignature.js.map +0 -1
- package/dist/tools/modifyD365File.d.ts.map +0 -1
- package/dist/tools/modifyD365File.js.map +0 -1
- package/dist/tools/objectInfoRegistry.d.ts.map +0 -1
- package/dist/tools/objectInfoRegistry.js.map +0 -1
- package/dist/tools/objectPatterns.d.ts.map +0 -1
- package/dist/tools/objectPatterns.js.map +0 -1
- package/dist/tools/prepare.d.ts.map +0 -1
- package/dist/tools/prepare.js.map +0 -1
- package/dist/tools/prepareChange.d.ts.map +0 -1
- package/dist/tools/prepareChange.js.map +0 -1
- package/dist/tools/prepareCreate.d.ts.map +0 -1
- package/dist/tools/prepareCreate.js.map +0 -1
- package/dist/tools/queryInfo.d.ts.map +0 -1
- package/dist/tools/queryInfo.js.map +0 -1
- package/dist/tools/queryViewXml.d.ts.map +0 -1
- package/dist/tools/queryViewXml.js.map +0 -1
- package/dist/tools/renameLabel.d.ts.map +0 -1
- package/dist/tools/renameLabel.js.map +0 -1
- package/dist/tools/repairFormControls.d.ts.map +0 -1
- package/dist/tools/repairFormControls.js.map +0 -1
- package/dist/tools/reportInfo.d.ts.map +0 -1
- package/dist/tools/reportInfo.js.map +0 -1
- package/dist/tools/resolveReferences.d.ts.map +0 -1
- package/dist/tools/resolveReferences.js.map +0 -1
- package/dist/tools/reviewWorkspaceChanges.d.ts.map +0 -1
- package/dist/tools/reviewWorkspaceChanges.js.map +0 -1
- package/dist/tools/runBpCheck.d.ts.map +0 -1
- package/dist/tools/runBpCheck.js.map +0 -1
- package/dist/tools/search.d.ts.map +0 -1
- package/dist/tools/search.js.map +0 -1
- package/dist/tools/searchLabels.d.ts.map +0 -1
- package/dist/tools/searchLabels.js.map +0 -1
- package/dist/tools/searchUnified.d.ts.map +0 -1
- package/dist/tools/searchUnified.js.map +0 -1
- package/dist/tools/securityArtifactInfo.d.ts.map +0 -1
- package/dist/tools/securityArtifactInfo.js.map +0 -1
- package/dist/tools/securityCoverageInfo.d.ts.map +0 -1
- package/dist/tools/securityCoverageInfo.js.map +0 -1
- package/dist/tools/securityInfo.d.ts.map +0 -1
- package/dist/tools/securityInfo.js.map +0 -1
- package/dist/tools/securityPolicyInfo.d.ts.map +0 -1
- package/dist/tools/securityPolicyInfo.js.map +0 -1
- package/dist/tools/securityPrivilegeXml.d.ts.map +0 -1
- package/dist/tools/securityPrivilegeXml.js.map +0 -1
- package/dist/tools/serviceInfo.d.ts.map +0 -1
- package/dist/tools/serviceInfo.js.map +0 -1
- package/dist/tools/suggestEdt.d.ts.map +0 -1
- package/dist/tools/suggestEdt.js.map +0 -1
- package/dist/tools/suggestImplementation.d.ts.map +0 -1
- package/dist/tools/suggestImplementation.js.map +0 -1
- package/dist/tools/sysTestRunner.d.ts.map +0 -1
- package/dist/tools/sysTestRunner.js.map +0 -1
- package/dist/tools/tableExtensionInfo.d.ts.map +0 -1
- package/dist/tools/tableExtensionInfo.js.map +0 -1
- package/dist/tools/tableInfo.d.ts.map +0 -1
- package/dist/tools/tableInfo.js.map +0 -1
- package/dist/tools/toolHandler.d.ts.map +0 -1
- package/dist/tools/toolHandler.js.map +0 -1
- package/dist/tools/undoLastModification.d.ts.map +0 -1
- package/dist/tools/undoLastModification.js.map +0 -1
- package/dist/tools/updateSymbolIndex.d.ts.map +0 -1
- package/dist/tools/updateSymbolIndex.js.map +0 -1
- package/dist/tools/validateCode.d.ts.map +0 -1
- package/dist/tools/validateCode.js.map +0 -1
- package/dist/tools/validateFormPattern.d.ts.map +0 -1
- package/dist/tools/validateFormPattern.js.map +0 -1
- package/dist/tools/validateObjectNaming.d.ts.map +0 -1
- package/dist/tools/validateObjectNaming.js.map +0 -1
- package/dist/tools/validateXpp.d.ts.map +0 -1
- package/dist/tools/validateXpp.js.map +0 -1
- package/dist/tools/verifyD365Project.d.ts.map +0 -1
- package/dist/tools/verifyD365Project.js.map +0 -1
- package/dist/tools/viewInfo.d.ts.map +0 -1
- package/dist/tools/viewInfo.js.map +0 -1
- package/dist/tools/xppKnowledge.d.ts.map +0 -1
- package/dist/tools/xppKnowledge.js.map +0 -1
- package/dist/types/context.d.ts.map +0 -1
- package/dist/types/context.js.map +0 -1
- package/dist/utils/callDedup.d.ts.map +0 -1
- package/dist/utils/callDedup.js.map +0 -1
- package/dist/utils/configManager.d.ts.map +0 -1
- package/dist/utils/configManager.js.map +0 -1
- package/dist/utils/d365XmlNormalizer.d.ts.map +0 -1
- package/dist/utils/d365XmlNormalizer.js.map +0 -1
- package/dist/utils/edtExtensionValidator.d.ts.map +0 -1
- package/dist/utils/edtExtensionValidator.js.map +0 -1
- package/dist/utils/eolUtils.d.ts.map +0 -1
- package/dist/utils/eolUtils.js.map +0 -1
- package/dist/utils/extractManifest.d.ts.map +0 -1
- package/dist/utils/extractManifest.js.map +0 -1
- package/dist/utils/fieldControlTypes.d.ts.map +0 -1
- package/dist/utils/fieldControlTypes.js.map +0 -1
- package/dist/utils/formCloner.d.ts.map +0 -1
- package/dist/utils/formCloner.js.map +0 -1
- package/dist/utils/formControlExpander.d.ts.map +0 -1
- package/dist/utils/formControlExpander.js.map +0 -1
- package/dist/utils/formControlRepair.d.ts.map +0 -1
- package/dist/utils/formControlRepair.js.map +0 -1
- package/dist/utils/formExtensionShapeValidator.d.ts.map +0 -1
- package/dist/utils/formExtensionShapeValidator.js.map +0 -1
- package/dist/utils/formPatternTemplates.d.ts.map +0 -1
- package/dist/utils/formPatternTemplates.js.map +0 -1
- package/dist/utils/fsExtensionScanner.d.ts.map +0 -1
- package/dist/utils/fsExtensionScanner.js.map +0 -1
- package/dist/utils/fuzzyMatching.d.ts.map +0 -1
- package/dist/utils/fuzzyMatching.js.map +0 -1
- package/dist/utils/indexStaleness.d.ts.map +0 -1
- package/dist/utils/indexStaleness.js.map +0 -1
- package/dist/utils/loadEnv.d.ts.map +0 -1
- package/dist/utils/loadEnv.js.map +0 -1
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/metadataResolver.d.ts.map +0 -1
- package/dist/utils/metadataResolver.js.map +0 -1
- package/dist/utils/modelClassifier.d.ts.map +0 -1
- package/dist/utils/modelClassifier.js.map +0 -1
- package/dist/utils/operationLocks.d.ts.map +0 -1
- package/dist/utils/operationLocks.js.map +0 -1
- package/dist/utils/packageResolver.d.ts.map +0 -1
- package/dist/utils/packageResolver.js.map +0 -1
- package/dist/utils/pathContainment.d.ts.map +0 -1
- package/dist/utils/pathContainment.js.map +0 -1
- package/dist/utils/projectUtils.d.ts.map +0 -1
- package/dist/utils/projectUtils.js.map +0 -1
- package/dist/utils/provenanceStore.d.ts.map +0 -1
- package/dist/utils/provenanceStore.js.map +0 -1
- package/dist/utils/richContext.d.ts.map +0 -1
- package/dist/utils/richContext.js.map +0 -1
- package/dist/utils/smartXmlBuilder.d.ts.map +0 -1
- package/dist/utils/smartXmlBuilder.js.map +0 -1
- package/dist/utils/stdioSessionInfo.d.ts.map +0 -1
- package/dist/utils/stdioSessionInfo.js.map +0 -1
- package/dist/utils/suggestionEngine.d.ts.map +0 -1
- package/dist/utils/suggestionEngine.js.map +0 -1
- package/dist/utils/symbolLookup.d.ts.map +0 -1
- package/dist/utils/symbolLookup.js.map +0 -1
- package/dist/utils/terminalUi.d.ts.map +0 -1
- package/dist/utils/terminalUi.js.map +0 -1
- package/dist/utils/toolMetrics.d.ts.map +0 -1
- package/dist/utils/toolMetrics.js.map +0 -1
- package/dist/utils/toolProgressMessage.d.ts.map +0 -1
- package/dist/utils/toolProgressMessage.js.map +0 -1
- package/dist/utils/workspaceDetector.d.ts.map +0 -1
- package/dist/utils/workspaceDetector.js.map +0 -1
- package/dist/utils/xppConfigProvider.d.ts.map +0 -1
- package/dist/utils/xppConfigProvider.js.map +0 -1
- package/dist/utils/xppDocGen.d.ts.map +0 -1
- package/dist/utils/xppDocGen.js.map +0 -1
- package/dist/utils/xppFormat.d.ts.map +0 -1
- package/dist/utils/xppFormat.js.map +0 -1
- package/dist/utils/xppSelectLint.d.ts.map +0 -1
- package/dist/utils/xppSelectLint.js.map +0 -1
- package/dist/validation/formPatternValidator.d.ts.map +0 -1
- package/dist/validation/formPatternValidator.js.map +0 -1
- package/dist/workspace/contextRanker.d.ts.map +0 -1
- package/dist/workspace/contextRanker.js.map +0 -1
- package/dist/workspace/contextSnapshot.d.ts.map +0 -1
- package/dist/workspace/contextSnapshot.js.map +0 -1
- package/dist/workspace/hybridSearch.d.ts.map +0 -1
- package/dist/workspace/hybridSearch.js.map +0 -1
- package/dist/workspace/workspaceScanner.d.ts.map +0 -1
- package/dist/workspace/workspaceScanner.js.map +0 -1
- package/dist/workspace/workspaceUtils.d.ts.map +0 -1
- package/dist/workspace/workspaceUtils.js.map +0 -1
package/README.md
CHANGED
|
@@ -4,12 +4,13 @@
|
|
|
4
4
|
|
|
5
5
|
**26 AI tools that know every X++ class, table, form, and EDT in your D365FO codebase**
|
|
6
6
|
|
|
7
|
+
[](https://www.npmjs.com/package/d365fo-mcp)
|
|
7
8
|
[](https://opensource.org/licenses/MIT)
|
|
8
9
|
[](https://nodejs.org/)
|
|
9
10
|
[](https://www.typescriptlang.org/)
|
|
10
11
|
[](docs/TESTING.md)
|
|
11
12
|
<!-- coverage-badge:start -->
|
|
12
|
-
[](eval/COVERAGE.md) [](eval/COVERAGE.md)
|
|
13
14
|
<!-- coverage-badge:end -->
|
|
14
15
|
|
|
15
16
|
*Grounded AI development for Dynamics 365 Finance & Operations — works with GitHub Copilot and Claude Code*
|
|
@@ -18,7 +19,7 @@
|
|
|
18
19
|
[](https://insiders.vscode.dev/redirect/mcp/install?name=d365fo&quality=insiders&inputs=%5B%7B%22type%22%3A%22promptString%22%2C%22id%22%3A%22d365fo_server_url%22%2C%22description%22%3A%22D365FO%20MCP%20server%20URL%20(e.g.%20https%3A%2F%2Fyour-server.azurewebsites.net%2Fmcp%2F)%22%7D%5D&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22%24%7Binput%3Ad365fo_server_url%7D%22%7D)
|
|
19
20
|
[](https://cursor.com/install-mcp?name=d365fo&config=eyJ1cmwiOiJodHRwczovL3lvdXItc2VydmVyLmF6dXJld2Vic2l0ZXMubmV0L21jcC8ifQ%3D%3D)
|
|
20
21
|
|
|
21
|
-
*
|
|
22
|
+
*These connect an editor to a server that is already deployed — see [Quick Start](#quick-start) if you still need to set one up.*
|
|
22
23
|
|
|
23
24
|
</div>
|
|
24
25
|
|
|
@@ -73,109 +74,28 @@ Structural violations (wrong order, missing container, disallowed control) **blo
|
|
|
73
74
|
|
|
74
75
|
## Quick Start
|
|
75
76
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
| Path | Who | Install effort |
|
|
79
|
-
|------|-----|---------------|
|
|
80
|
-
| **A — Azure client** | Team member, server already deployed | `.mcp.json` only — 2 minutes |
|
|
81
|
-
| **B — Hybrid** (recommended for teams) | Azure search + local writes on your VM | Clone + build, no indexing |
|
|
82
|
-
| **C/E — Local** | Single developer, everything on the VM | Clone + build + index (~15 min) |
|
|
83
|
-
|
|
84
|
-
Full walkthrough with all scenarios: **[docs/QUICK_START.md](docs/QUICK_START.md)**
|
|
85
|
-
|
|
86
|
-
### One-line install (recommended)
|
|
87
|
-
|
|
88
|
-
Paste into PowerShell on the D365FO VM — the installer checks (and installs, if missing) Node.js and Git, clones the repository, runs `npm install`, and starts the interactive setup wizard:
|
|
77
|
+
**Installing on your own D365FO VM** — the usual case. One line in PowerShell installs Node.js if it is missing, installs the server from npm, and runs the setup wizard, which asks where the index should live and builds the C# bridge for you:
|
|
89
78
|
|
|
90
79
|
```powershell
|
|
91
80
|
irm https://raw.githubusercontent.com/dynamics365ninja/d365fo-mcp-server/main/install.ps1 | iex
|
|
92
81
|
```
|
|
93
82
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
### Interactive setup
|
|
97
|
-
|
|
98
|
-
Already cloned, or prefer to run the steps yourself? After `npm install`, the management CLI walks you through everything else — scenario selection, C# bridge build, configuration, index build — and prints the `.mcp.json` block to paste. Every answer is explained as it is asked and stored in `config/d365fo-mcp.json`; there is no `.env` to fill in (see **[docs/CONFIGURATION.md](docs/CONFIGURATION.md)** for the full setting reference):
|
|
99
|
-
|
|
100
|
-
```powershell
|
|
101
|
-
git clone https://github.com/dynamics365ninja/d365fo-mcp-server.git K:\d365fo-mcp-server
|
|
102
|
-
cd K:\d365fo-mcp-server
|
|
103
|
-
npm install
|
|
104
|
-
npm run setup # first-time setup wizard
|
|
105
|
-
npm run doctor # health check — verifies Node, build, index, bridge
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
Day-to-day management runs through the same CLI (`npx d365fo-mcp` or `npm run cli --`): `start`, `update`, `index`, `config` (change one area of the settings without re-running the wizard), and `instance add/list/run/rebuild/upgrade` for multi-instance setups. Every command works non-interactively with arguments, or asks with predefined choices when run bare.
|
|
109
|
-
|
|
110
|
-
### Manual setup
|
|
83
|
+
Already have Node.js 24+? Then the one-liner has nothing to bootstrap and you can skip it:
|
|
111
84
|
|
|
112
85
|
```powershell
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
cd K:\d365fo-mcp-server
|
|
116
|
-
npm install
|
|
117
|
-
cd bridge\D365MetadataBridge; dotnet build -c Release; cd ..\.. # C# bridge — required for writes
|
|
118
|
-
npm run build
|
|
119
|
-
|
|
120
|
-
# Local only — build the metadata index (skip for hybrid)
|
|
121
|
-
npm run setup # writes config/d365fo-mcp.json (packages path, models, prefix…)
|
|
122
|
-
npm run extract-metadata
|
|
123
|
-
npm run build-database
|
|
86
|
+
npm install -g d365fo-mcp
|
|
87
|
+
d365fo-mcp setup
|
|
124
88
|
```
|
|
125
89
|
|
|
126
|
-
|
|
127
|
-
> matching environment variable is listed in [docs/CONFIGURATION.md](docs/CONFIGURATION.md). A pre-existing
|
|
128
|
-
> `.env` keeps working and is imported by the wizard.
|
|
129
|
-
|
|
130
|
-
### Connect GitHub Copilot
|
|
131
|
-
|
|
132
|
-
1. Enable *MCP servers in Copilot* at [github.com/settings/copilot/features](https://github.com/settings/copilot/features)
|
|
133
|
-
2. Visual Studio → **Tools → Options → GitHub → Copilot** → *Enable MCP server integration in agent mode*
|
|
134
|
-
3. Create `%USERPROFILE%\.mcp.json`:
|
|
135
|
-
|
|
136
|
-
```json
|
|
137
|
-
{
|
|
138
|
-
"servers": {
|
|
139
|
-
"d365fo-azure": { "url": "https://your-server.azurewebsites.net/mcp/" },
|
|
140
|
-
"d365fo-local": {
|
|
141
|
-
"command": "node",
|
|
142
|
-
"args": ["K:\\d365fo-mcp-server\\dist\\index.js"],
|
|
143
|
-
"env": {
|
|
144
|
-
"MCP_SERVER_MODE": "write-only",
|
|
145
|
-
"D365FO_SOLUTIONS_PATH": "K:\\repos\\MySolution\\projects",
|
|
146
|
-
"D365FO_WORKSPACE_PATH": "K:\\AosService\\PackagesLocalDirectory\\YourPackage\\YourModel"
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
```
|
|
90
|
+
Re-running either is safe. An installation made before the npm package existed is a git checkout, and both are left exactly where they are and updated in place.
|
|
152
91
|
|
|
153
|
-
|
|
92
|
+
**Your team already runs a shared server?** Then you install nothing — point your editor at it:
|
|
154
93
|
|
|
155
94
|
```powershell
|
|
156
|
-
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
All options: **[docs/MCP_CONFIG.md](docs/MCP_CONFIG.md)**
|
|
160
|
-
|
|
161
|
-
### Connect Claude Code
|
|
162
|
-
|
|
163
|
-
```powershell
|
|
164
|
-
claude mcp add-json --scope user d365fo-mcp-tools '{"type":"http","url":"https://your-server.azurewebsites.net/mcp/","alwaysLoad":true}'
|
|
165
|
-
Copy-Item "K:\d365fo-mcp-server\.github\copilot-instructions.md" "C:\source\repos\CLAUDE.md"
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
Stdio variant and troubleshooting: **[docs/CLAUDE_CODE_SETUP.md](docs/CLAUDE_CODE_SETUP.md)**
|
|
169
|
-
|
|
170
|
-
### Verify
|
|
171
|
-
|
|
172
|
-
Open the AI chat (Copilot Agent Mode / Claude Code) and ask:
|
|
173
|
-
|
|
174
|
-
```
|
|
175
|
-
I'm tracing a posting issue — find every table (standard + ISV extensions) that carries the CustAccount field, so I can see where the value could get overwritten.
|
|
95
|
+
npx d365fo-mcp connect https://your-server.azurewebsites.net
|
|
176
96
|
```
|
|
177
97
|
|
|
178
|
-
|
|
98
|
+
Both paths in full — prerequisites, editor configuration for every scenario, the required instruction file, and how to verify grounding actually works: **[docs/QUICK_START.md](docs/QUICK_START.md)**
|
|
179
99
|
|
|
180
100
|
---
|
|
181
101
|
|
|
@@ -193,7 +113,7 @@ Deployment guide: [docs/SETUP_AZURE.md](docs/SETUP_AZURE.md) · CI/CD automation
|
|
|
193
113
|
|
|
194
114
|
| Getting started | Reference | Operations |
|
|
195
115
|
|-----------------|-----------|------------|
|
|
196
|
-
| [Quick Start](docs/QUICK_START.md) —
|
|
116
|
+
| [Quick Start](docs/QUICK_START.md) — connect or install | [All 26 tools](docs/MCP_TOOLS.md) | [Azure deployment](docs/SETUP_AZURE.md) |
|
|
197
117
|
| [Setup scenarios A–F](docs/SETUP.md) | [`.mcp.json` reference](docs/MCP_CONFIG.md) | [DevOps pipelines](docs/PIPELINES.md) |
|
|
198
118
|
| [Claude Code setup](docs/CLAUDE_CODE_SETUP.md) | [Architecture](docs/ARCHITECTURE.md) | [Testing](docs/TESTING.md) |
|
|
199
119
|
| [Usage examples](docs/USAGE_EXAMPLES.md) — real tool chains | [C# Bridge](docs/BRIDGE.md) | [Custom / ISV models](docs/CUSTOM_EXTENSIONS.md) |
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
<Project Sdk="Microsoft.NET.Sdk">
|
|
2
|
+
|
|
3
|
+
<PropertyGroup>
|
|
4
|
+
<OutputType>Exe</OutputType>
|
|
5
|
+
<TargetFramework>net48</TargetFramework>
|
|
6
|
+
<LangVersion>12.0</LangVersion>
|
|
7
|
+
<Nullable>enable</Nullable>
|
|
8
|
+
<RootNamespace>D365MetadataBridge</RootNamespace>
|
|
9
|
+
<AssemblyName>D365MetadataBridge</AssemblyName>
|
|
10
|
+
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
|
11
|
+
<!-- Resolve transitive assembly version conflicts in D365FO bin (e.g. SCDP 7.0.0 vs 7.0.4) -->
|
|
12
|
+
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
|
13
|
+
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
|
|
14
|
+
<!-- MSB3277: version conflict between Microsoft-shipped SCDP.dll (7.0.0) and
|
|
15
|
+
SCDPBundling.dll (depends on 7.0.4) in PackagesLocalDirectory\bin.
|
|
16
|
+
We don't control these DLLs and the bridge doesn't use SCDP at all — safe to suppress.
|
|
17
|
+
MSB3106: some D365FO versions ship MetaModel.Core with a version suffix in the filename
|
|
18
|
+
(e.g. Microsoft.Dynamics.Framework.Tools.MetaModel.Core.17.0.dll); the wildcard glob
|
|
19
|
+
picks it up automatically, so the explicit name reference is gone and this warning should
|
|
20
|
+
no longer appear — kept here as a safety net for edge-case environments. -->
|
|
21
|
+
<MSBuildWarningsAsMessages>MSB3277;MSB3106</MSBuildWarningsAsMessages>
|
|
22
|
+
</PropertyGroup>
|
|
23
|
+
|
|
24
|
+
<!--
|
|
25
|
+
D365FO bin directory — contains all Microsoft.Dynamics.*.dll assemblies.
|
|
26
|
+
Every D365FO development desktop has this directory available.
|
|
27
|
+
|
|
28
|
+
Traditional VM: K:\AosService\PackagesLocalDirectory\bin
|
|
29
|
+
Cloud-hosted: C:\AosService\PackagesLocalDirectory\bin
|
|
30
|
+
UDE (Unified Developer Experience): path from .mcp.json microsoftPackagesPath/bin
|
|
31
|
+
|
|
32
|
+
Override per-machine via:
|
|
33
|
+
dotnet build -p:D365BinPath="C:\path\to\bin"
|
|
34
|
+
or in a local Directory.Build.props (not committed to source control).
|
|
35
|
+
-->
|
|
36
|
+
<PropertyGroup>
|
|
37
|
+
<D365BinPath Condition="'$(D365BinPath)' == '' And Exists('K:\AosService\PackagesLocalDirectory\bin')">K:\AosService\PackagesLocalDirectory\bin</D365BinPath>
|
|
38
|
+
<D365BinPath Condition="'$(D365BinPath)' == '' And Exists('C:\AosService\PackagesLocalDirectory\bin')">C:\AosService\PackagesLocalDirectory\bin</D365BinPath>
|
|
39
|
+
</PropertyGroup>
|
|
40
|
+
|
|
41
|
+
<!-- NuGet packages -->
|
|
42
|
+
<ItemGroup>
|
|
43
|
+
<PackageReference Include="System.Text.Json" Version="8.0.5" />
|
|
44
|
+
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies.net48" Version="1.0.3">
|
|
45
|
+
<PrivateAssets>all</PrivateAssets>
|
|
46
|
+
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
|
|
47
|
+
</PackageReference>
|
|
48
|
+
</ItemGroup>
|
|
49
|
+
|
|
50
|
+
<!--
|
|
51
|
+
D365FO assemblies: auto-referenced from $(D365BinPath) via glob.
|
|
52
|
+
At runtime, Program.cs dynamically loads them via AppDomain.AssemblyResolve
|
|
53
|
+
from the - -packages-path argument, so Private=false (don't copy to output).
|
|
54
|
+
-->
|
|
55
|
+
<ItemGroup>
|
|
56
|
+
<Reference Include="Microsoft.CSharp" />
|
|
57
|
+
</ItemGroup>
|
|
58
|
+
<ItemGroup Condition="'$(D365BinPath)' != ''">
|
|
59
|
+
<Reference Include="$(D365BinPath)\Microsoft.Dynamics.*.dll">
|
|
60
|
+
<Private>false</Private>
|
|
61
|
+
</Reference>
|
|
62
|
+
</ItemGroup>
|
|
63
|
+
|
|
64
|
+
<!--
|
|
65
|
+
Record WHICH metamodel build we compiled against, so the bridge can warn at
|
|
66
|
+
startup when it is pointed at an environment shipping a different one.
|
|
67
|
+
|
|
68
|
+
This matters because every platform build stamps the SAME assembly version
|
|
69
|
+
(7.0.0.0) and differs only in FileVersion (e.g. 7.0.7690.155 vs 7.0.7996.33).
|
|
70
|
+
The CLR binder therefore cannot tell them apart, and the AssemblyResolve →
|
|
71
|
+
LoadFrom path in Program.cs does not enforce identity — a mismatched DLL
|
|
72
|
+
loads silently and only blows up later as MissingMethodException /
|
|
73
|
+
TypeLoadException at JIT time, far from the cause. See issue #703.
|
|
74
|
+
-->
|
|
75
|
+
<Target Name="CaptureMetamodelBuildVersion"
|
|
76
|
+
BeforeTargets="BeforeCompile"
|
|
77
|
+
Inputs="$(D365BinPath)\Microsoft.Dynamics.AX.Metadata.dll"
|
|
78
|
+
Outputs="$(IntermediateOutputPath)BuildInfo.g.cs">
|
|
79
|
+
<PropertyGroup>
|
|
80
|
+
<_MetamodelDll>$(D365BinPath)\Microsoft.Dynamics.AX.Metadata.dll</_MetamodelDll>
|
|
81
|
+
</PropertyGroup>
|
|
82
|
+
<GetFileVersion FilePath="$(_MetamodelDll)" Condition="Exists('$(_MetamodelDll)')">
|
|
83
|
+
<Output TaskParameter="Version" PropertyName="_MetamodelFileVersion" />
|
|
84
|
+
</GetFileVersion>
|
|
85
|
+
<Message Importance="high"
|
|
86
|
+
Text="Bridge compiles against metamodel $(_MetamodelFileVersion) from $(D365BinPath)"
|
|
87
|
+
Condition="'$(_MetamodelFileVersion)' != ''" />
|
|
88
|
+
<Warning Text="D365BinPath '$(D365BinPath)' has no Microsoft.Dynamics.AX.Metadata.dll — the runtime version check will be disabled."
|
|
89
|
+
Condition="'$(_MetamodelFileVersion)' == ''" />
|
|
90
|
+
<WriteLinesToFile File="$(IntermediateOutputPath)BuildInfo.g.cs" Overwrite="true" WriteOnlyWhenDifferent="true"
|
|
91
|
+
Lines="// <auto-generated /> Produced by the CaptureMetamodelBuildVersion target.;namespace D365MetadataBridge;{; internal static class BuildInfo; {; /// <summary>FileVersion of the Microsoft.Dynamics.AX.Metadata.dll this build compiled against, or "" if unknown.</summary>; internal const string MetamodelFileVersion = "$(_MetamodelFileVersion)"%3B; /// <summary>bin directory those reference assemblies came from, or "" if unknown.</summary>; internal const string MetamodelBinPath = @"$(D365BinPath)"%3B; };}" />
|
|
92
|
+
<ItemGroup>
|
|
93
|
+
<Compile Include="$(IntermediateOutputPath)BuildInfo.g.cs" />
|
|
94
|
+
<FileWrites Include="$(IntermediateOutputPath)BuildInfo.g.cs" />
|
|
95
|
+
</ItemGroup>
|
|
96
|
+
</Target>
|
|
97
|
+
|
|
98
|
+
<!--
|
|
99
|
+
MSBuild has no built-in task for reading a file's FileVersion (GetAssemblyIdentity
|
|
100
|
+
returns the assembly version — 7.0.0.0 for every platform build, which is exactly
|
|
101
|
+
the value that cannot distinguish them).
|
|
102
|
+
-->
|
|
103
|
+
<UsingTask TaskName="GetFileVersion" TaskFactory="RoslynCodeTaskFactory"
|
|
104
|
+
AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll">
|
|
105
|
+
<ParameterGroup>
|
|
106
|
+
<FilePath ParameterType="System.String" Required="true" />
|
|
107
|
+
<Version ParameterType="System.String" Output="true" />
|
|
108
|
+
</ParameterGroup>
|
|
109
|
+
<Task>
|
|
110
|
+
<Code Type="Fragment" Language="cs">
|
|
111
|
+
Version = System.Diagnostics.FileVersionInfo.GetVersionInfo(FilePath).FileVersion ?? "";
|
|
112
|
+
</Code>
|
|
113
|
+
</Task>
|
|
114
|
+
</UsingTask>
|
|
115
|
+
|
|
116
|
+
</Project>
|