Tool Reference

All 50 Tools Documented

Every tool available in the ALM XPP MCP server — parameters, behaviour, and example prompts.

4 Search 9 Relations 8 Quality & Security 6 Generation 13 Azure DevOps 10 Functional
No tools match your search.
Status2 tools
Server health, index statistics and version information.
healthcheck
Returns the server status, MCP protocol version, index load state and the number of indexed chunks. Use this first to confirm the server is reachable.
— no parameters —
Is the MCP server running and what version is it?
get_index_stats
Reports the total number of indexed chunks broken down by AOT type (AxTable, AxClass, AxForm…) and by model. Useful for verifying what is indexed.
— no parameters —
How many objects are indexed and what types are covered?
Retrieve3 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?
Relations & Impact6 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.
tableName
Which data entity exposes SalesTable over OData?
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?
Quality & Analysis5 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?
explain_code_complexity
Measures cyclomatic complexity for each method, identifies deeply nested control flows and highlights methods that are candidates for refactoring.
objectName
What is the cyclomatic complexity of InventTrans?
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.
errorOrSymptom
Error posting sales order — Object could not be found in the AOT
analyze_trace
Retrieves and analyses a previously uploaded D365 performance trace by its ID. Returns top slow methods, long SQL statements and optimisation recommendations. Includes an upload guide if the trace ID is not found.
traceId
Analyse trace ID abc123 and tell me the top slow methods
Security & Licensing3 tools
Security chain tracing, role–license mapping and architecture analysis.
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.
securityObjectName
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?
analyze_license_architecture
Given a business requirement, recommends the optimal Dynamics 365 license mix (Team Members / Operations Activity / full Finance or Operations) with rationale for each user persona.
requirement userPersonas existingRole
We have 50 users who enter sales orders and approve invoices — what licenses do we need?
Code Generation6 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_data_entity
Generates a complete AxDataEntityView AOT XML artefact for a given table, with all field mappings, staging table definition and OData annotations.
tableName entityName naturalKey
Generate a data entity for SalesTable named SalesTableEntity
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
generate_fdd_telemetry
Generates an ALMMonitoringTelemetry{FDD} class with CoC stubs and event-handler hooks for every method in the target object, ready to receive custom telemetry instrumentation.
fddCode objectName methodNames customProperties prefix
Generate a telemetry class for FDD001 tracking SalesTable post methods
Functional Domain6 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_security_role
Explains a security role in plain business language: what the user can see and do, which modules are accessible, and typical job titles associated with the role.
roleName
Explain what the SystemAdministrator role allows users to do in business terms
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?
describe_report
Describes an SSRS report object: its data sources, query objects, available parameters, print destinations and the business use-case it covers.
reportName
What data does the SalesInvoice.Report print and what are its parameters?
translate_error_for_business
Translates a technical D365 error or infolog message into plain language a business user can understand, with likely causes and next steps — no X++ knowledge required.
errorMessage
What does "Object 'SalesTable' could not be found in the AOT" mean for an end user?
explain_for_business
Explains any D365 AOT object, module or concept in plain English for a non-technical business audience: what it does, what data it holds, how it is used in business processes.
topic
Explain what SalesTable is and how it relates to the order-to-cash process
Differentiators3 tools
Upgrade impact analysis, business process mapping and release artefacts.
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
generate_release_package_manifest
Generates a structured release-package manifest listing all changed objects in the custom model, organised by type, with risk level and deployment order recommendations.
packageDescription customModelPath
Generate a release manifest for Sprint 1 — Sales module enhancements
Meta / AI Orchestration1 tool
Multi-step AI planning that automatically selects and chains the right tools.
plan_and_execute
Takes a free-text requirement, automatically builds a tool execution plan, chains the right tools in sequence and returns a consolidated answer. Use this when you are not sure which tool to call.
requirement maxSteps
What fields does SalesTable have and which roles can access it?
Azure DevOps13 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_auto_test_scenario
Generates automated test scenarios (Given/When/Then format) from a work item's acceptance criteria, covering happy path and edge cases based on D365 business logic.
workItemId
Generate test scenarios for work item #99
ado_changelog_from_prs
Generates a formatted changelog / release notes document from the merged pull requests in a given sprint or date range, grouped by feature area.
sprintName dateFrom dateTo
Generate release notes for Sprint 3
ado_knowledge_gap_detector
Searches work items and PRs for references to D365 objects or business concepts and identifies areas where the team lacks documented understanding or has recurring questions.
query
Where does the team lack knowledge about the payment process?
sprint_capacity
Returns the capacity, planned hours and remaining capacity for each team member in a sprint. Combines ADO capacity data with work item assignments.
sprintName
What is the team capacity for Sprint 1 and who is over-allocated?
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