mcpField
M
mcp-abap-adt

mcp-abap-adt

本地服务
github.com/mario-andreschak开发工具2023 天前更新

关于 mcp-abap-adt

mcp-abap-adt 是连接 SAP ABAP 系统的只读 MCP 服务,供开发工具和 MCP 客户端检索 ABAP 对象信息。它通过 ADT 提供 16 个工具,涵盖源代码与结构数据。

主要功能

  1. 01读取程序、类和 CDS 源码
  2. 02查看表结构
  3. 03提供 16 个只读工具
  4. 04无需 SAP 凭据即可发现工具

适用场景

  1. 01检索 ABAP 程序源代码
  2. 02检查 SAP 表结构
  3. 03从 MCP 客户端读取 CDS 对象

MCP 相关

作为 MCP 服务,它通过 SAP ADT 向 MCP 客户端提供只读工具,用于获取 ABAP 源码、表结构等信息。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"mario-andreschak-mcp-abap-adt": {
"command": "npx",
"args": [
"-y",
"mcp-abap-adt"
],
"env": {
"SAP_URL": "<SAP_URL>",
"SAP_USERNAME": "<SAP_USERNAME>",
"SAP_PASSWORD": "<SAP_PASSWORD>",
"SAP_CLIENT": "<SAP_CLIENT>",
"SAP_LANGUAGE": "<SAP_LANGUAGE>",
"TLS_REJECT_UNAUTHORIZED": "<TLS_REJECT_UNAUTHORIZED>"
}
}
}
}
启动命令npx -y mcp-abap-adt
需要配置的环境变量
SAP_URLBase URL of the SAP system, e.g. https://host:443
SAP_USERNAMESAP username
SAP_PASSWORD密钥SAP password
SAP_CLIENTSAP client number
SAP_LANGUAGELogon language, e.g. en
TLS_REJECT_UNAUTHORIZED密钥Set to 0 to allow self-signed certificates, 1 to enforce TLS verification

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-abap-adt1.2.0

工具

16

收录的工具列表 · 更新于 2 周前

参数类型必填说明
program_namestring是ABAP 程序名称

详细介绍

mcp-abap-adt:通往 ABAP 开发工具(ADT)的入口

本项目提供一个服务,让你能够使用 Model Context Protocol(MCP)与 SAP ABAP 系统交互。你可以把它看作一座桥梁,让 FLUJO、Claude 或 Cline(一个 VS Code 扩展)等工具与 ABAP 系统通信,并获取源代码、表结构等信息。它就像 ABAP 开发环境的远程控制器!

该服务以 npm 包 mcp-abap-adt 的形式发布,并在 MCP Registry 中列为 io.github.mario-andreschak/mcp-abap-adt,因此大多数 MCP 客户端都可以通过一条命令安装。无需 SAP 凭据即可发现工具;调用访问 SAP 的工具时则需要进行以下配置。这 16 个工具均为只读工具。

本指南面向初学者,因此我们会逐步介绍所有内容。我们将涵盖:

  1. 前置条件: 开始之前需要准备的内容。
  2. 安装和设置: 完成安装并做好一切准备。
  3. 运行服务: 以不同模式启动服务。
  4. 与 FLUJO 集成: 最简单的方式——通过 Spotlight/Marketplace 一键安装。
  5. 与 Cline 集成: 将此服务连接到 Cline VS Code 扩展。
  6. 与 Claude Desktop 集成: 将服务添加到 Claude Desktop 桌面应用。
  7. 与 Claude Code 集成: 通过 .mcp.json 或 CLI 添加服务。
  8. 故障排除: 常见问题及解决方案。
  9. 可用工具: 可供你使用的命令列表。

1. 前置条件

