io.github.alimbenhelal-pro/alm-xpp-mcp
up checked
Unclaimed · Unverified
Agent searches it appeared in, last 30 days: 0. Run this server? Claim the listing: verified label, uptime alerts and analytics.
Publisher-provided title
ALM X++ MCP Server
Publisher-provided description
D365 F&O: 90 AI tools over 200K+ objects, 25M+ cross-refs, 24M+ label translations.
Summary by lookupd
Searches, analyzes and edits D365 F&O X++ code and metadata, plus Azure DevOps work items, wiki and data import/export.
Install
Claude Code, remote (streamable-http)
claude mcp add --transport http alm-xpp https://api.almxpp.com/mcp
Claude Code, npm package (stdio)
claude mcp add alm-xpp -- npx -y almxppmcp
Codex, remote (streamable-http)
codex mcp add alm-xpp --url https://api.almxpp.com/mcp
Codex, npm package (stdio)
codex mcp add alm-xpp -- npx -y almxppmcp
Cursor, remote (streamable-http) → .cursor/mcp.json
{
"mcpServers": {
"alm-xpp": {
"url": "https://api.almxpp.com/mcp"
}
}
}Cursor, npm package (stdio) → .cursor/mcp.json
{
"mcpServers": {
"alm-xpp": {
"command": "npx",
"args": [
"-y",
"almxppmcp"
]
}
}
}Other clients: docs. Or tell your agent: Set up lookupd for me: read https://lookupd.com/agent.md and follow it.
Tools (showing 30 of 104)
Publisher-provided text
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 ownfind_extensionsFind all extension objects (AxClassExtension, AxTableExtension, AxFormExtension, AxEnumExtension), CoC classes ([ExtensionOf]), and event handlers for a base obado_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 thedmf_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 tsearch_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, edmf_transform_excelTransform a multi-sheet Excel (.xlsx) into DMF-ready rows using a data-driven JSON mapping -- equivalent to FO_TransformExcelForDMF. NO FO credentials requiredgenerate_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 toado_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: Rappinsights_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 tado_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'sget_object_detailsWHEN: you know the EXACT object name. Triggers: user gives an exact name like 'SalesTable', 'CustTable', 'VendInvoiceJour', any PascalCase D365 object name. Getado_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',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 qado_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.AssignedTfind_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+ chunksado_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 classificabatch_searchWHEN: you need context on multiple D365 objects or concepts simultaneously -- runs all queries in parallel. Use INSTEAD of multiple sequential search_d365_codeado_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 werp_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_trace_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 wplan_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 amfind_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 implemrecommend_extension_strategyWHEN: developer about to customise a standard D365 object asks 'should I use AxTableExtension, Chain of Command, EventHandler, or Delegate?'. Triggers: 'how todiff_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 snapshotsfind_related_objectsReturns ALL FK/DeleteAction/DataSource relations (outgoing) AND back-references (incoming). Call BEFORE generating multi-object code to understand the full depeado_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: blastlesson_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', 'sadmf_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 hfind_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 genesummarize_for_stakeholderWHEN: you have a large technical tool output (get_object_details, validate_best_practices, ado_analyze_workitem, detect_performance_issues...) and need it refra
Details
- Version: 1.5.1
- Transports: streamable-http, stdio
- Uptime (7 days): 100%
- Median latency: 900 ms
- First indexed:
- Last seen in registry:
- Repository: https://github.com/alimbenhelal-pro/ALM-XPP-MCP
- Website: https://www.almxpp.com
Badge for your README
Shows this live status and links here; updates hourly.
[](https://lookupd.com/servers/io.github.alimbenhelal-pro/alm-xpp-mcp)
- 62033 servers
- Last crawl: 2026-11-11T15:38:39.561Z
- API base:
https://api.lookupd.com - MCP URL:
https://api.lookupd.com/mcp