mcpField
A
ALM X++ MCP Server

ALM X++ MCP Server

远程服务
almxpp.com开发工具38 周前更新

关于 ALM X++ MCP Server

ALM X++ MCP Server 为 D365 Finance & Operations 提供 90 个 MCP 工具,覆盖代码及相关工作流。它基于特定版本的代码索引进行搜索,也可处理已配置的自定义元数据、实时环境、遥测数据和 Azure DevOps。

主要功能

  1. 01搜索并查看 D365 代码和标签
  2. 02追踪引用、关系及变更影响
  3. 03分析质量、安全与性能
  4. 04生成 X++ 代码及相关内容
  5. 05处理实时数据和 Azure DevOps

适用场景

  1. 01查找标准 D365 代码中的对象和引用
  2. 02评估升级对自定义内容的影响
  3. 03使用 Application Insights 调查性能问题
  4. 04分析 Azure DevOps 工作项和拉取请求

MCP 相关

托管的 Cloud MCP 通过 HTTP 端点提供 90 个 MCP 工具,并需要 API 令牌。随附的 npx 启动器可将 stdio 客户端桥接至该端点;可选请求头用于配置自定义元数据、实时环境、遥测和 DevOps 访问。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://api.almxpp.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
npmalmxppmcp1.5.1

工具

90
参数类型必填说明
methodNamestring|null否可选:要验证的特定方法。未提供时验证所有方法。
objectNamestring是要验证的对象名称,例如 'SalesTable'、'CustInvoiceJour'
minSeveritystring否最低严重性:'Info'、'Warning'、'Critical'(默认值:'Warning')

详细介绍

almxppmcp

npm version npm downloads MCP endpoint MCP registry M8ven Score license node LinkedIn

npx 启动器,用于 ALM XPP 云端 MCP——一个通过 MCP 提供 90 个工具的 Dynamics 365 Finance & Operations AI Agent。

已在官方 MCP 注册表中发布,名称为 io.github.alimbenhelal-pro/alm-xpp-mcp。

该服务基于预构建的标准 D365 F&O 代码库索引回答问题: 200K+ 个 AOT 对象、1.3M+ 个代码块、25M+ 个交叉引用和 24M+ 个标签翻译——涵盖 74 种语言中的 392K 个标签 ID。

为什么使用索引,而不是通用模型

通用模型会根据训练期间记住的内容回答 X++ 问题。此服务则基于特定版本的标准 D365 代码库副本作答:

实际含义
已知版本云端 MCP 根据服务已建立索引的版本作答,而非你的版本。当前加载的版本可通过 GET /mcp 查看——依赖涉及版本的回答前,请先确认
你自己的版本若要为你的环境的确切版本建立索引,请使用本地 MCP:它与 D365 SDK 一起运行,并为该计算机上的 PackagesLocalDirectory 建立索引。云端 MCP 无法做到这一点——它永远不会接触你的平台二进制文件
可追溯每项结果都附带其来源的 AOT 对象和模型,因此你可以在 Visual Studio 中打开并核查
你的扩展将 D365-Custom-Model-Path 指向你的元数据,或让它为你的 Azure DevOps 存储库建立索引,这样搜索时就会同时检索你的代码和标准代码
不会用你的代码训练你的元数据按会话建立索引,用于回答你的调用;不会用于训练任何内容
三种服务器,三种角色

D365 F&O 周边会出现三种不同的 MCP 服务。本 README 始终使用以下名称指代它们:

名称说明获取方式
Cloud MCP托管式 ALM XPP 服务:可搜索已索引的 D365 代码库,提供 90 个工具本软件包——npx almxppmcp
Local MCP在你自己的开发计算机上与 D365 SDK 一起运行:提供 121 个工具,其中 36 个可写入 AOT 文件、编译 X++、同步数据库。它也是唯一能通过读取该计算机上的 PackagesLocalDirectory,为你的确切平台版本建立索引的服务单独授权的组件,请联系 [email protected]
Environment MCPMicrosoft 自有的 Dynamics 365 ERP MCP server,由你的 F&O 环境本身提供,服务实时数据在 D365FO 中启用,然后直接从 VS Code 连接

此 npm 软件包仅包含 Cloud MCP。Local MCP 需单独授权,而 Environment MCP 属于 Microsoft——客户端会自行连接到它。

要求

  • API 令牌——前往仪表板获取
  • Node.js >= 18,仅当你使用下文介绍的 npx 启动器时需要