开始之前,你需要准备以下内容:

  • SAP ABAP 系统: 此服务会连接到现有的 ABAP 系统。你需要:

    • 系统 URL(例如,https://my-sap-system.com:8000)
    • 该系统的有效用户名和密码。
    • SAP 客户端编号(例如,100)。
    • 确保 SAP 系统允许通过 ADT(ABAP Development Tools)连接。这通常需要在事务 SICF 中启用必要的服务。你的 Basis 管理员可以为你提供帮助。具体而言,你需要启用以下服务:
      • /sap/bc/adt
  • Node.js 和 npm: Node.js 是一种 JavaScript 运行时,可让你在 Web 浏览器之外运行 JavaScript 代码。npm(Node Package Manager)随 Node.js 一同提供,用于安装软件包(代码库)。

    • 下载 Node.js。**请选择 LTS(长期支持)版本。**这是最稳定的版本。按照适用于你操作系统的安装说明进行操作。确保在安装时包含 npm(通常默认已包含)。
    • 验证安装: 安装 Node.js 后,打开一个新的终端(Windows 上为命令提示符,macOS/Linux 上为 Terminal),并输入:
      node -v
      npm -v
      
      你应该会看到 Node.js 和 npm 的版本号。如果出现错误,可能是 Node.js 未正确安装,或者未加入系统的 PATH。(请参阅下文的“故障排除”。)
  • Git(或 GitHub Desktop)(大多数情况下可选): 我们将使用 Git 下载项目代码。你有两种选择:

    • Git: 命令行工具。下载 Git。选择适用于你操作系统(Windows、macOS、Linux)的版本,并按照安装说明进行操作。
    • GitHub Desktop: Git 的图形用户界面,对初学者更友好!下载 GitHub Desktop。按照安装说明进行操作。

2. 安装和设置

现在,我们来获取项目代码并进行设置:

使用 FLUJO 安装(推荐)

请参阅与 FLUJO 集成

从 npm 安装

该服务已发布到 npm,因此无需克隆或构建任何内容。大多数 MCP 客户端都可以直接使用 npx 运行:

npx -y mcp-abap-adt

通常,你会在 MCP 客户端中进行配置,而不是手动运行它——将客户端指向命令 npx,并传入参数 ["-y", "mcp-abap-adt"],然后通过环境变量提供 SAP 凭据(SAP_URL、SAP_USERNAME、SAP_PASSWORD、SAP_CLIENT;可选:SAP_LANGUAGE、SAP_CA_FILE)。请参阅下方有关 FLUJO 和 Cline 的集成部分。

若要改为全局安装:

npm install -g mcp-abap-adt
手动安装(从源代码安装)
  1. 克隆仓库:

    • 使用 Git(命令行):
      1. 打开终端(命令提示符或 Terminal)。
      2. 导航到要存放项目的目录。例如,要将项目放在桌面上:
        cd Desktop
        
      3. 克隆仓库:
        git clone https://github.com/mario-andreschak/mcp-abap-adt
        
      4. 切换到项目目录:
        cd mcp-abap-adt  # 或其他文件夹名称
        
    • 使用 GitHub Desktop:
      1. 打开 GitHub Desktop。
      2. 点击“File” -> “Clone Repository...”。
      3. 在“URL”选项卡中,粘贴仓库 URL。
      4. 选择本地路径(即要在电脑上保存项目的位置)。
      5. 点击“Clone”。
  2. 安装依赖项: 这会下载项目所需的所有库。在终端中,进入根目录并运行:

    npm ci
    

    这可能需要几分钟。

  3. 构建项目: 这会将代码编译为可执行格式。

    npm run build
    
  4. 创建 .env 文件: 此文件用于存储 SAP 凭据等敏感信息。务必妥善保管此文件。

    1. 在根目录中创建一个名为 .env 的新文件(无扩展名)。
    2. 使用文本编辑器(例如 Notepad、VS Code 等)打开 .env 文件。
    3. 添加以下内容,并将占位符替换为实际的 SAP 系统信息: 重要提示:如果密码中包含“#”字符,请务必用引号将密码括起来!
      SAP_URL=https://your-sap-system.com:8000  # 你的 SAP 系统 URL
      SAP_USERNAME=your_username              # 你的 SAP 用户名
      SAP_PASSWORD=your_password              # 你的 SAP 密码
      SAP_CLIENT=100                         # 你的 SAP 客户端
      
      重要提示: 切勿与任何人分享 .env 文件,也不要将其提交到 Git 仓库!
SAP TLS 和网络设置

默认启用证书和主机名验证。对于由贵组织的私有 CA 签名的 SAP 系统,请设置 SAP_CA_FILE=/absolute/path/sap-ca.pem,指向可读取的 PEM CA 证书包。该证书包会补充 Node 内置的根证书。在 Docker 中运行时,请以只读方式挂载证书包,并提供其容器内路径。这遵循 Node TLS 信任配置。

SAP_URL 必须是规范的 HTTP(S) 源,例如 https://sap.example:443,且不能包含路径、查询、片段或内嵌凭据。访问 SAP 凭据时请使用 HTTPS。重定向会被拒绝,以防身份验证信息和会话 Cookie 被转发到其他服务。如果反向代理会重定向请求,请配置最终源。

之前文档中提到的 TLS_REJECT_UNAUTHORIZED=0 现在是明确的故障排除选项,并会向 stderr 输出警告;默认值为 1。此前无论该设置为何值,证书验证都会被无条件禁用。信任私有证书通常应使用自定义 CA;此服务不会使用全局 NODE_TLS_REJECT_UNAUTHORIZED 设置。

SAP_LANGUAGE 接受两字母语言代码,例如 EN 或 de。每个 ADT/CSRF 请求都会将 SAP 客户端和可选语言作为查询参数发送。每个请求的超时时间为 30 秒,响应大小上限为 16 MiB;工具调用的总时限为 60 秒,并会传递取消信号。现有返回文本的分页仍限制在 40,000 个 UTF-8 字节以内。如果上游响应超过下载上限,请缩小查询范围。

3. 运行服务

说实话,你通常不会单独“运行”此服务。它旨在集成到 Claude、FLUJO、Cline 等 MCP 客户端中。不过,你也可以通过两种主要方式手动运行服务:

  • 独立模式: 直接运行服务,并在终端中输出消息。服务启动后会等待客户端连接,因此除了确认它能否启动之外,可能没有其他用途。
  • 开发/调试模式: 使用 MCP Inspector 运行服务。你可以在浏览器中打开它输出的 URL 并开始试用。
3.1 独立模式

要以独立模式运行服务,请在终端中(从根目录)使用以下命令:

npm run start

你应该会在终端中看到服务正在运行的消息。它会监听 MCP 客户端的连接。服务会持续运行,直到你停止它(通常按 Ctrl+C)。

3.2 开发/调试模式(使用 Inspector)

此模式适用于调试。

  1. 以调试模式启动服务:
    npm run dev
    
    服务将启动,并输出类似以下内容的消息:🔍 MCP Inspector is up and running at http://localhost:5173 🚀。 你可以在浏览器中打开此 URL,访问 MCP Inspector。

4. 与 FLUJO 集成

FLUJO 是使用此服务最简单的方式——无需克隆、构建或编辑 JSON 配置。mcp-abap-adt 是精选的 Spotlight 服务,只需单击即可安装:

  1. 在 FLUJO 中,导航到 MCP。
  2. 单击 Add Server。
  3. 在 Spotlight 选项卡中,单击 mcp-abap-adt(或切换到 Marketplace 选项卡并在那里找到它)。
  4. FLUJO 会自动获取软件包并打开 Local Server 选项卡。输入 SAP URL、Username 和 Password(以及客户端),然后单击 Save。

就是这样——FLUJO 会为你下载并运行 npm 软件包。

流式 HTTP 传输(通过 FLUJO)

mcp-abap-adt 通过 stdio 运行。如果你需要通过流式 HTTP访问它——例如,从你电脑上的其他应用或仅支持 HTTP 的客户端访问——可以让 FLUJO 重新托管它:按上述步骤在 FLUJO 中安装该服务,然后在该服务上启用 "Expose to external apps"。FLUJO 内置的 mcp-proxy 随后会通过 HTTP 在 http://localhost:4200/mcp-proxy/mcp-abap-adt 提供该服务,任何支持 HTTP 的 MCP 客户端都可以使用类似以下的配置连接:

{
  "mcpServers": {
    "mcp-abap-adt": {
      "type": "http",
      "url": "http://localhost:4200/mcp-proxy/mcp-abap-adt"
    }
  }
}

FLUJO 会将你的 SAP 凭据保存在已安装的服务中,因此 HTTP 配置本身不包含任何凭据。

5. 与 Cline 集成

Cline 是一个使用 MCP 服务提供语言支持的 VS Code 扩展。以下是将此 ABAP 服务连接到 Cline 的方法:

  1. **安装 Cline:**如果尚未安装,请在 VS Code 中安装 "Cline" 扩展。

  2. 打开 Cline 设置:

    • 打开 VS Code 设置(File -> Preferences -> Settings,或按 Ctrl+,)。
    • 搜索 "Cline MCP Settings"。
    • 点击 "Edit in settings.json"。这会打开 cline_mcp_settings.json 文件。完整路径通常类似于:C:\Users\username\AppData\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json(将 username 替换为你的 Windows 用户名)。
  3. **添加服务配置:**你需要在 cline_mcp_settings.json 文件的 mcpServers 对象中添加一个条目。推荐的方式是通过 npx 运行已发布的 npm 包,并将 SAP 凭据作为环境变量传入——无需本地构建:

    {
      "mcpServers": {
        "mcp-abap-adt": {
          "command": "npx",
          "args": ["-y", "mcp-abap-adt"],
          "env": {
            "SAP_URL": "https://your-sap-system.com:8000",
            "SAP_USERNAME": "your_username",
            "SAP_PASSWORD": "your_password",
            "SAP_CLIENT": "100"
          },
          "disabled": false,
          "autoApprove": []
        }
        // ... other server configurations ...
      }
    }
    

    如果你从源代码安装(请参阅手动安装),请将 command 指向 node,并通过绝对路径指定构建输出,例如 "args": ["C:/PATH_TO/mcp-abap-adt/dist/index.js"],然后通过 .env 文件配置凭据。

  4. 测试连接:

    • Cline 应会自动连接到服务。你会在 "MCP Servers" 面板中看到该服务(在 Cline 扩展中,顶部有几个不同的按钮。)
    • 让 Cline 获取某个程序的源代码,它应该会提到 MCP 服务并尝试使用相应的工具

6. 与 Claude Desktop 集成

Claude Desktop 可以直接通过已发布的 npm 包运行此服务。

  1. 打开 Claude Desktop → 设置 → 开发者 → 编辑配置。这会打开 claude_desktop_config.json。文件位于:

    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  2. 在 mcpServers 下添加 mcp-abap-adt 条目,并填写你的 SAP 凭据:

    {
      "mcpServers": {
        "mcp-abap-adt": {
          "command": "npx",
          "args": ["-y", "mcp-abap-adt"],
          "env": {
            "SAP_URL": "https://your-sap-system.com:8000",
            "SAP_USERNAME": "your_username",
            "SAP_PASSWORD": "your_password",
            "SAP_CLIENT": "100"
          }
        }
      }
    }
    
  3. 保存文件并重启 Claude Desktop。ABAP 工具会显示在工具(🔨)菜单中。

**Windows 提示:**如果找不到 npx,请将 "command": "npx.cmd",或在从源代码安装时使用 node 的完整路径,并通过绝对路径指定 dist/index.js。

7. 与 Claude Code 集成

Claude Code 会从项目根目录中的 .mcp.json 文件(与团队共享),或通过 CLI 从用户/项目范围读取 MCP 服务。

选项 A — 在项目根目录中使用 .mcp.json:

{
  "mcpServers": {
    "mcp-abap-adt": {
      "command": "npx",
      "args": ["-y", "mcp-abap-adt"],
      "env": {
        "SAP_URL": "https://your-sap-system.com:8000",
        "SAP_USERNAME": "your_username",
        "SAP_PASSWORD": "your_password",
        "SAP_CLIENT": "100"
      }
    }
  }
}

由于此文件会提交到你的代码仓库,请勿在其中填写真实密码——可以使用由每位开发者在本地填写的占位值,或引用环境变量(Claude Code 会展开 .mcp.json 中的 ${VAR}),例如 "SAP_PASSWORD": "${SAP_PASSWORD}"。

选项 B — 通过 CLI 添加:

claude mcp add mcp-abap-adt \
  --env SAP_URL=https://your-sap-system.com:8000 \
  --env SAP_USERNAME=your_username \
  --env SAP_PASSWORD=your_password \
  --env SAP_CLIENT=100 \
  -- npx -y mcp-abap-adt

添加 --scope project 可将其写入共享的 .mcp.json,添加 --scope user 可让所有项目都能使用它。使用 claude mcp list 验证。

8. 大型响应分页

所有返回文本的工具都支持可选参数 startLine 和 maxLines:GetProgram、GetClass、GetFunctionGroup、GetFunction、GetStructure、GetTable、GetTableContents、GetPackage、GetTypeInfo、GetInclude、SearchObject、GetTransaction、GetCDSView、GetInterface、GetBehaviorDefinition 和 GetServiceDefinition。GetTableContents.max_rows 和 SearchObject.maxResults 仍会限制上游记录;分页则单独限制文本响应的大小。

  • startLine 是从 1 开始的整数,默认值为 1。
  • maxLines 是介于 1 和 100,000 之间的整数。省略时,工具会请求所有剩余行。
  • 响应较小且未使用分页参数时,仍会原样返回现有的 content[0].text。
  • 显式请求分页时,会在 content[0].text 中返回 JSON 封装对象。
  • 未分页的结果若超过 40,000 字节的保守 UTF-8 限额,会自动缩减,并以相同的封装格式返回,其中 autoPaged: true 且 capped: true。
  • 请求超出文件末尾时,会返回 content: ""、returnedLines: 0 和 hasMore: false。

封装对象的格式如下:

{
  "content": "...returned source lines...",
  "totalLines": 7745,
  "startLine": 1,
  "returnedLines": 1200,
  "hasMore": true,
  "autoPaged": true,
  "capped": true
}

content 是选取的文本,totalLines 表示完整序列化结果的总行数,returnedLines 统计已读取的源行数。当 hasMore 为 true 时,可使用 startLine + returnedLines 继续常规分页。autoPaged 仅在调用方未请求分页时出现。capped 表示为满足最终 content[0].text 的 UTF-8 字节限额,已缩减请求/默认范围。

如果某一源行自身就超过限额,封装对象还会包含 truncatedMidLine: true。返回的前缀符合 UTF-8 编码规范,且不会拆分 Unicode 代理对,但无法通过按行分页恢复省略的后缀。该行计为已读取;hasMore 仅表示后面是否还有源行。

此前将所有结果都视为原始源文本的客户端,在显式请求分页或自动截断返回封装对象时,应将 content[0].text 解析为 JSON。未分页的小型响应仍向后兼容。

默认的 npm test 运行无需凭证,并会跳过 SAP 实时集成测试。维护人员可在运行 npm test -- src/index.test.ts 前设置 RUN_SAP_INTEGRATION=1,选择加入该测试。

9. 故障排除

  • node -v 或 npm -v 报错:
    • 确保已正确安装 Node.js。先尝试关闭执行命令时使用的 Terminal/Powershell/cmd.exe。尝试重启计算机,或重新安装。
    • 确保 Node.js 安装目录已添加到系统的 PATH 环境变量中。在 Windows 上,可以通过“系统属性”编辑环境变量(在“开始”菜单中搜索“环境变量”)。
  • npm install 失败:
    • 确保已连接互联网。
    • 尝试删除 node_modules 文件夹,然后重新运行 npm install。
    • 如果使用代理,可能需要配置 npm 使用该代理。在网上搜索“npm proxy settings”。
  • Cline 无法连接到服务:
    • 仔细检查 cline_mcp_settings.json 中的设置。路径必须是指向 root-server 目录的正确绝对路径,且在 Windows 上使用双反斜杠。
    • 确保服务正在运行(运行 npm run start 进行检查)。
    • 重启 VS Code。
    • 或者:
    • 在资源管理器中导航到 mcp-abap-adt 的根文件夹,按住 Shift 并右键单击,然后选择“在此处打开 Powershell”。(或者打开 Powershell,并使用 cd C:/PATH_TO/mcp-abap-adt/ 导航到该文件夹。)
    • 运行“npm install”
    • 运行“npm run build”
    • 运行“npx @modelcontextprotocol/inspector node dist/index.js”
    • 在浏览器中打开它输出的 URL。点击左侧的“connect”。
    • 点击顶部的“Tools”,然后点击“List Tools”
    • 点击 GetProgram,并在右侧的 Program Name 中输入“SAPMV45A”或其他报表名称
    • 测试并查看输出内容
  • SAP 连接错误:
    • 在 .env 文件中验证 SAP 凭据。
    • 确保 SAP 系统正在运行,并且可从你的网络访问。
    • 确保 SAP 用户具有访问 ADT 服务所需的授权。
    • 检查必需的 ADT 服务是否已在事务 SICF 中激活。
    • 对于私有 CA 或自签名服务器证书,请配置 SAP_CA_FILE,并验证证书主机名与 SAP_URL 匹配。HTTP 状态码会在不含上游响应正文的情况下返回;请检查 SAP 服务器日志以了解身份验证和授权详情。

10. 可用工具

此服务提供以下工具,可通过 FLUJO、Cline、Claude Desktop、Claude Code 或任何其他 MCP 客户端使用。上文所述的共享可选分页参数 startLine 和 maxLines 也适用于以下列出的每个工具:

工具名称描述输入参数用法示例(在 Cline 中)
GetProgram获取 ABAP 程序源代码。program_name(字符串):ABAP 程序名称。@tool GetProgram program_name=ZMY_PROGRAM
GetClass获取 ABAP 类源代码。class_name(字符串):ABAP 类名称。@tool GetClass class_name=ZCL_MY_CLASS
GetFunctionGroup获取 ABAP 函数组源代码。function_group(字符串):函数组名称@tool GetFunctionGroup function_group=ZMY_FUNCTION_GROUP
GetFunction获取 ABAP 函数模块源代码。function_name(字符串),function_group(字符串)@tool GetFunction function_name=ZMY_FUNCTION function_group=ZFG
GetStructure获取 ABAP 结构。structure_name(字符串):DDIC 结构名称。@tool GetStructure structure_name=ZMY_STRUCT
GetTable获取 ABAP 表结构。table_name(字符串):ABAP 数据库表名称。@tool GetTable table_name=ZMY_TABLE
GetTableContents获取 ABAP 表的内容。table_name(字符串),max_rows(整数 1-10000,可选,默认值为 100)@tool GetTableContents table_name=ZMY_TABLE max_rows=50
GetCDSView获取 CDS 视图(DDL 源)的源代码。cds_view_name(字符串):CDS 视图名称(DDL 源名称)。@tool GetCDSView cds_view_name=I_CURRENCY
GetPackage获取 ABAP 包的详细信息。package_name(字符串):ABAP 包名称。@tool GetPackage package_name=ZMY_PACKAGE
GetTypeInfo获取 ABAP 类型信息。type_name(字符串):ABAP 类型名称。@tool GetTypeInfo type_name=ZMY_TYPE
GetInclude获取 ABAP include 源代码include_name(字符串):ABAP include 的名称`@tool GetInclude include_name=ZMY_INCLUDE
SearchObject使用快速搜索查找 ABAP 对象。query(字符串),maxResults(整数 1-10000,可选,默认值为 100)@tool SearchObject query=ZMY* maxResults=20
GetInterface获取 ABAP 接口源代码。interface_name(字符串):ABAP 接口名称。@tool GetInterface interface_name=ZIF_MY_INTERFACE
GetTransaction获取 ABAP 事务的详细信息。transaction_name(字符串):ABAP 事务名称。@tool GetTransaction transaction_name=ZMY_TRANSACTION
GetBehaviorDefinition获取 RAP 行为定义(BDEF)源代码。需要 ~NW 7.54 / S/4HANA。behavior_definition_name(字符串):RAP 行为定义名称。@tool GetBehaviorDefinition behavior_definition_name=ZMY_ENTITY
GetServiceDefinition获取 RAP 服务定义(SRVD)源代码。需要 ~NW 7.54 / S/4HANA。service_definition_name(字符串):RAP 服务定义名称。@tool GetServiceDefinition service_definition_name=ZMY_SERVICE
ABAP ADT MCP 服务 ## 验证

使用 Node 22 或 24 且已安装 OpenSSL 时,运行 npm ci && npm run check。无需凭据的测试套件涵盖现有的分页和 ADT 回退逻辑、本地 HTTPS 服务(信任、主机名检查、重定向、限制、取消、Cookie/CSRF)、实际的新旧 SDK 客户端,以及仅包含生产依赖的打包 npm 安装。CI 还会构建并启动 Docker 镜像。

现有的 12 项 SAP 实时集成测试仍需通过 RUN_SAP_INTEGRATION=1 和有效的 SAP 配置选择性启用。模拟测试或 CI 运行成功,并不能证明客户的 ADT 服务已激活、授权配置正确、支持特定版本的端点,或网络可以访问。本次修复未连接任何 SAP 实时系统。

评论

支持 Markdown

第一次接触 MCP?

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

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