返回市场
依赖管理MCP服务器

依赖管理MCP服务器

作者:StefanMaron48 星标更新:2025-10-01

项目介绍

AL MCP Server

npm 版本 CI MIT 许可证 Node.js .NET MCP 兼容

让AI助手完全了解您的AL依赖项和符号。

解决的问题

AI编码助手无法查看编译过的AL包或理解Business Central对象关系。这在帮助AL开发时造成了盲点。

AL MCP Server通过Model Context Protocol将您的AL工作区的编译符号(.app文件)直接暴露给AI助手,从而解决了这一问题。

快速开始

前提条件

  • Node.js 18+ (下载)
  • .NET SDK 8.0+ (下载)
  • 编译过的AL包(.alpackages目录中的.app文件)

验证设置:

dotnet --version  # 应显示8.0或更高版本

AL MCP Server通过npx自动安装 - 不需要手动安装。

配置您的AI助手

Claude Code(推荐)

claude mcp add al-mcp-server -- npx al-mcp-server

或者通过VS Code设置:

{
  "claude.mcpServers": {
    "al-symbols-mcp": {
      "command": "npx",
      "args": ["al-mcp-server"]
    }
  }
}

GitHub Copilot

在工作区创建.vscode/mcp.json

{
  "servers": {
    "al-symbols-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": ["al-mcp-server"]
    }
  }
}

Cursor IDE

添加到Cursor设置(设置 → 功能 → 模型上下文协议):

{
  "al-symbols-mcp": {
    "command": "npx",
    "args": ["al-mcp-server"]
  }
}

Continue(VS Code扩展)

添加到~/.continue/config.json

{
  "mcpServers": {
    "al-symbols-mcp": {
      "command": "npx",
      "args": ["al-m-服务器"]
    }
  }
}

Cody(Sourcegraph)

添加到VS Code设置:

{
  "cody.mcpServers": {
    "al-symbols-mcp": {
      "command": "npx",
      "args": ["al-mcp-server"]
    }
  }
}

其他MCP兼容工具

使用这些连接详情:

  • 命令npx
  • 参数["al-mcp-server"]
  • 类型stdio

测试是否正常工作

询问您的AI助手:

在我的AL项目中搜索Customer表

服务器会自动启动并提供智能的AL辅助!

可用工具

AL MCP Server提供了6种优化过的工具用于AL代码分析:

核心查询工具

al_search_objects

  • 按名称、类型或通配符模式搜索AL对象
  • 按业务领域过滤(销售、财务、库存等)
  • 支持所有AL对象类型(表、页面、代码单元、报告等)
  • 默认启用的令牌高效摘要模式

al_get_object_definition

  • 通过ID或名称获取详细的对象信息
  • 包括字段、过程、属性和键
  • 可配置的详细级别,包括字段/过程限制
  • 用于令牌效率的摘要模式

al_find_references

  • 查找对象或字段的所有引用
  • 跟踪扩展、变量、参数和返回类型
  • 在所有对象类型之间进行字段级引用跟踪
  • 可选的上下文以获取详细的引用信息

al_search_object_members

  • 统一搜索对象子元素
  • 搜索过程、字段、控件或数据项
  • 支持通配符模式匹配
  • 分页和详细级别控制

al_get_object_summary

  • 获取对象的智能分类概述
  • 将过程按目的分类(验证、过账、实用程序等)
  • 自动识别关键入口点
  • 高度优化的分类输出

包管理

al_packages

  • 使用操作参数统一包管理
  • 加载:自动发现并从项目根目录加载包
  • 列出:显示当前加载的所有包
  • 统计:数据库统计和对象计数

功能

智能对象发现

  • 同时搜索所有已加载的AL包
  • 支持通配符模式匹配的灵活查询
  • 按对象类型、包或业务领域过滤
  • 智能发现.alpackages目录

深度代码分析

  • 完整的对象定义,包括所有元数据
  • 过程和字段信息,包括属性
  • 页面控件结构分析
  • 报告/查询数据项遍历

引用跟踪

  • 查找所有对象引用和依赖关系
  • 跟踪对象扩展和自定义
  • 在页面、表、报告之间进行字段级使用分析
  • 在代码单元中跟踪变量和参数

业务领域智能

  • 按业务区域搜索(销售、采购、财务、库存、制造、服务)
  • 基于模式的领域检测
  • 跨包领域分析

架构

AL MCP Server
├── 符号提取层
│   └── 与AL CLI集成解析.app文件
├── 流式解析器
│   └── 高效处理大型符号文件(50MB+)
├── 内存数据库
│   └── 优化索引实现亚毫秒级查询
├── MCP协议处理器
│   └── 通过JSON-RPC与AI助手通信
└── 自动发现引擎
    └── 智能.alpackages目录检测

性能特性:

  • 惰性初始化 - 包在首次请求时加载
  • 流式JSON解析防止内存问题
  • 多个优化索引实现O(1)查找
  • 版本过滤仅使用最新包
  • 令牌优化响应减少AI上下文使用

要求

运行时:

  • Node.js 18或更高版本
  • .NET SDK 8.0或更高版本
  • NuGet包源(nuget.org)

项目结构:

  • 包含app.json的AL工作区
  • .alpackages目录中的编译.app包

支持的AL包:

  • 现代基于命名空间的包
  • 旧版非命名空间包(PTEs)
  • Business Central基础应用
  • AppSource扩展

服务器分析编译过的AL符号,而不是原始.al源文件。

故障排除

未找到AL CLI

  • 服务器自动安装AL工具
  • 需要.NET SDK 8.0或更高版本
  • 验证:dotnet --version

NU1100错误

  • 更新到.NET SDK 8.0+
  • 配置NuGet:dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org

未找到来源

  • 检查NuGet来源:dotnet nuget list source
  • 应包括nuget.org

未找到包

  • 确保.alpackages目录中有.app文件
  • 使用al_auto_discover工具搜索包
  • 检查包是否成功编译

服务器无响应

  • 验证已安装Node.js 18+
  • 检查AI助手MCP配置
  • 查看AI助手输出中的服务器日志

需要帮助?

示例用法

配置完成后,询问您的AI助手:

“给我展示所有与销售相关的代码单元”
“查找Customer表的所有引用”
“Sales-Post代码单元中有哪些过程?”
“搜索所有使用Item表的页面”
“给我一个Gen. Journal-Post Batch代码单元的总结”

AI助手将使用MCP工具提供准确且上下文感知的响应,基于您的实际AL包。

贡献

  1. 分叉仓库
  2. 创建功能分支
  3. 为更改编写测试
  4. 确保所有测试通过
  5. 提交拉取请求

许可证

MIT许可证 - 详情见LICENSE文件。


通过真正理解您代码库的AI助手来革新AL开发。