MCP 客户端配置

Cloud MCP 是一个位于 https://api.almxpp.com/mcp 的可流式 HTTP MCP 服务,通过 X-API-Key 标头进行身份验证。任何支持 HTTP 的客户端都可以直接连接——无需 Node.js,也无需启动器。

工具调用仅由 api.almxpp.com 提供。 almxpp.com 和 www.almxpp.com 托管网站;向它们发送 JSON-RPC POST 请求会被拒绝,并返回指出正确 URL 的消息。只有主机名会变——你的 API 密钥和标头保持不变。

VS Code / GitHub Copilot——.vscode/mcp.json
{
  "servers": {
    "almxppmcp": {
      "type": "http",
      "url": "https://api.almxpp.com/mcp",
      "headers": {
        "X-API-Key": "YOUR_TOKEN"
      }
    }
  }
}
标头

X-API-Key 是唯一必需的标头。其他标头可启用需要你自己的上下文的工具——未设置这些标头时,相应工具只会报告尚未配置。

标头可启用的功能
X-API-Key必需。 你的 API 令牌。也可使用 Authorization: Bearer <token>。
D365-Custom-Model-Path调用计算机上自有扩展 / ISV 元数据的绝对路径。分析工具会从此处读取
D365-Standard-Model-PathPackagesLocalDirectory 的绝对路径,用作标准对象的只读参考
DEVOPS_ORG_URLAzure DevOps 组织,例如 https://dev.azure.com/MyOrg
DEVOPS_PROJECTAzure DevOps 项目名称。必须与 DEVOPS_ORG_URL 一起提供。
DEVOPS_PATAzure DevOps 令牌。用于为你自己的 X++ 元数据建立索引,并读取工作项。
DEVOPS_REPO存放元数据的代码库;当项目包含多个代码库时需要设置
DEVOPS_BRANCH要建立索引的分支,默认为 main
DEVOPS_METADATA_PATH代码库中存放 AOT XML 的文件夹,默认为 Metadata
D365FO-Url实时环境的基础 URL,供 odata_* 和 dmf_* 工具使用
D365FO-Tenant-Id该环境的 Entra 租户
D365FO-Client-Id在 D365FO 的 Microsoft Entra applications 下注册的 Entra 应用
D365FO-Client-Secret该应用的密钥
AppInsights-Workspace-IdLog Analytics 工作区,供 appinsights_* 工具使用
AppInsights-Tenant-Id该工作区的 Entra 租户
AppInsights-Client-Id在该工作区具有 Log Analytics Reader 权限的 Entra 应用
AppInsights-Client-Secret该应用的密钥

也可以使用 d365fo_set_connection 和 appinsights_set_connection 在会话期间设置实时环境和遥测凭据,这样它们就不会存放在配置文件中。

examples/vscode-mcp.full-headers.json 汇总了以上所有配置,并通过 VS Code inputs 提示输入每个密钥,因此不会将任何密钥保存在文件中。


npx 启动器

有些客户端只支持 stdio。almxppmcp 命令适用于这种情况:它会读取你的令牌,将其作为 X-API-Key 标头发送,并通过 stdio 中继到 Cloud MCP。它没有依赖项——只有这一个文件,所需功能均由 Node 18 提供。

npx almxppmcp --api-key YOUR_TOKEN

或设置环境变量:

export ALMXPPMCP_API_KEY=YOUR_TOKEN
npx almxppmcp

--api-key 和 ALMXPPMCP_API_KEY 是向启动器提供令牌的两种方式。 无论哪种方式,令牌最终都会作为 HTTP 标头 X-API-Key 发送——令牌相同,所在层不同。

VS Code(如果你更喜欢使用启动器)——.vscode/mcp.json
{
  "servers": {
    "almxppmcp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "almxppmcp", "--api-key", "YOUR_TOKEN"]
    }
  }
}
Cursor——.cursor/mcp.json
{
  "mcpServers": {
    "almxppmcp": {
      "command": "npx",
      "args": ["-y", "almxppmcp", "--api-key", "YOUR_TOKEN"]
    }
  }
}
Claude Desktop——claude_desktop_config.json
{
  "mcpServers": {
    "almxppmcp": {
      "command": "npx",
      "args": ["-y", "almxppmcp", "--api-key", "YOUR_TOKEN"]
    }
  }
}

