No tools match your search.
Search5 tools
Semantic vector search across 1.3M+ indexed D365 F&O code chunks and labels.
search_d365_code
Semantic vector search across the entire D365 F&O knowledge base. Returns ranked code snippets with file paths, field details and method signatures.
query
topK
aotType
modelFilter
Find all X++ classes related to posting sales invoices
search_labels
Finds D365 labels by ID (e.g.
@SYS12345) or by text in any language. Returns the label text across all available locales.
query
languageFilter
What is the label @SYS12345 in French and English?
batch_search
Runs several searches in one call — useful when an analysis needs many objects at once.
queriestopKtopObjects
federated_search
Searches the standard code, your custom models and your uploaded documents together, in a single ranked result.
querytopKpeerApiKeys
Where is the credit limit rule, in standard and in our code?
search_context_docs
Searches the functional documents you uploaded — specifications, mapping sheets, meeting notes.
querymaxResults
Retrieve6 tools
Get detailed metadata for a specific AOT object by exact name.
get_object_details
Returns full metadata for a named AOT object: all fields, methods, base classes, indexes, relations, labels and source lines. The fastest way to inspect a known object.
objectName
Show me all fields and methods of SalesTable
list_objects
Lists all indexed objects matching a given AOT type (e.g.
AxTable, AxClass, AxForm, AxSecurityRole). Supports optional model filter and result limit.
aotType
modelFilter
topN
List all AxTable objects in the ApplicationSuite model
list_custom_model_objects
Scans the custom model folder on disk and lists all extension and customisation objects found. Requires
D365_CUSTOM_MODEL_PATH to be set or customModelPath passed directly.
customModelPath
What custom objects do I have in my extension model?
get_object_context
Everything about an object in one call: structure, extensions and relations. Replaces four separate lookups.
objectNamemethodNameaotTypeincludeValidation
Give me the full picture of CustTable
compare_objects
Puts two objects side by side and lists what differs — fields, methods, properties.
objectNameAobjectNameB
get_menu_item_info
Describes a menu item and what it opens, the usual entry point of a security chain.
menuItemNamemenuItemType
Relations & Impact11 tools
Discover dependencies, callers, extensions and cross-object relationships.
find_related_objects
Returns all objects that are related to the given object: forms that use it as a data source, tables linked via FK relations, and classes that instantiate it.
objectName
Which forms and classes depend on SalesTable?
find_references
Full cross-object scan for every usage of a field, method or EDT. Shows file paths, line numbers and context for each reference found in the index.
name
maxResults
Find every place CustAccount field is used across the codebase
find_extensions
Finds all Chain-of-Command extensions, event handlers and table/form extensions that target a base object. Essential before modifying any standard object.
baseObjectName
Are there any existing extensions or CoC methods on SalesTable?
get_relation_graph
Generates a graph of FK relations radiating from the given object up to a configurable depth. Returns a structured list and an optional Mermaid ER diagram.
objectName
depth
Show me the foreign key relationship graph for SalesTable at depth 2
find_entity_for_table
Identifies which
AxDataEntityView objects expose a given table over OData or the Data Management Framework. Returns entity name, fields mapped and supported operations. Pass generateIfMissing: true to auto-generate a complete AOT entity artefact when none exists.
tableName
generateIfMissing?
Which data entity exposes SalesTable over OData? Generate one if missing.
find_callers
Looks up every caller of a specific method using the XRef call-graph index. Requires XRef to be generated first -- the tool returns a setup guide if the index is not loaded.
methodKey
Which methods call SalesFormLetter.run?
find_change_impact
Lists everything that would be affected if you changed a given object — the blast radius before you touch it.
objectNamemaxDepth
What breaks if I change this field?
find_event_handlers
Finds the event handlers already attached to an object, before you add another one.
objectNameeventNamehandlerType
find_relation_path
Shows how two objects are connected, through which tables and relations.
sourcetargetmaxDepthmaxPaths
How is a sales order linked to a customer invoice?
find_similar_implementations
Finds objects built the same way, so you follow an existing pattern instead of inventing one.
objectNamemaxResultsfilterAotType
trace_field_lineage
Follows one field across the system: who writes it, who reads it, who filters on it.
tableNamefieldNamemaxPerCategory
Where does this amount field come from?
Quality & Analysis7 tools
Code review, performance audit, complexity analysis and error diagnostics.
validate_best_practices
Audits an AOT object against D365 best-practice rules: ttsBegin/ttsCommit pairing, select optimisation, security entry points, RecId usage, and more. Returns a scored report with fix suggestions.
objectName
Review SalesTable for D365 best-practice violations
detect_performance_issues
Scans an object for known D365 performance anti-patterns: row-by-row operations, N+1 query loops, missing indexes, excessive cross-company queries and unbounded selects.
objectName
Are there any performance anti-patterns in SalesTable?
find_error_patterns
Looks up a runtime error message or symptom description in the known-error database and D365 label index. Returns likely root causes, affected objects and recommended fixes. Pass
audienceType: "business" to get a plain-language explanation suitable for end users.
errorOrSymptom
audienceType?
Error posting sales order -- Object could not be found in the AOT
fix_best_practice_violations
Proposes the corrections for the violations found, rather than only listing them.
objectNamegeneratePatchesmaxViolations
recommend_extension_strategy
Advises how to extend an object — Chain of Command, event handler or table extension — based on how it is actually built.
objectNameintent
What is the right way to extend this method?
suggest_edt
Suggests the right Extended Data Type for a new field instead of a raw primitive.
fieldNamepurposebaseTypetopK
validate_object_naming
Checks a name against your naming convention before the object is created.
proposedNameaotTypeisvPrefix
Security & Licensing4 tools
Security chain tracing and role-license mapping.
trace_security_chain
Traces the full Role -> Duty -> Privilege -> Entry Point security chain for a given object. Shows exactly which roles grant access and at what permission level. Pass
businessLanguage: true to get a plain-language explanation of what the role allows users to see and do.
securityObjectName
businessLanguage?
Which roles have access to the SalesInvoice menu item?
trace_role_license_tree
Builds the complete duty/privilege tree for a security role and infers the minimum Dynamics 365 license tier required (Team Members -> Activity -> Finance/Operations) for each entry point.
roleName
maxEntryPoints
What license tier is needed for the Accounts Payable Payments Clerk role?
get_security_coverage_for_object
Shows which privileges, duties and roles actually cover an object — and whether any gap remains.
objectNameminGrantmaxRoles
Is this form reachable without a licence?
generate_security_report
Produces a full security and licensing report across the indexed models.
filterModelmaxRolesDetail
Code Generation8 tools
Generate X++ code, SQL queries, diagrams, unit tests and AOT artefacts.
generate_unit_test
Generates a complete SysTest class for an AOT object with arrange/act/assert stubs, mock security context, and test method skeletons for each public method.
objectName
methodNames
Generate unit tests for the SalesTable class
suggest_refactoring
Analyses an object and suggests concrete refactoring opportunities: extract method, guard clauses, convert row-by-row loops to set-based operations, and reduce complexity.
objectName
How should I refactor InventTrans to improve readability and performance?
generate_diagram
Generates Mermaid diagrams:
er for entity-relationship, flow for execution flowchart of a method, or security for a role/duty/privilege chain.
diagramType
objectName
methodName
Generate an ER diagram for SalesTable and its related tables
generate_query
Generates both X++
select statements and equivalent T-SQL for a given table with optional joins and WHERE clauses, using correct D365 field names from the index.
tableName
joinTables
whereClause
Write an X++ query that selects from SalesTable joined with CustTable where SalesStatus is Open
create_aot_object
Creates a new AOT object with valid metadata XML, respecting the strict element order D365 requires.
aotTypenameoptions
generate_data_entity
Generates a data entity over an existing table, ready for OData or data migration.
tableNameentityNameisPublicpublicEntityNamejoinTables
Create a data entity for our custom contract table
generate_xpp_form
Generates a form following a standard D365 pattern rather than a blank canvas.
formPatternformNameprimaryTablesecondaryTablefields
generate_xpp_template
Generates the skeleton for a Chain of Command, an event handler or a find method, with the real signatures.
templateTypeobjectNamemethodName
Functional Domain2 tools
Business-readable explanations, FDD generation, workflow and report analysis.
generate_fdd
Generates a Functional Design Document skeleton for any AOT object, combining knowledge-base metadata with a structured Word-compatible template covering business rules, fields, integrations and test scenarios.
objectName
fddTemplate
Generate an FDD document for the SalesTable customisation
explain_workflow
Describes the design and configuration of a D365 workflow object: approval steps, routing rules, escalation paths, conditions and the business documents it governs.
objectName
How does the SalesOrderApprovalWorkflow work and who approves it?
Differentiators2 tools
Upgrade impact analysis and business process mapping.
analyze_upgrade_impact
Analyses the custom model folder to identify objects that may be broken or require rework after a D365 platform or application upgrade. Flags deprecated APIs, changed signatures and removed objects.
customModelPath
targetVersion
What custom objects will be affected by upgrading from 10.0.36 to 10.0.40?
map_business_process
Maps a named business process (Order-to-Cash, Procure-to-Pay, Hire-to-Retire...) to the D365 modules, forms, tables and workflows involved at each step.
processName
Map the Order-to-Cash process to D365 modules and key tables
Upgrade & Release Notes6 tools
Compare two D365 versions against your own customisations and produce the regression report as Word and PowerPoint. Generic release notes tell you what Microsoft changed; these tools tell you what breaks in your code.
resolve_client_profile
Finds the saved profile for the current client — current version, target version and custom models — so the next steps need no manual input.
Do we already have an upgrade profile for this client?
save_client_profile
Records a client context once: versions and the list of their custom models, including any ISV models attached.
namecurrentVersionTagtargetVersionTagcustomModelIds
list_release_note_inputs
Lists the D365 versions and custom models actually indexed on the server, so the comparison uses real values instead of guesses.
prepare_release_note_context
Computes the differences between two versions and cross-references them against the client custom code, returning every impacted object.
v1v2customModelIds
What breaks in our code between 10.0.2645 and the next release?
generate_release_note_document
Turns the analysis into a downloadable Word report and PowerPoint deck, ready for a steering committee.
v1v2customModelLabelbusinessContext
diff_model_versions
Shows the changelog between two snapshots of the same model — what was added, changed or removed.
actionpath1path2OrLabelfilterModel
Live Environment5 tools
Connect to a running D365 environment to read and write real records. This is what turns « the code compiles » into « the feature works on the real system ».
d365fo_set_connection
Points the assistant at one of your D365 environments for the rest of the session.
baseUrltenantIdclientIdttlMinutes
d365fo_clear_connection
Disconnects from the environment and clears the stored credentials.
odata_export_entity
Reads real records from any data entity, with filters, to check that data exists and looks right.
entitySetselectfilterorderBy
Export the 10 latest customer invoices for company DAT
odata_upsert_rows
Creates or updates records — useful to seed test data before validating a screen.
entitySetrowsJsonkeyFieldslegalEntitycrossCompany
get_data_entity_info
Describes a data entity: fields, keys and the tables behind it, before you rely on it for an integration.
entityName
What fields does the CustomersV3 entity expose?
Data Migration7 tools
Build, filter, run and monitor Data Management projects — import, export and Excel transformation — from the assistant instead of the D365 UI.
dmf
Entry point for Data Management: lists what the connected environment can import or export.
actionentityNamelegalEntityfilePath
dmf_create_data_project
Creates an import or export project with the entities you need.
projectNameentitiessourceNameoperationType
Create an export project for customers and their addresses
dmf_apply_entity_filter
Restricts one entity of the project to matching records only, so the export stays targeted.
projectNameentityRowNameaotEntityName
dmf_import_file
Uploads a file into an import project and starts the job.
entityNamelegalEntityfilePathcsvContentdefinitionGroupId
dmf_export_package
Runs the export and retrieves the resulting package.
definitionGroupIdlegalEntitypackageNamereExecutepollTimeoutSeconds
dmf_get_job_status
Follows a running job and reports its outcome, including per-entity errors.
executionId
dmf_transform_excel
Reshapes an Excel file to match the expected entity format before import.
mappingJsonsourceUrlfilePath
Performance Diagnostics4 tools
Query the telemetry of the real environment and get a ranked diagnosis. Answers « why is it slow in production » with measurements rather than opinions.
appinsights_set_connection
Connects the assistant to your Application Insights workspace.
workspaceIdtenantIdclientIdttlMinutes
appinsights_clear_connection
Removes the stored telemetry connection.
appinsights_query
Runs a telemetry query on the live environment and returns the measured results.
kqllookbackHoursmaxRows
appinsights_diagnose_slowness
Analyses recent telemetry and ranks what is actually slow, with the evidence behind each finding.
lookbackHoursminDurationMstop
Why has the sales order form become slow this week?
Orchestration & Reporting6 tools
Plan a multi-step change, explain it to a non-technical stakeholder, and keep the index aligned with your repositories.
plan_and_execute
Breaks a request into ordered steps, runs the right tools for each, and reports what was done.
goalworkItemIdobjectNameproject
summarize_for_stakeholder
Rewrites a technical analysis into plain business language for a manager or a steering committee.
textaudience
Summarise this impact analysis for our finance director
resolve_workspace_roots
Detects the D365 folders available to the assistant so paths never have to be typed by hand.
resync_devops_index
Refreshes the index from your Azure DevOps repositories after a merge.
pat
healthcheck
Reports server status: index loaded, version, and what is available right now.
get_output_page
Fetches the next page of a long result instead of truncating it.
tokenpage
Azure DevOps17 tools
Work items, pull requests, sprint capacity, gap analysis and changelog generation. Requires ADO connection configured in your API settings.
ado_query_workitems
Lists or searches Azure DevOps work items (Bugs, Tasks, User Stories, Features, FDDs) by keyword, state, assignee or iteration. Returns title, ID, state and URL.
query
state
assignee
iteration
Show me all open Bugs assigned to me in the current sprint
ado_analyze_workitem
Deep analysis of a single work item by ID: description, acceptance criteria, linked items, comments, code changes and impact assessment on the D365 codebase.
workItemId
Analyse work item #1234 and tell me which D365 objects it affects
ado_list_prs
Lists pull requests in the configured ADO repository with optional filters for status (active, completed, abandoned) and author.
status
author
maxResults
Show me all active pull requests in the repository
ado_analyze_pr_impact
Analyses the code changes in a pull request and reports which D365 objects were modified, potential breaking changes, and best-practice violations introduced by the PR.
pullRequestId
What is the impact of PR #42 on the codebase?
ado_gap_fit_analysis
Compares a work item's requirements against D365 standard functionality and identifies gaps that require customisation vs features already covered by standard.
workItemId
Is work item #56 a gap or covered by D365 standard?
ado_estimate_effort
Estimates development effort (hours) for a work item by analysing its requirements against the D365 knowledge base and returning a range with confidence score and assumptions.
workItemId
teamVelocity
Estimate the development effort for work item #78
ado_post_comment
Posts a comment to an Azure DevOps work item. Write operation -- the comment will be visible to all project members.
workItemId
comment
Add a comment to work item #5 summarising the gap analysis result
ado_post_pr_comment
Posts a review comment to an Azure DevOps pull request thread. Write operation -- visible to the PR author and reviewers.
pullRequestId
comment
filePath
lineNumber
Post a review comment on PR #20 about the missing ttsBegin
ado_create_task
Creates a child development Task under a parent work item with a title, description and estimated hours. Write operation -- creates a real ADO work item.
parentWorkItemId
title
estimatedHours
description
assignTo
Create a development task under work item #10 for the SalesTable extension
ado_read_attachment
Reads the actual CONTENT of a work item attachment -- not just its metadata. Excel (.xlsx/.xlsm) is rendered as a markdown table, Word (.docx) as markdown paragraphs/tables preserving document order, plain text formats as-is, images as viewable inline images.
workItemId
fileName
sheetName
Read the Excel file attached to work item #34 and list every row
ado_update_workitem
Updates a work item — state, fields, assignment — from the assistant.
workItemIdfieldsJsonproject
ado_review_xpp_pr
Reviews the X++ of a pull request against D365 best practices and posts the findings.
prIdrepositoryIdprojectmaxDeepAnalysis
Review PR 412 before I approve it
ado_pr_dependency_map
Shows which pull requests touch the same objects, to spot conflicts before the merge.
repositoryIdprojectstatustargetBranch
ado_wiki_list
Lists the wikis and pages available in the project.
project
ado_wiki_get_page
Reads a wiki page so the assistant works from your own documentation.
pathwikiIdentifierincludeSubPagesproject
ado_wiki_create_or_update_page
Writes or updates a wiki page — useful to publish a generated design document.
pathcontentwikiIdentifierproject
ado_wiki_delete_page
Removes a wiki page.
pathwikiIdentifierproject
Local server only36 tools
The 36 tools below are not available in the cloud, by design: they read and write your
developer machine — AOT files, the D365 build toolchain, your Git working copy. They ship with the
local server, which also carries the 85 shared tools documented above.
Local — AOT Write12 tools
Creates and edits AOT metadata on your dev box. Never available in the cloud: it writes to your file system.
write_aot_object
Write a D365 F&O AOT XML scaffold file directly to the ISV custom model on disk.
aotType
name
xml
customModelPath
overwrite
modify_aot_object
Incrementally modify an EXISTING D365 F&O AOT object in place, the way the platform does it: read -> mutate -> IMetaXxxProvider.Update (Microsoft re-serialises the file = schema-correct).
op
objectType
objectName
params
modify_d365fo_file
Safely edit an existing D365 F&O AOT XML file on disk.
aotType
name
rollback
customModelPath
create_label_file
Bootstrap a new label file for a custom D365 model.
labelFileId
language
customModelPath
add_label
Insert or update a label entry in the ISV custom model .label.txt file on disk.
labelFileId
labelId
text
comment
language
rename_label
Rename a label key inside the ISV custom model on disk.
labelFileId
oldLabelId
newLabelId
customModelPath
dryRun
validate_model_xml
Bulk-scans every AxClass/AxTable/AxForm/AxEnum/AxEdt/AxView/AxQuery/AxDataEntityView/...
modelPath
modelName
includeTypes
excludeTypes
verify_d365fo_project
Verify that D365 F&O AOT objects exist on disk AND are registered in a .rnrproj project file.
objects
customModelPath
projectPath
update_symbol_index
Refresh the live-source cache after writing AOT objects with write_aot_object.
customModelPath
resolve_references
Batch existence check for identifiers you are about to use in AOT XML or X++.
identifiers
expectedTypes
get_method_source
Return the full X++ source of ONE method.
objectName
methodName
customModelPath
review_workspace_changes
List all AOT XML files modified in the custom model within a time window.
sinceMinutes
customModelPath
Local — Build & Deploy14 tools
Drives the real D365 toolchain: xppc, SyncEngine, ModelUtil, the test runner and the packaging step.
build_model
Compile a D365 F&O model to IL (X++ → .NET).
modelName
skipLabels
false
packagesPath
standardModelPath
build_and_deploy
Build and deploy a D365 F&O model on the local developer machine.
modelName
skipBuild
skipLabels
skipPackage
skipDeploy
deploy_model
Create a D365 F&O deployable package (.zip) for cloud deployment to LCS or PPAC/UDE.
modelName
packageType
buildMode
version
outputDir
sync_database
Synchronise the D365 F&O database with the current AOT schema.
modelName
scope
tables
packagesPath
standardModelPath
get_build_errors
Parse an xppc.exe or MSBuild log file and return a structured error/warning table.
logFilePath
modelName
packagesPath
includeWarnings
run_best_practices_check
Run xppc.exe -BestPractices for the specified D365 model and return a structured BP violations table.
modelName
packagesPath
standardModelPath
run_best_practices_check_scoped
Run the D365 standalone Best-Practices checker (xppbp.exe, via the metadata bridge) scoped to a SINGLE just-written AOT object -- much faster than the whole-model run_best_practices_check for a post-write validation loop.
module
model
to
objectType
objectName
run_compile_scoped
Compile ONLY the specified tables/classes/queries/forms via xppc.exe (through the metadata bridge) -- much faster than the whole-model run_best_practices_check/build_model for a quick post-write compile check on one or a few just-written objects.
module
model
tables
classes
queries
run_systest
Run a D365 SysTestCase class via SysTestRunner.exe and return parsed test results.
testClassName
modelName
packagesPath
standardModelPath
resolve_d365_bindir
Resolve the D365 build toolchain BINDIR for the current machine — without hardcoding the PEAP version.
standardModelPath
packagesPath
create_d365_model
Create a new D365 F&O model (descriptor + AOT folder structure) using the official ModelUtil.exe CLI.
modelName
publisher
layer
version
moduleReferences
generate_solution_zip
Returns the path to a generated .zip containing a full D365 project with Descriptor, .rnrproj, AOT folders, and one XML file per object.
specJson
outputPath
scaffold_vs_project
Scaffold the Visual Studio Finance Operations project (.rnrproj) and solution (.sln) files for a D365 model.
modelName
solutionName
projectsLocation
version
build_xref_index
Auto-discovers the XRef SQL database in LocalDB matching the current D365 version and builds xref_index.json.gz.
version
sqlServer
outputDir
Local — Form Patterns3 tools
Reads the live Microsoft PatternFactory, so a generated form follows the pattern the compiler will enforce.
get_form_pattern_requirements
Enumerate a D365 form pattern's MANDATED control tree straight from Microsoft's PatternFactory (required + optional controls, sub-patterns, and restricted property values like Style=Tabular).
patternName
version
includeOptional
scaffold_form_from_pattern
Generate an AxForm AOT XML SKELETON whose control tree is derived LIVE from Microsoft's PatternFactory definition (not a hand-curated static template).
patternName
formName
source
primaryTable
fields
validate_form_pattern
Validate AxForm AOT XML against D365 structural rules BEFORE calling write_aot_object.
xml
SimpleList
DetailsMaster
DetailsTransaction
ListPage
Local — Git & Delivery5 tools
Pushes the work you just generated and opens the pull request, plus two Azure DevOps planning helpers.
ado_create_branch
Creates a remote branch from `sourceBranch` (default: the repo's default branch) and, when `workItemId` is supplied, links the branch to that work item.
repositoryId
branchName
sourceBranch
workItemId
project
ado_push_files
Reads each local file from disk and commits all of them to `branchName` in a single push via the ADO Git Pushes API — no local git working copy or PowerShell needed.
repositoryId
branchName
commitMessage
repoRoot
files
ado_create_pull_request
Creates a PR from `sourceBranch` into `targetBranch`, sets the title/description, links the work item, and (optionally) assigns reviewers.
repositoryId
sourceBranch
targetBranch
title
description
ado_workitem_dor_check
Validate a Work Item against a D365-aware Definition of Ready.
workItemId
project
ado_sprint_capacity_d365
D365-aware capacity estimate for an iteration / sprint.
iterationPath
project
workItemType
Local — Deep Analysis2 tools
Reads artefacts that only exist on your machine: the full custom model and captured ETW traces.
customization_analysis_report
Produces a Customization Analysis Report (CAR) for the active custom model: complexity hotspots, framework patterns detected (CoC, SysOperation, RunBase...), missing pattern methods, and quick-fix suggestions.
objectName
topComplexCount
topObjectsForPatterns
analyze_etw_trace
Analyze a D365 F&O ETW trace (.etl or .etlx) and surface the top SQL queries, hot X++ methods, exceptions and batch jobs.
etlPath
topSqlCount
topMethodsCount
topExceptionsCount