Integrations
Allows interaction with SAP ABAP systems to retrieve information like source code, table structures, and more through ABAP Development Tools (ADT)
mcp-abap-adt:ABAP 开发工具 (ADT) 的门户
该项目提供了一个服务器,允许您使用模型上下文协议 (MCP) 与 SAP ABAP 系统交互。您可以将其视为一个桥梁,让Cline (VS Code 的一个扩展)等工具与您的 ABAP 系统通信并检索源代码、表结构等信息。这就像为您的 ABAP 开发环境配备了一个遥控器!
本指南面向初学者,我们将逐步讲解所有内容。我们将涵盖:
- **先决条件:**开始之前您需要什么。
- **安装和设置:**让一切启动并运行。
- **运行服务器:**以不同的模式启动服务器。
- **与 Cline 集成:**将此服务器连接到 Cline VS Code 扩展。
- **故障排除:**常见问题和解决方案。
- **可用工具:**您可以使用的命令列表。
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
。您可以按照此处的指南操作。
- 系统的 URL(例如
- **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.js 和 npm 的版本号。如果您看到错误,则可能是 Node.js 未正确安装,或者它可能不在系统的 PATH 中。(请参阅下面的故障排除)。Copy
2.安装和设置
现在,让我们获取项目代码并进行设置:
通过 Smithery 安装
要通过Smithery自动为 Cline 安装 MCP ABAP 开发工具服务器:
手动安装
- 克隆存储库:
- 使用 Git(命令行):
- 打开终端(命令提示符或终端)。
- 导航到要存储项目的目录。例如,将其放在桌面上:Copy
- 克隆存储库:Copy
- 进入项目目录:Copy
- 使用 GitHub Desktop:
- 打开 GitHub Desktop。
- 单击“文件”->“克隆存储库...”。
- 在“URL”选项卡中,粘贴存储库 URL。
- 选择本地路径(您想要在计算机上保存项目的位置)。
- 点击“克隆”。
- 使用 Git(命令行):
- **安装依赖项:**这将下载项目所需的所有必要库。在终端的根目录中,运行:这可能需要几分钟。Copy
- **构建项目:**将代码编译为可执行格式。Copy
- **创建一个
.env
文件:**此文件存储敏感信息,例如您的 SAP 凭据。确保此文件的安全至关重要。- 在根目录中,创建一个名为
.env
(无扩展名)的新文件。 - 在文本编辑器(如记事本、VS Code 等)中打开
.env
文件。 - 添加以下行,用您的实际 SAP 系统信息替换占位符:重要提示:如果您的密码包含“#”字符,请确保将您的密码括在引号中!**重要提示:**切勿与任何人共享您的Copy
.env
文件,也不要将其提交到 Git 存储库!
- 在根目录中,创建一个名为
3.运行服务器
公平地说,您通常不会单独“运行”此服务器。它应该集成到 Cline 或 Claude Desktop 等 MCP 客户端中。但您可以通过两种主要方式手动运行该服务器:
- **独立模式:**此模式直接运行服务器,并将消息输出到终端。服务器将启动并等待客户端连接,因此除了查看其是否启动外,服务器可能没有任何作用。
- **开发/调试模式:**此模式使用 MCP 检查器运行服务器。您可以在浏览器中打开它输出的 URL 并开始操作。
3.1 独立模式
要以独立模式运行服务器,请在终端中使用以下命令(从根目录):
您应该会在终端中看到消息,表明服务器正在运行。它将监听来自 MCP 客户端的连接。服务器将持续运行,直到您将其停止(通常使用 Ctrl+C)。
3.2 开发/调试模式(带检查器)
此模式对于调试很有用。
- 以调试模式启动服务器:这将启动服务器并输出如下消息:Copy
🔍 MCP Inspector is up and running at http://localhost:5173 🚀
。这是您将用于在浏览器中打开 MCP 检查器的 URL。
4. 与 Cline 集成
Cline 是一个 VS Code 扩展,它使用 MCP 服务器提供语言支持。以下是如何将此 ABAP 服务器连接到 Cline:
- **安装 Cline:**如果还没有安装,请在 VS Code 中安装“Cline”扩展。
- 打开 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 用户名)。
- **添加服务器配置:**您需要在
cline_mcp_settings.json
文件的servers
数组中添加一个条目。以下是示例:Copy - 测试连接:
- Cline 应该会自动连接到服务器。您将看到服务器出现在“MCP 服务器”面板中(在 Cline 扩展程序中,您会在顶部看到不同的按钮。)
- 要求 Cline 获取程序的源代码,它应该提到 MCP 服务器,并尝试使用相应的工具
5. 故障排除
node -v
或npm -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\ |
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
连接模型上下文协议 (MCP) 与 SAP ABAP 系统的服务器,允许 Cline 等工具检索 ABAP 源代码、表结构和其他开发工件。
- 1. Prerequisites
- 2. Installation and Setup
- 3. Running the Server
- 4. Integrating with Cline
- 5. Troubleshooting
- 6. Available Tools
Related Resources
Related MCP Servers
- AsecurityFlicenseAqualityA Model Context Protocol (MCP) server that provides programmatic access to the Supabase Management API. This server allows AI models and other clients to manage Supabase projects and organizations through a standardized interface.Last updated -88427JavaScript
- -securityFlicense-qualityA Model Context Protocol server built with mcp-framework that allows users to create and manage custom tools for processing data, integrating with the Claude Desktop via CLI.Last updated -484TypeScript
- AsecurityAlicenseAqualityA Model Context Protocol server that facilitates communication between ABAP systems and MCP clients, providing tools for managing ABAP objects, handling transport requests, and performing code analysis to enhance ABAP development workflows.Last updated -1283TypeScriptMIT License
- -securityAlicense-qualityA Model Context Protocol (MCP) server that provides code analysis capabilities using tree-sitter, designed to give Claude intelligent access to codebases with appropriate context management.Last updated -1PythonMIT License