**提示:**将 YOUR_TOKEN 替换为控制面板上显示的令牌。将其设为环境变量可避免硬编码(Cursor 和 Claude Desktop 的根键是 mcpServers,VS Code 的根键是 servers):

{
  "mcpServers": {
    "almxppmcp": {
      "command": "npx",
      "args": ["-y", "almxppmcp"],
      "env": { "ALMXPPMCP_API_KEY": "YOUR_TOKEN" }
    }
  }
}

环境变量

变量描述
ALMXPPMCP_API_KEY你的 API 令牌(--api-key 的替代方式)
ALMXPPMCP_SERVER_URL覆盖 MCP 端点(默认值:https://api.almxpp.com/mcp)

有哪些工具可用?

Cloud MCP 提供 14 个类别中的 90 个工具,如下所列。

Local MCP 包含其中不依赖云端索引的 85 个工具,以及另外 36 个必须在 D365 环境旁运行的工具(构建、部署、数据库同步、工作区写入),因此该服务端共提供 121 个工具。 两个服务端合计提供 126 个不同的工具。

类别工具数名称
搜索5search_d365_code、search_labels、batch_search、federated_search、search_context_docs
检索6get_object_details、list_objects、list_custom_model_objects、get_object_context、compare_objects、get_menu_item_info
关系与影响11find_related_objects、find_references、find_extensions、get_relation_graph、find_entity_for_table、find_callers、find_change_impact、find_event_handlers、find_relation_path、find_similar_implementations、trace_field_lineage
质量与分析7validate_best_practices、detect_performance_issues、find_error_patterns、fix_best_practice_violations、recommend_extension_strategy、suggest_edt、validate_object_naming
安全与许可4trace_security_chain、trace_role_license_tree、get_security_coverage_for_object、generate_security_report
代码生成8generate_unit_test、suggest_refactoring、generate_diagram、generate_query、create_aot_object、generate_data_entity、generate_xpp_form、generate_xpp_template
功能领域2generate_fdd、explain_workflow
特色功能2analyze_upgrade_impact、map_business_process
升级与发行说明6resolve_client_profile、save_client_profile、list_release_note_inputs、prepare_release_note_context、generate_release_note_document、diff_model_versions
实时环境5d365fo_set_connection、d365fo_clear_connection、odata_export_entity、odata_upsert_rows、get_data_entity_info
数据迁移7dmf、dmf_create_data_project、dmf_apply_entity_filter、dmf_import_file、dmf_export_package、dmf_get_job_status、dmf_transform_excel
性能诊断4appinsights_set_connection、appinsights_clear_connection、appinsights_query、appinsights_diagnose_slowness
编排与报告6plan_and_execute、summarize_for_stakeholder、resolve_workspace_roots、resync_devops_index、healthcheck、get_output_page
Azure DevOps17ado_query_workitems、ado_analyze_workitem、ado_list_prs、ado_analyze_pr_impact、ado_gap_fit_analysis、ado_estimate_effort、ado_post_comment、ado_post_pr_comment、ado_create_task、ado_read_attachment、ado_update_workitem、ado_review_xpp_pr、ado_pr_dependency_map、ado_wiki_list、ado_wiki_get_page、ado_wiki_create_or_update_page、ado_wiki_delete_page

除代码搜索外,值得关注的功能包括:

  • 升级影响——将两个 D365 版本与您自己的自定义内容进行比较,并生成 Word 和 PowerPoint 格式的回归报告。
  • 实时环境——连接到正在运行的环境,通过 OData 读取和写入真实记录,并运行数据管理项目。
  • 性能诊断——查询 Application Insights 遥测数据,并获取实际性能瓶颈的排名诊断。
  • Azure DevOps——涵盖工作项、拉取请求和 Wiki,从分析到审查。

包含参数和提示词示例的完整参考文档:https://www.almxpp.com/docs


此仓库包含什么

此仓库仅包含客户端 — 作为 almxppmcp 发布到 npm 的 npx 启动器:

路径用途
bin/almxppmcp.js解析 API 密钥和服务 URL,然后将客户端的标准输入/输出桥接到 Cloud MCP(通过 HTTP)——不涉及第三方软件包
server.jsonMCP 注册表清单

Cloud MCP 本身——索引、检索、90 个工具和许可层——为闭源,运行于 https://api.almxpp.com/mcp。启动器不会看到你的代码:它会使用你提供的令牌,通过 HTTPS 转发请求。


许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。