ALM X++ MCP Server
by @alimbenhelal-pro · io.github.alimbenhelal-pro/alm-xpp-mcp
D365 F&O: 90 AI tools over 200K+ objects, 25M+ cross-refs, 24M+ label translations.
- Category
- Cloud and DevOps
- Connection
- Remote (HTTP)
- Tools
- 60 reported
- Status
- Online
Connect it to your AI
Claude Code
claude mcp add --transport http alm-xpp-mcp https://api.almxpp.com/mcpClaude, ChatGPT, Cursor and other apps
Add it as a custom connector with this URL (Streamable HTTP):
https://api.almxpp.com/mcpOr run it locally (npm)
claude mcp add alm-xpp-mcp -e ALMXPPMCP_API_KEY=… -- npx -y almxppmcp@1.5.1Needs: ALMXPPMCP_API_KEY
Cursor, VS Code and other apps (mcp.json)
{
"mcpServers": {
"alm-xpp-mcp": {
"url": "https://api.almxpp.com/mcp"
}
}
}Tools it offers
60 tools, as the server itself reported during our check on Oct 31, 2026.
validate_best_practicesRun an in-house best-practice audit on any AOT object (custom or standard), from the indexed source -- NOT the Microsoft BP checker. Rules are this server's own: SEC (security chain), PERF (firstOnly, set-based, N+1), TXfind_extensionsFind all extension objects (AxClassExtension, AxTableExtension, AxFormExtension, AxEnumExtension), CoC classes ([ExtensionOf]), and event handlers for a base object. Also queries Azure DevOps Code Search in real-time forado_create_bug_from_testWHEN: a test case failed and the failure must become a Bug in Azure DevOps. Triggers: 'open a bug for this failed test', 'crée le bug depuis le test', 'file the defect'. Builds the Bug from the test case: its steps becomdmf_import_fileBulk-import a CSV file into a D365 F&O entity through the Data Management package REST API. Builds the package (Manifest + header + CSV) in memory, uploads it to Azure blob, then calls ImportFromPackage which AUTO-CREATEsearch_d365_codeWHEN: object name is unknown, partial, or you need to find by concept/keyword. Search the D365 F&O knowledge base for X++ code, tables, classes, forms, views, enums, EDTs, security objects using natural language or partidmf_transform_excelTransform a multi-sheet Excel (.xlsx) into DMF-ready rows using a data-driven JSON mapping -- equivalent to FO_TransformExcelForDMF. NO FO credentials required (offline transform). Provide the workbook via ONE of: sourcegenerate_queryWHEN: developer needs correct X++ select or T-SQL for D365 tables with proper joins. Triggers: 'X++ select', 'generate a query', 'SQL for', 'join with', 'how to query', 'générer une requête', 'write a select statement',ado_wiki_delete_pageAZURE DEVOPS ONLY -- Delete a wiki page. This also deletes its sub-pages if any exist under it. Requires DEVOPS_ORG_URL + DEVOPS_PAT env vars (PAT needs Wiki: Read & Write scope).appinsights_diagnose_slownessWHEN: user wants to understand/deduce why a D365 F&O environment feels slow, using the real Application Insights telemetry the environment already emits -- no trace file upload needed. Runs a set of canned KQL queries anado_wiki_listAZURE DEVOPS ONLY -- List all wikis in a project (the project wiki plus any published code-as-wiki repos). Use this FIRST when the user doesn't know the wiki's exact name/id, or to confirm which wiki to target before reaget_object_detailsWHEN: you know the EXACT object name. Triggers: user gives an exact name like 'SalesTable', 'CustTable', 'VendInvoiceJour', any PascalCase D365 object name. Get complete details: all fields, methods, relations, indexes,ado_query_workitemsAZURE DEVOPS ONLY -- Query Work Items (Bugs, Tasks, FDDs, User Stories, CRs) in Azure DevOps. [~] PRIORITY TRIGGER: use this tool when the user mentions 'FDD', 'RDD', 'IDD', 'CR', 'Task', 'Workitem', 'Work Item', 'Bug',dmf_apply_entity_filterApply a single-field value filter to ONE entity row of an existing DMF project, so the export only contains the matching records. The kernel builds the packed query (custom 'GenerateQueryData' action), the container enveado_update_workitemUpdate one or more fields on an existing Azure DevOps Work Item. Can update any standard field (System.Description, System.Title, System.State, System.AssignedTo, ...) or custom field (Custom.Extensionlifecyclestatus, ..find_referencesFull index scan for all usages of an object, method, field, or label ID. Use for impact analysis before changing or deleting an object. EXPENSIVE — O(1M+ chunks). Prefer find_callers when XRef index is loaded (O(1)). Labado_gap_fit_analysisWHEN: user asks whether a D365 requirement is standard, needs config, needs an extension, or is a full gap. Also triggered by gap analysis or fit/gap classification of a Work Item. GAP / FIT CLASSIFIER -- Analyse a D365batch_searchWHEN: you need context on multiple D365 objects or concepts simultaneously -- runs all queries in parallel. Use INSTEAD of multiple sequential search_d365_code calls -- each line becomes one parallel search. Maximum 6 quado_read_attachmentAZURE DEVOPS ONLY -- Reads the ACTUAL CONTENT of a file attached to a work item (Excel spreadsheet, Word document, text/CSV/JSON/XML file, or image). WHEN: a work item (FDD/RDD/CR/Bug/Task/User Story) has an Excel/Word aerp_read_sessionWHEN: to READ from the ERP through form tools, where several calls must share ONE ERP session: open a form, filter its grid, read its values. Each separate erp_read / erp_call starts a new ERP session, so a form opened btrace_field_lineageWHEN: you need to understand the full data lifecycle of a D365 F&O table field: who writes it, who reads it, which forms display it, which reports use it, and which tables have FK relationships to its parent table. Triggplan_and_executeCHAIN-OF-TOOLS PLANNER -- Execute a multi-step JSON plan in ONE call by chaining tools. Pass an EXPLICIT JSON array of steps (NL parsing disabled to prevent ambiguity). Maximum 5 steps per plan. The chain stops on any crfind_similar_implementationsFind D365 objects structurally similar to the one you supply (same kind, similar method set, similar field set). Useful when you need a working reference implementation to copy from.recommend_extension_strategyWHEN: developer about to customise a standard D365 object asks 'should I use AxTableExtension, Chain of Command, EventHandler, or Delegate?'. Triggers: 'how to extend', 'best way to customise', 'extension strategy for',diff_model_versionsCompare two D365 F&O KB snapshots to produce a changelog (added/removed/modified objects). Use action 'save_baseline' once, then 'compare' between two snapshots.find_related_objectsReturns ALL FK/DeleteAction/DataSource relations (outgoing) AND back-references (incoming). Call BEFORE generating multi-object code to understand the full dependency graph. When the relation index is loaded, delegates tado_review_xpp_prWHEN: reviewing a PR that modifies X++ code or AOT objects and you need D365-specific insights. Returns a structured code review for each changed object: blast radius (who calls it), best-practice violations found in thelesson_saveWHEN: a problem has just been solved, or a convention or procedure was agreed, and it should not need explaining again. Triggers: 'keep this', 'retiens ça', 'save this lesson', 'note this for next time', 'capitalise'. Prdmf_create_data_projectCreate (or extend) a DMF data project -- EXPORT or IMPORT -- entirely through standard public OData entities, with NO X++ customization required. It POSTs the header to DataManagementDefinitionGroups and one row per entifind_entity_for_tableWHEN: developer needs to integrate via OData and wants to find the entity name for a given table. Also generates a new entity template when none exists and generateIfMissing=true. Triggers: 'which entity exposes', 'ODatasummarize_for_stakeholderWHEN: you have a large technical tool output (get_object_details, validate_best_practices, ado_analyze_workitem, detect_performance_issues...) and need it reframed for a non-technical audience. Calls the local Ollama insado_create_regression_suiteWHEN: the test cases of some touched objects should be grouped in one suite of an existing test plan, to replay them. Triggers: 'create the regression suite', 'suite de non-régression pour la PR N', 'group the tests of tsuggest_refactoringWHEN: developer wants to improve code quality before a PR merge or code review. Triggers: 'refactor', 'clean up', 'simplify', 'too long method', 'nested ifs', 'code smells', 'améliorer le code'. Suggest concrete refactorresync_devops_indexWHEN: the user wants to force a full re-download and re-index of their Azure DevOps custom model. Triggers: 'resync', 'reindex', 'force sync', 'rebuild index', 'my model is stale', 'update index', 'mon index est vieux',erp_list_toolsWHEN: after erp_list_instances, to discover which tools the ERP MCP server of ONE instance exposes (name, description, input schema, read-only hint) before calling erp_call. Results are cached for 5 minutes.ado_wiki_get_pageAZURE DEVOPS ONLY -- Read the content of a wiki page (and its immediate sub-page paths). path uses wiki page-path syntax, e.g. '/Home' or '/Architecture/Deployment'. Requires DEVOPS_ORG_URL + DEVOPS_PAT env vars.dmfConsolidated Data Management Framework tool — one entry point for all 5 DMF operations, selected via `action`. Each action forwards to the exact same implementation as its dedicated tool (dmf_import_file / dmf_create_datfind_callersFull cross-reference profile for a class or method: callers, callees, inheritance chain, interface implementations, overrides, attributes. Requires xref_index.json.gz (generated from DYNAMICSXREFDB via GenerateCache --xrhealthcheckWHEN: checking server status, loaded D365 version, or custom model path. Triggers: 'status', 'statut', 'is the server ready', 'how many chunks', 'index loaded'. Returns JSON with: status, indexed chunk count, loaded versado_analyze_pr_impact[~] PRIORITY TRIGGER: Use this tool when the user says 'analyse PR', 'review PR', 'check PR', 'PR #', 'impact du PR', 'analyse la PR', 'what changed in PR', 'D365 impact of PR', 'code review PR', 'violations in PR', 'PRfind_error_patternsWHEN: a user encounters an error message, infolog error, or runtime exception in D365. Also handles business-language error explanation when audienceType='business'. Triggers (developer): 'fix this error', 'what causes',
Questions
What is the ALM X++ MCP server?
D365 F&O: 90 AI tools over 200K+ objects, 25M+ cross-refs, 24M+ label translations. It is made by @alimbenhelal-pro and listed in the official MCP Registry as io.github.alimbenhelal-pro/alm-xpp-mcp. MCP (Model Context Protocol) is the open standard that lets AI apps like Claude, ChatGPT and Cursor use outside tools.
How do I add ALM X++ to Claude?
In the Claude app or claude.ai, open Settings, then Connectors, choose "Add custom connector" and paste https://api.almxpp.com/mcp. In Claude Code, run: claude mcp add --transport http alm-xpp-mcp https://api.almxpp.com/mcp
How do I add ALM X++ to ChatGPT?
ChatGPT can use remote MCP servers as connectors. In ChatGPT settings, under Apps and Connectors, turn on developer mode if asked, create a new connector and paste https://api.almxpp.com/mcp.
How do I add ALM X++ to Cursor?
Open Cursor settings, go to MCP, choose "Add new MCP server" (or edit ~/.cursor/mcp.json) and add: { "mcpServers": { "alm-xpp-mcp": { "url": "https://api.almxpp.com/mcp" } } }
Does ALM X++ work right now?
Yes. It responded when we last checked on 31 Oct 2026. We check remote MCP servers every day.
What can ALM X++ do?
It gives your AI 60 tools, including validate_best_practices, find_extensions, ado_create_bug_from_test, dmf_import_file, search_d365_code. The full list is on this page.
Is this your server? Get the badge for your README
Markdown (GitHub README)
[](https://chen.media/mcp/github-alimbenhelal-pro-alm-xpp-mcp)HTML (switches to dark mode on its own)
<a href="https://chen.media/mcp/github-alimbenhelal-pro-alm-xpp-mcp"><picture><source media="(prefers-color-scheme: dark)" srcset="https://chen.media/mcp/badge/github-alimbenhelal-pro-alm-xpp-mcp.svg?theme=dark"><img src="https://chen.media/mcp/badge/github-alimbenhelal-pro-alm-xpp-mcp.svg" alt="Listed on chen.media/mcp" height="40"></picture></a>More in Cloud and DevOps
See allPostman MCP ServerVerified maker
postman.comGive your AI agents trusted access to the full Postman platform.
Atlassian Rovo MCP ServerVerified maker
atlassian.comConnect to Atlassian Jira, Confluence, Loom, and more to search, create, and manage your work.
ZapierVerified maker
zapier.comHosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
Vercel MCPVerified maker
vercel.comAn MCP server for Vercel
WixVerified maker
wix.comA Model Context Protocol server for Wix AI tools
Microsoft MCP Server for EnterpriseVerified maker
@microsoftOfficial Microsoft MCP Server to query Microsoft Entra data using natural language