Skip to main content
Glama

mcp-abap-adt:ABAP 开发工具 (ADT) 的门户

铁匠徽章

该项目提供了一个服务器,允许您使用模型上下文协议 (MCP) 与 SAP ABAP 系统交互。您可以将其视为一个桥梁,让Cline (VS Code 的一个扩展)等工具与您的 ABAP 系统通信并检索源代码、表结构等信息。这就像为您的 ABAP 开发环境配备了一个遥控器!

本指南面向初学者,我们将逐步讲解所有内容。我们将涵盖:

  1. **先决条件:**开始之前您需要什么。

  2. **安装和设置:**让一切启动并运行。

  3. **运行服务器:**以不同的模式启动服务器。

  4. **与 Cline 集成:**将此服务器连接到 Cline VS Code 扩展。

  5. **故障排除:**常见问题和解决方案。

  6. **可用工具:**您可以使用的命令列表。

1. 先决条件

在开始之前,您需要准备一些东西:

  • **SAP ABAP 系统:**此服务器连接到现有的 ABAP 系统。您需要:

    • 系统的 URL(例如https://my-sap-system.com:8000

    • 该系统的有效用户名和密码。

    • SAP 客户端编号(例如100 )。

    • 确保您的 SAP 系统允许通过 ADT(ABAP 开发工具)进行连接。这通常需要确保在事务SICF中激活必要的服务。您的基础管理员可以协助完成此操作。具体来说,您需要激活以下服务:

      • /sap/bc/adt

    • 对于GetTableContents工具,您需要实现自定义服务/z_mcp_abap_adt/z_tablecontent 。您可以按照此处的指南操作。

  • **Git(或 GitHub Desktop):**我们将使用 Git 下载项目代码。您有两个选择:

    • **Git:**命令行工具。下载 Git 。选择适合您操作系统(Windows、macOS、Linux)的版本。按照安装说明操作。

    • GitHub Desktop: Git 的图形用户界面。初学者也能轻松上手!下载 GitHub Desktop 。按照安装说明操作。

  • Node.js 和 npm: Node.js 是一个 JavaScript 运行时,可让您在 Web 浏览器之外运行 JavaScript 代码。npm(Node 包管理器)包含在 Node.js 中,用于安装包(代码库)。

    • 下载 Node.js 。**选择 LTS(长期支持)版本。**这是最稳定的版本。请按照您操作系统的安装说明进行操作。确保在安装中包含 npm(通常默认包含)。

    • **验证安装:**安装 Node.js 后,打开一个新终端(Windows 上为命令提示符,macOS/Linux 上为终端)并输入:

      node -v npm -v

      您应该会看到 Node.js 和 npm 的版本号。如果您看到错误,则可能是 Node.js 未正确安装,或者它可能不在系统的 PATH 中。(请参阅下面的故障排除)。

Related MCP server: MCP Server

2.安装和设置

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

通过 Smithery 安装

要通过Smithery自动为 Cline 安装 MCP ABAP 开发工具服务器:

npx -y @smithery/cli install @mario-andreschak/mcp-abap-adt --client cline

手动安装

  1. 克隆存储库:

    • 使用 Git(命令行):

      1. 打开终端(命令提示符或终端)。

      2. 导航到要存储项目的目录。例如,将其放在桌面上:

        cd Desktop
      3. 克隆存储库:

        git clone https://github.com/mario-andreschak/mcp-abap-adt
      4. 进入项目目录:

        cd mcp-abap-adt # Or whatever the folder name is
    • 使用 GitHub Desktop:

      1. 打开 GitHub Desktop。

      2. 单击“文件”->“克隆存储库...”。

      3. 在“URL”选项卡中,粘贴存储库 URL。

      4. 选择本地路径(您想要在计算机上保存项目的位置)。

      5. 点击“克隆”。

  2. **安装依赖项:**这将下载项目所需的所有必要库。在终端的根目录中,运行:

    npm install

    这可能需要几分钟。

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

    npm run build
  4. **创建一个.env文件:**此文件存储敏感信息,例如您的 SAP 凭据。确保此文件的安全至关重要

    1. 在根目录中,创建一个名为.env (无扩展名)的新文件。

    2. 在文本编辑器(如记事本、VS Code 等)中打开.env文件。

    3. 添加以下行,用您的实际 SAP 系统信息替换占位符:重要提示:如果您的密码包含“#”字符,请确保将您的密码括在引号中!

      SAP_URL=https://your-sap-system.com:8000 # Your SAP system URL SAP_USERNAME=your_username # Your SAP username SAP_PASSWORD=your_password # Your SAP password SAP_CLIENT=100 # Your SAP client

      **重要提示:**切勿与任何人共享您的.env文件,也不要将其提交到 Git 存储库!

3.运行服务器

公平地说,您通常不会单独“运行”此服务器。它应该集成到 Cline 或 Claude Desktop 等 MCP 客户端中。但您可以通过两种主要方式手动运行该服务器:

  • **独立模式:**此模式直接运行服务器,并将消息输出到终端。服务器将启动并等待客户端连接,因此除了查看其是否启动外,服务器可能没有任何作用。

  • **开发/调试模式:**此模式使用 MCP 检查器运行服务器。您可以在浏览器中打开它输出的 URL 并开始操作。

3.1 独立模式

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

npm run start

您应该会在终端中看到消息,表明服务器正在运行。它将监听来自 MCP 客户端的连接。服务器将持续运行,直到您将其停止(通常使用 Ctrl+C)。

3.2 开发/调试模式(带检查器)

此模式对于调试很有用。

  1. 以调试模式启动服务器:

    npm run dev

    这将启动服务器并输出如下消息: 🔍 MCP Inspector is up and running at http://localhost:5173 🚀 。这是您将用于在浏览器中打开 MCP 检查器的 URL。

4. 与 Cline 集成

Cline 是一个 VS Code 扩展,它使用 MCP 服务器提供语言支持。以下是如何将此 ABAP 服务器连接到 Cline:

  1. **安装 Cline:**如果还没有安装,请在 VS Code 中安装“Cline”扩展。

  2. 打开 Cline 设置:

    • 打开 VS Code 设置(文件 -> 首选项 -> 设置,或 Ctrl+,)。

    • 搜索“Cline MCP 设置”。

    • 点击“在 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文件的servers数组中添加一个条目。以下是示例:

    { "mcpServers": { "mcp-abap-adt": { "command": "node", "args": [ "C:/PATH_TO/mcp-abap-adt/dist/index.js" ], "disabled": true, "autoApprove": [] } // ... other server configurations ... } }
  4. 测试连接:

    • Cline 应该会自动连接到服务器。您将看到服务器出现在“MCP 服务器”面板中(在 Cline 扩展程序中,您会在顶部看到不同的按钮。)

    • 要求 Cline 获取程序的源代码,它应该提到 MCP 服务器,并尝试使用相应的工具

5. 故障排除

  • node -v

    • 确保 Node.js 已正确安装。请尝试重新安装。

    • 确保 Node.js 安装目录位于系统的 PATH 环境变量中。在 Windows 系统中,您可以通过“系统属性”编辑环境变量(在“开始”菜单中搜索“环境变量”)。

  • npm install

    • 确保您已连接互联网。

    • 尝试删除node_modules文件夹并再次运行npm install

    • 如果您使用了代理,则可能需要配置 npm 才能使用代理。在线搜索“npm 代理设置”。

  • 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,点击左侧的“连接”。

    • 点击顶部的“工具”,然后点击“列出工具”

    • 单击“获取程序”,然后在右侧输入“SAPMV45A”或任何其他报告名称作为程序名称

    • 测试并查看输出结果

  • SAP 连接错误:

    • .env文件中验证您的 SAP 凭据。

    • 确保 SAP 系统正在运行并可通过您的网络访问。

    • 确保您的 SAP 用户具有访问 ADT 服务所需的授权。

    • 检查事务SICF中是否激活了所需的 ADT 服务。

    • 如果您使用自签名证书或您的 SAP 系统 http 配置存在问题,请确保按照上述说明设置 TLS_REJECT_UNAUTHORIZED!

6.可用工具

该服务器提供以下工具,可通过 Cline(或任何其他 MCP 客户端)使用:

工具名称

描述

输入参数

使用示例(在 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 DB 表的名称。

@tool GetTable table_name=ZMY_TABLE

GetTableContents

检索 ABAP 表的内容。

table_name

(字符串),

max_rows

(数字,可选,默认 100)

@tool GetTableContents table_name=ZMY_TABLE max_rows=50

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_name

(字符串):ABAP 包含的名称

@tool GetInclude include\_name=ZMY\_INCLUDE

SearchObject

使用快速搜索来搜索 ABAP 对象。

query

(字符串),

maxResults

(数字,可选,默认 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\

Deploy Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mario-andreschak/mcp-abap-adt'

If you have feedback or need assistance with the MCP directory API, please join our Discord server